开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 46947|回复: 444
收起左侧

[原创软件] ✅ 加密算法推理工具.exe C++

  [复制链接]

结帖率:90% (9/10)
发表于 2024-9-30 17:53:14 | 显示全部楼层 |阅读模式   重庆市重庆市
软件展示
在线分析报告: https://habo.qq.com/file/showdetail?pk=ADYGY11pB28IPFs6U2oHYQ%3D%3D
本帖最后由 神女软件定制 于 2024-9-30 17:58 编辑

1.jpg

本工具开发耗时近一个月,一直在不停的调优,重构,已经优化到极致效率,正确配置的前提下,所有算法几乎都能毫秒单位算出结果,本工具并非完全免费


当前分发版本为免费版,所有列出算法可用,但是只输出算出的加密算法名称,具体算法参数加密呈现,有偿解密,请悉知,免费版至少可以知道是什么算法名称,以及相关信息是否包含


本工具为高级工具,具体使用请先仔细阅读以下说明:


原理:在进程内存中收集所有字符串,用指定的算法,尝试还原指定加密结果的加密过程
软件整体分为3个步骤:1.dump,2.索引,3.计算




dump:
把指定进程的内存区域,保存到磁盘文件。分为两种dump方式
1.常见的直接dump,根据指定的进程id,直接对目标进程dump,这种方式需要原文和key常驻在内存中,如果原文和key是局部变量,那么它在函数执行完就会释放了
2.监测到指定的请求后dump(匹配请求后dump),大部分的需要还原加密的场景,都是post/get参数,所以在匹配到对应的请求之后立即dump,正是时候
软件内置了http抓包(特别鸣谢sunny@秦天),可以由用户手动开启,并选择是否设置系统代理,或对指定的进程代理(进程代理
并且可以由用户指定一个正则表达式(正则匹配),捕获到https请求时,会拼接字符串$"{ url }\r\n{ headers }\r\n{ postdata }",然后搜索指定的正则表达式,如果成功匹配,就对相关进程dump
这里的“相关进程”,可以是发起https请求的进程(请求发起进程),也可以是发起请求的相关进程(子进程和兄弟进程)(请求发起进程及相关进程),还可以是指定具体进程id的进程(指定进程
这么设计以应对多种环境,比如浏览器,它的网络进程负责网络请求,但是真正的计算得出密文的进程是引擎进程


前面提到的正则表达式,可以包含分组,你可以把具体的密文信息匹配到分组里,这个后面很有用
dump时挂起进程,防止在dump的时候,变量释放了
最小化内存dump,只dump目标进程的可读可写内存区域





索引:

在指定dump文件中,分析采集所有字符串
因为dump时可能dump了不止一个文件,所以索引可以对多个文件进行,但是这么多文件,大概率只有一个是我们真正需要的,所以需要想办法把它过滤出来,至少排除一些无关的
所以设置了dump文件必须包含以下参数,会对所有dump文件扫描,只有dump文件内容中包含所有指定的字符串,才会保留下来
参数可以使用变量$url,表示请求时的url,如果是直接dump的文件,会提示无效变量,将会忽略
默认配置中,指定了“--type=renderer”参数,这是edge的js引擎进程一定包含的内容,对于其他环境,请删除


正确配置状态最终会保留1-3个dump文件,如果太多,那么就是没有设置好过滤参数,会照成计算量浪费
只分析读写堆内存,可选缩小分析区域
分析模式1:对于浏览器,和模拟器环境,这种有虚拟机的,使用这个模式

分析模式2:对于原生软件(易语言),使用这个模式
长度过滤:可选对分析出来的字符串,根据长度过滤排除一些大概率不需要的,里面会有大量1字节、2字节长、……的小字符串,这种大概率不是我们需要的,并且占比还很大,可以选择直接过滤掉
限定ascii:可选限定仅包含有效的ascii字符,完全排除gbk,utf8,因为基本都是ascii,并且ascii大概率可以认为就是有效字符串,其他的可能是其他杂乱内存数据被收集了
剔除重复:可选对分析出来的字符串去重处理,80W也要不了几十毫秒,建议勾选,对于hash算法,意义不大,但是对于hmac和加密算法,能减少很多



推理/计算:

根据索引处理好的所有字符串,指定的算法,和指定的密文,尝试还原加密过程
因为索引了可能不止一个文件,所以计算可以对多个索引信息信息,他们是相对独立的(不可能拿索引1中的原文和去索引2的key配对)

首先要勾选算法,你猜测可能是什么算法,就勾选什么,也可以全部勾选,软件有这个处理能力!内部当然有各种优化,比如,你密文16个字节长,那么肯定不会是一个sha256,这是一个聪明的软件
你需要指定密文,可以是hex或base64格式,自动识别,也可以使用变量:$1,$2,$3...,这个$number就是通过匹配请求后dump时,指定的正则表达式里的分组,$1表示第一个分组,$2是第二个,...
原文包含:可选,你大概率是知道原文可能包含什么内容的,对于hash算法,如果有时间戳参数,常见的会包含时间戳,对于加密算法,如果是表单,大概率会包含你输入进去的内容
也可以使用变量,为了减少计算量,建议提供本参数,提供本参数可以减少大量计算任务

可用变量有:$url,$0(表示整个正则表达式匹配的全部内容),$1(表示正则第一个分组),$2(表示正则第二个分组),...,如果没有对应的分组,或者是直接dump的,$url也没有,会提示没有对应的变量,对于“dump文件必须包含”和“原文包含”,如果没有对于变量,会忽略,对于“密文”,如果指定了不存在的变量,会失败无法进行

对于hash算法,有用的使用方式是在dump时正则表达式中,把密文和时间戳参数,分别放到两个分组中,“密文”和“原文包含”,使用变量$1和$2来指定

KEY长度:对于hash算法,忽略本参数。对于加密算法,这个同时指定key和iv(如有)的长度范围,可以指定:

不限长度(这不是真的不限,在对应算法可用key和iv(如有)范围内,不限)

算法对应常用长度(各种算法有自己的key长度范围,hmac 0-无限长,aes-128-cbc 0-16位,rc4 0-256位,但是key短了加密没有什么意义,软件内部决断了一些常用的长度范围,比如aes-128-cbc,假定常用为8-16位)
算法对应最大长度(假定对应算法为了提高安全性,用了算法可用的最大长度字符串作为key)
指定长度(用户指定一个长度范围,软件在这个范围内计算,当然不是真的在这个范围全部计算,如果指定超过了算法key最大长度,肯定不会是有效目标,我说了这是一个聪明的软件)




可以指定线程数,对于索引和计算,需要密集计算的地方都会使用多线程,可以指定最大线程数,初始值为cpu核心数

软件提供4个配置文件,方便应对不同环境的切换配置参数

dump和索引区域都有完成后自动下一步,如果勾选,对应步骤完成,且成功,会自动进行下一个步骤,这个需要提前配置好所有参数,一键完成整个流程
每一个参数配置都很重要,建议仔细阅读,理解每个参数的含义

另外附件提供了一个html文件,浏览器打开可以模拟计算各种加密然后提交请求,正确配置下,上面点击所有按钮,对应的算法都能被解密出来(md2和hmacmd2除外) 2.jpg
比如我以默认配置点击匹配请求后dump,然后在浏览器页面上点击3des: 3des.jpg
详细日志为:
[Plain Text] 纯文本查看 复制代码
21:32.502: 已设置系统代理
21:32.505: ╔—— 已开启抓包,端口:8889 ——╗
21:40.258: GET https://www.baidu.com/img/flexib...
21:40.263: 匹配到:[GET ?sign=gzzOxd5qBOrZIYuQpG1G1CrzwUl19hoNSi4s/U/DkpFLIk9vFIG0xHNB0U63EdhT53VmjJF1JC1CSHIEBY9FNKEATrgOIyAX7F8KgRm194ejKpeNhp/97Jjr2ralhpJR9rKNxGCWmjnzRobWHzb+R0qyrj8jg5ngjkGAbfa/1qK4IP8YGqv9EDv8YARbAhcKGbCXa6MPoEcpIYCnaWzSWhfb7OZLTa1euoHLlF8Duxz7WvX+nGQkcg==&t=1727688100091&1727688100093
Accept: */*
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Connection: keep-alive
Host: www.baidu.com
Origin: null
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0
sec-ch-ua: "Microsoft Edge";v="129", "Not=A?Brand";v="8", "Chromium";v="129"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"


]
21:41.122: 已Dump进程:17072 Dump文件0.dmp
21:41.127: 已Dump进程:2724 Dump文件6.dmp
21:41.130: 已Dump进程:7848 Dump文件9.dmp
21:41.134: 已Dump进程:17328 Dump文件3.dmp
21:41.139: 已Dump进程:17264 Dump文件2.dmp
21:41.151: 已Dump进程:18364 Dump文件8.dmp
21:41.157: 已Dump进程:9808 Dump文件5.dmp
21:41.188: 已Dump进程:10552 Dump文件4.dmp
21:41.328: 已Dump进程:4440 Dump文件7.dmp
21:41.341: 已Dump进程:17252 Dump文件1.dmp
21:41.392: ╚—— 已停止抓包 ——╝
21:41.417: ╔—— 开始构建索引 ——╗
21:41.538: 已映射:Dump文件8.dmp 大小:27707722
21:41.570: 分析完成
21:41.576: 去重完成
21:41.586: 索引完成
21:41.598: 已映射:Dump文件5.dmp 大小:29711314
21:41.618: 分析完成
21:41.623: 去重完成
21:41.636: 索引完成
21:41.640: 已映射:Dump文件7.dmp 大小:218373444
21:41.680: 分析完成
21:41.687: 去重完成
21:41.700: 索引完成
21:41.704: ╚—— 构建索引完成,整体耗时:281 ——╝
21:41.759: ╔—— 开始计算 ——╗
21:41.767: 计算MD4
21:41.783: 计算MD5
21:41.796: 计算SHA-1
21:41.800: 计算SHA-224
21:41.813: 计算SHA-256
21:41.820: 计算SHA-384
21:41.832: 计算SHA-512
21:41.837: 计算HMAC-MD4
21:41.851: 计算HMAC-MD5
21:41.857: 计算HMAC-SHA1
21:41.864: 计算HMAC-SHA224
21:41.879: 计算HMAC-SHA256
21:41.884: 计算HMAC-SHA384
21:41.897: 计算HMAC-SHA512
21:41.903: 计算CRC32
21:41.915: 计算AES-CBC
21:41.924: 计算AES-ECB
21:41.932: 计算AES-CFB
21:41.938: 计算AES192-CBC
21:41.948: 计算AES192-ECB
21:41.953: 计算AES192-CFB
21:41.964: 计算AES256-CBC
21:41.973: 计算AES256-ECB
21:41.983: 计算AES256-CFB
21:41.987: 计算DES-CBC
21:41.998: 计算DES-ECB
21:42.003: 计算DES-CFB
21:42.012: 计算3DES-CBC
21:42.017: 3DES-CBC:51BF5...
21:42.031: ╚—— 计算完成,整体耗时:265 ——╝





我一直在强调这是一个聪明的软件,内部有很多优化技巧,比如尽可能少的计算来测试是否匹配,但是用户的正确配置同样重要
后续优化计划:不依赖openssl,自行实现算法,因为我们不是以完全加解密为目的,我们只需要尽快的知道,是不是匹配就行了(这又是一个艰巨的任务)

肝了近一个月的产品,初代早就弄出来了,但是后面一直调优重构,希望多多支持
再次鸣谢:Sunny@秦天


软件内置了openssl,依赖Sunny64.dll实现抓取https流量
软件下载:
https://wwej.lanzn.com/ikv7J2b8px9e

配套测试易语言和html文件:
测试工具.zip (287.63 KB, 下载次数: 262, 售价: 2 枚 精币)

点评

测试在edge下进行,应该基于chromium都可以,刚刚测试firefox,好像firefox内存管理有点问题,竟然出现长短不同字符串,分别在不同的进程   重庆市重庆市  发表于 2024-9-30 20:38

评分

参与人数 32好评 +3 精币 +38 收起 理由
beatone + 1 支持开源~!感谢分享
wzp1995 + 1 感谢分享,很给力!~
vcx + 1 感谢分享,很给力!~
yxeup56q + 1 感谢分享,很给力!~
3266167 + 1 感谢分享,很给力!~
guojiaobin + 1 感谢分享,很给力!~
mandxy + 1 感谢分享,很给力!~
jc520hll + 1 感谢分享,很给力!~
Zźh926 + 1 感谢分享,很给力!~
huangdi956 + 1 感谢分享,很给力!~
坤坤大魔王 + 1 感谢分享,很给力!~
jing3 + 1 感谢分享,很给力!~
种植 + 1 感谢分享,很给力!~
xhping + 1 感谢分享,很给力!~
罗大大 + 1 感谢分享,很给力!~
t176 + 1 感谢分享,很给力!~
huangdi9569 + 1 感谢分享,很给力!~
zjbin1989 + 1 感谢分享,很给力!~
bear22 + 1 感谢分享,很给力!~
文西哥 + 1 感谢分享,很给力!~
booms + 1 感谢分享,很给力!~
望尘莫及 + 1 感谢分享,很给力!~
扶南 + 1 感谢分享,很给力!~
YzZA + 1 感谢分享,很给力!~
风雨3137 + 1 感谢分享,很给力!~
南黎 + 1 感谢分享,很给力!~
qiyuer + 1 感谢分享,很给力!~
浮梦 + 1 感谢分享,很给力!~
ewake + 1 感谢分享,很给力!~
山川 + 1 + 2 适配一下高分屏,显示不全
HEZ小白 + 1 + 2 感谢分享,很给力!~
秦天 + 1 + 5 很赞同,谢谢!

查看全部评分


--------------------------优秀帖点我申请--------------------------
违规软件信息请点击帖子右下角举报按钮。

本帖被以下淘专辑推荐:

结帖率:38% (3/8)

签到天数: 9 天

发表于 1 小时前 | 显示全部楼层   广西壮族自治区南宁市
看看隐藏
回复 支持 反对

使用道具 举报

结帖率:90% (9/10)

签到天数: 22 天

 楼主| 发表于 昨天 20:28 | 显示全部楼层   重庆市重庆市
怎么帖子沉了
回复 支持 反对

使用道具 举报

签到天数: 13 天

发表于 2024-11-4 14:54:23 | 显示全部楼层   广东省茂名市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 10 天

发表于 2024-11-4 00:17:51 | 显示全部楼层   云南省昆明市
好东西。感谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (10/10)

签到天数: 21 天

发表于 2024-10-30 14:30:15 | 显示全部楼层   浙江省嘉兴市
这个有点强大哦
回复 支持 反对

使用道具 举报

结帖率:83% (5/6)
发表于 2024-10-30 14:04:15 | 显示全部楼层   广西壮族自治区南宁市

感谢楼主!
回复 支持 反对

使用道具 举报

结帖率:95% (19/20)

签到天数: 13 天

发表于 2024-10-30 13:00:06 | 显示全部楼层   安徽省亳州市
感谢楼主!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

结帖率:33% (1/3)

签到天数: 5 天

发表于 2024-10-30 12:36:57 | 显示全部楼层   广东省中山市
weqweqweqwewe'q'e
回复 支持 反对

使用道具 举报

签到天数: 21 天

发表于 2024-10-30 11:30:15 | 显示全部楼层   山东省济南市
支持哈支持哈支持哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表