解除微信只读并持续监听解除只读

查看 129|回复 10
作者:bean0283   
修改自论坛作者@永恒陌 链接解除微信接收文件只读并持续监听解除只读 - 『编程语言区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
原作者的代码对自定义过保存路径的微信,无法正确获取位置,同时每次启动都会执行一次全文件解除只读操作,我做了稍稍修改和打包成成品,并设置了开机自启,可以手动取消


image.png (22.4 KB, 下载次数: 0)
下载附件
2023-4-26 15:41 上传



image.png (18.87 KB, 下载次数: 0)
下载附件
2023-4-26 15:42 上传

[Python] 纯文本查看 复制代码import os
import time
import json
import winreg
import configparser
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
# 获取程序绝对路径
#APP_PATH = os.path.abspath(__file__)
APP_PATH = os.path.abspath(sys.argv[0])
DIR_PATH = os.path.dirname(APP_PATH)
#print(APP_PATH)
# 读取配置文件
config = configparser.ConfigParser()
config_path = DIR_PATH+'\config.ini'
config.read(config_path)

# 获取用户文档路径
import winreg

# 定义 Documents 文件夹的注册表键路径
#documents_folder_key_path = r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
# 定义 FileSavePath 文件夹的注册表键路径
documents_folder_key_path = r"Software\Tencent\WeChat"

# 打开 Documents 文件夹的注册表键
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, documents_folder_key_path) as key:
    # 读取 Documents 文件夹的值
    user_documents_path, _ = winreg.QueryValueEx(key, "FileSavePath")
if user_documents_path == "MyDocument:":
   
    # 定义 Documents 文件夹的注册表键路径
    documents_folder_key_path = r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"
    # 打开 Documents 文件夹的注册表键
    with winreg.OpenKey(winreg.HKEY_CURRENT_USER, documents_folder_key_path) as key:
        # 读取 Documents 文件夹的值
        user_documents_path, _ = winreg.QueryValueEx(key, "Personal")
   
user_documents_path = user_documents_path + "\\WeChat Files"
# 输出 Documents 文件夹的位置
print("微信保存文件夹位置:", user_documents_path)

# 获取子文件夹下所有以 "wxid" 开头的文件夹中的 "FileStorage\File" 文件夹
parent_folder = user_documents_path  # 根据需求设置父文件夹路径
target_folders = []
for dirpath, dirnames, filenames in os.walk(parent_folder):
    for dirname in dirnames:
        if dirname.startswith('wxid') :
            target_folder = os.path.join(dirpath, dirname, 'FileStorage\\File')
            if os.path.exists(target_folder):
                target_folders.append(target_folder)
print('目标文件夹列表:', target_folders)
# 加载已处理过的文件列表
processed_files = {}
json_path = DIR_PATH+'\processed_files.json'
if os.path.exists(json_path):
    with open(json_path, 'r') as f:
        processed_files = json.load(f)
# 解除目标文件夹及其子文件夹下所有文件的只读状态
for target_folder in target_folders:
    for dirpath, dirnames, filenames in os.walk(target_folder):
        for filename in filenames:
            file_path = os.path.join(dirpath, filename)
            if file_path in processed_files and processed_files[file_path]:
                continue
            os.chmod(file_path, 0o777)  # 解除文件只读状态
            processed_files[file_path] = True  # 标记文件已处理
            print('解除只读状态:', file_path)

# 保存已处理过的文件列表
try:
    with open(json_path, 'w') as f:
        json.dump(processed_files, f)
except Exception as e:
    print("写入失败:", e)
  
# 监听目标文件夹及其子文件夹下新增文件,并解除只读状态
class FileEventHandler(FileSystemEventHandler):
    def on_moved(self, event):
        if event.is_directory:
            return
        time.sleep(0.1)
        file_path = event.dest_path
        if file_path in processed_files and processed_files[file_path]:
            return
        os.chmod(file_path, 0o777)  # 解除新增文件的只读状态
        print('解除新增文件只读状态:', file_path)

event_handler = FileEventHandler()
observer = Observer()
for target_folder in target_folders:
    observer.schedule(event_handler, path=target_folder, recursive=True)
observer.start()
print('开始监听文件夹...')
def remove_from_startup():
    key_path = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
    with winreg.OpenKey(winreg.HKEY_CURRENT_USER, key_path, 0, winreg.KEY_ALL_ACCESS) as key:
        try:
            winreg.DeleteValue(key, "ChatGPT")
            print("已取消开机自启")
        except FileNotFoundError:
            print("未设置开机自启,不需取消")
            
# 设置开机自启
if config.getboolean('AUTO_STARTUP', 'enabled'):
    key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, winreg.KEY_ALL_ACCESS)
    winreg.SetValueEx(key, "ChatGPT", 0, winreg.REG_SZ, APP_PATH)
    winreg.CloseKey(key)
    print('已设置开机自启,若要取消,修改config.ini内的true为false')
else:
    remove_from_startup()
    print('已取消开机自启,若要设置开机自启,修改config.ini内的false为true')

# 程序保持运行状态,等待事件的发生
try:
    while observer.is_alive():
        observer.join(1)
except KeyboardInterrupt:
    observer.stop()
observer.join()
[color=]注意:直接运行源码需要配置一个config.ini的配置文件,具体可以从成品文件夹内获取,修改里面的true为false则可以取消开机自启
成品下载地址:https://wwyr.lanzoue.com/i2V8f0tzjckb

文件夹, 文件

无敌小儿   


bean0283 发表于 2023-4-26 17:16
打开cmd,把程序拖进去运行,看报了什么错误

Traceback (most recent call last):
  File "消除微信只读.py", line 37, in
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
[20152] Failed to execute script '消除微信只读' due to unhandled exception!
wug2002   

坐沙发,先下载试一下、
wangze3917   

如果能直接出个破解版的电脑微信就更好用了。
dimzy   

用老版本微信就不会只读了
永恒陌   

完美,更好使了
wxs021122   

多谢大佬
lemonliang   


wangze3917 发表于 2023-4-26 16:02
如果能直接出个破解版的电脑微信就更好用了。

你想破解啥?论坛里有个防撤回的
wangze3917   


lemonliang 发表于 2023-4-26 16:15
你想破解啥?论坛里有个防撤回的

我想要个直接就能修改收到文件的 不只读的
lemonliang   


wangze3917 发表于 2023-4-26 16:16
我想要个直接就能修改收到文件的 不只读的

那就传文件不用微信啊
您需要登录后才可以回帖 登录 | 立即注册

返回顶部