张博
张博
I changed int rc = bind(s, (struct sockaddr *)addr, sizeof(struct sockaddr_in)); to int rc = ::bind(s, (struct sockaddr *)addr, sizeof(struct sockaddr_in)); problem solved.
The project that built by XCode could use high resolution package as well?
一些浅见
首先感谢开源!感谢辛苦的努力! 看了一下代码,提几点建议哈: 1. 线程池效率: 虽然使用了ThreadPoolExecutor,但线程池的效率受限于I/O操作(读取字典和尝试密码),以及Python的全局解释器锁(GIL)。 对于CPU密集型任务,线程池的效率提升有限。建议改用multiprocessing库。 2. crack_password函数每次尝试密码都需要解压压缩包。先检查密码是否正确,再解压。在extractall()前面加上 `zf.testzip() ` 3. 一次性将整个字典文件加载到内存中,对于大型字典文件会消耗巨大的内存。我128G内存都跑到120G了。建议将字典分块读取,可以使用生成器。