ZipCrack
ZipCrack.net7.0-windows.zip
分类: 工具类
最新版本:1.0
更新时间:2023-03-31 21:19:25
文件大小:419.33 KB
官网:https://zodream.cn/
源码:https://github.com/zx648383079/ZoDream.ZipCrack

特别声明,请不要用于非法用途

忘记压缩密码,怎么办?使用 hashcat 找回密码太慢?

一个基于开源项目kimci86/bkcrack开发的Zip解压软件。

介绍

已知加密ZIP中的一个文件,获取其他文件。

本程序参照 kimci86/bkcrack 进行修改,主要使用 WPF 增加了可视化界面。

预览

获取keys成功

文件介绍

项目名 介绍 修改的内容
Dll/CrackerExe 这是 c++ 控制台版,也使用动态链接库dll 使用vs2022进行编译改造
Dll/Cracker 这是 c++ 版动态链接库,方便被c# 使用,c++ 与 c# 代码执行效率有很大差距,所以才有这个项目 增加了导出方法
ICSharpCode.SharpZipLib 这是zip的解压库 因为原版的无法获取压缩文件的数据的开始位置,所以才修改了ZipFile.LocateEntry 的访问权限,找了几个压缩库都不对外提供文件的开始位置
src 这就是NET core WPF的界面
ZoDream.Shared 使用c# 重写了算法,两个版本,包含 c++ dll 的调用,及纯c#版
ZoDream.Tests 测试代码

两个版本功能对比

功能 c++ dll c# dll
根据压缩中文件获取Key
根据文件获取Key × ×
根据字符串获取Key × ×
解压单个文件
解压全部文件
解压Deflated压缩的文件 ×
更改密码 ×
获取密码

实现功能

  1. 基于 CRC32 自动配对压缩文件
  2. 实现获取 internal keys同一个密码的不同压缩包Keys不通用?同一个压缩包同一个密码的keys是一样的
  3. 基于 internal keys 解压全部文件
  4. 支持 Stored, Deflated
  5. 支持 c++ 版和 c# 版功能切换
  6. c++ 版解压文件需要多一步解码单个文件

效率问题

c++ 版的占用内存大概为 40M

c# 版的占用内存大概为 400M

存在问题

  1. 解压某些文件可能有问题,暂时没有解决,其他压缩编码待支持。。。
  2. 不支持windows自带ZIP生成的文件
  3. c# 版密码修复功能不可用,更改zip密码未实现
  4. c++ 不支持直接解码Deflated

生成c++ exe

  1. 属性 > 链接器 > 附加库目录, 添加 dll 生成目录
  2. 属性 > 链接器 > 输入 > 附加依赖项,添加 dll 的 lib 文件名 cracker.lib