Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一些浅见 #11

Open
zhangbo opened this issue Jan 2, 2025 · 4 comments
Open

一些浅见 #11

zhangbo opened this issue Jan 2, 2025 · 4 comments

Comments

@zhangbo
Copy link

zhangbo commented Jan 2, 2025

首先感谢开源!感谢辛苦的努力!

看了一下代码,提几点建议哈:

  1. 线程池效率: 虽然使用了ThreadPoolExecutor,但线程池的效率受限于I/O操作(读取字典和尝试密码),以及Python的全局解释器锁(GIL)。 对于CPU密集型任务,线程池的效率提升有限。建议改用multiprocessing库。
  2. crack_password函数每次尝试密码都需要解压压缩包。先检查密码是否正确,再解压。在extractall()前面加上
    zf.testzip()
  3. 一次性将整个字典文件加载到内存中,对于大型字典文件会消耗巨大的内存。我128G内存都跑到120G了。建议将字典分块读取,可以使用生成器。
@asaotomo
Copy link
Owner

asaotomo commented Jan 4, 2025

非常感谢您的宝贵建议!您的反馈是我们不断改进的动力。我们很高兴地通知您,在今天发布的新版本中,我们已经针对您提出的第2点和第3点建议进行了优化。

关于您提到的多进程问题,我们目前正在进行评估。一旦在后续版本中完成相关改进,我们将及时向您反馈进展。

@rzhy1
Copy link

rzhy1 commented Jan 7, 2025

为什么破解完了自带字典文件后在没找到密码的情况下不继续用纯数字就行破解了,原来的版本没问题啊

@asaotomo
Copy link
Owner

asaotomo commented Jan 7, 2025

您好,这是正常现象。因为我们已优化了破解处理的逻辑。当使用内置字典时,系统将自动进行纯数字破解;而在使用用户自定义字典时,则不再调用纯数字破解。
image

@rzhy1
Copy link

rzhy1 commented Jan 7, 2025

感谢说明
再借这个地方反馈2个问题
1、如果用类似"C:\Users\rzhy\AppData\Local\Programs\Python\Python313\python.exe" "D:\Tools\Proxy\zip_crack\ZipCracker\ZipCracker.py" 1.zip 的方式,总会提示缺失内置字典password_list,必须把这个字典文件放在当前目录才行,如果手动加入这个字典文件,它又不执行纯数字破解了。
2、如果是用winrar生成的zip文件,只能破解“zip传统加密”的,如果不选这个选项而生成zip文件,该程序又没法破解了,会一直执行下去而找不到密码。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants