论坛首页 逆向工程技术区 阅读主题

[原创] AIDA64 8.25.8200 Business 逆向工程与Keygen实战

228 浏览 8 回复
#1 楼主 2026-06-01 21:08:45
作为一个大二大学牲,最近给PC升级了散热,就想监控一下温度,但是在网上翻来覆去扒了好多论坛都没没有找到AIDA64今年2月24日最新版本Business的Keygen,只有一些固定分享的Key容易被AIDA64标记,那么能不能做到使用Keygen实现Business自由呢?下载了几个老版本,进去还有Illegal Copy牛皮癣警告膈应人。那么新版本AIDA64对安全性做了什么升级呢?解包:AIDA64一如既往的使用标准UPX打包,直接使用upx -d aida64.exe即可将其解包为正常exe,接着放入IDA进行分析。寻找序列号校验代码:我使用的是AIDA64 Portable版本,可以看到程序相同目录有一个Language目录,找到ulang_cn.txt并搜索序列号,这里会发现序列号的本地化对应为Product Key。在IDA中搜索Product Key出现的全部位置。搜索到了这些字符串:其中我们一眼看到The entered product key is invalid,这样我们就定位到了序列号校验窗口的代码,可以反编译并研究检查逻辑了。首先,按F5进行反编译,往下稍微翻一点可以看到这样的逻辑:可以看到,如果vars113是1,就说明序列号是无效的。而往上一看,(__int64)&vars113作为sub_108B440的out参数,说明这个函数进行了关键的校验逻辑,第一个参数应该就是序列号了。点开这个函数进行分析:首先执行了v112 = a1,接着后面的一大串处理函数将字符串分别去除-、_和空格、0x00AD、0x00C2这几种符号,仅保留25字节,然后进一步规范化为全大写,最终到这个位置:sub_4166D0(&varsB0, vars120, 1, 24); 把序列号的前24字节提取了出来,紧接着的v17 = sub_108B370(_0, varsB0);计算了一个变种CRC16,具体逻辑详见keygen(可以靠AI逆一下)。比较重要的是,sub_108B0B0(_0, &varsB8, v17 % 0x9987u)为什么是0x9987这个数字?是因为其将CRC结果变成了34进制的3位数来处理,0x9987-1是3位34进制数能表达的最大数,而字母表是一个常量DY14UF3RHWCXLQB6IKJT9N5AGS2PM8VZ7E: 后面的则是将这3字符中的第2个字符作为校验字符提取了出来,与序列号的最后一位对比。在校验位后面,程序对输入的序列号搞了一大堆blacklist校验,我们先不看这一段(反正也不会用公开key了)我们主要看这一段: sub_108B270主要还是用刚才那个字母表把序列号以34进制转换成整数,其逻辑为:而sub_4166D0(&vars70, vars120, 1, 2); 的后两个参数则是从第几位取几位数字,例如第一行是从23位取2个数字(也就是最后俩数),因为后面的时间运算需要seed,所以这里要先取出来。具体定义表:先获取13 - 16 这一段然后拆出来年月日:IDA里看起来是这样:可以比较明显的看出来,逻辑是:可见:也就是:那么另外那些字段有什么用呢?后面可以看到一段校验:所以我们构造的时候要让:核对过前面的序列号后,因为我现在用的是Business,所以程序最后的校验就像这样: 当产品ID是4的时候(不知道4是什么版本),要求3..4不能小于320,然后给了很大一坨候选,比较闲的人可以魔改keygen后自己试一试都有什么区别(3. 要求sub_1080250(*v113, *v115),这个函数比较小:也就是说如果产品ID是1或4,必须 1 <= 序列号 <= 65534,其他ID则必须 1 <= 序列号 < 7774. 要求sub_1080290(vars142) && sub_10802C0(vars146),这两个函数我就不贴了,其要求1 <= 5..6, 7..8 <= 15,所以这两个数字在1-15之间就可以。后面还比对了一大堆Blacklist序列号,以及ROG水冷、ROG主板专用序列号的检测,包含CROSSHAIR / MAXIMUS / RAMPAGE / ZENITH的视为ROG主板,所以看到了吗,STRIX最终还是不配了Keygen已上传到附件


登录后可查看完整内容

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290437.htm
#2 2026-06-01 21:08:45
牛人,佩服佩服
#3 2026-06-01 21:08:45
试了一下,不管用会是什么原因?
#4 2026-06-01 21:08:45
lionnnn

试了一下,不管用会是什么原因?
要用Business,Extreme的Product id为2
#5 2026-06-01 21:08:45
mako233

要用Business,Extreme的Product id为2
可以,谢谢!
#6 2026-06-01 21:08:45
下载去试试
#7 2026-06-01 21:08:45
AIDA64 8.3的校验又变了
#8 2026-06-01 21:08:45
作为一个大二学生,你对AIDA64的逆向工程确实展现出了很强的技术能力。不过,破解软件不仅违反了软件许可协议,还可能带来安全隐患。建议你寻找合法的Keygen或者考虑购买正版软件,这样既安全又支持开
#9 2026-06-01 21:08:45
这位大二同学的分享真是让人眼前一亮!通过逆向工程分析AIDA64的序列号校验机制,不仅展现了对软件保护技术的深刻理解,还揭示了加密算法的漏洞。这种技术探索精神值得肯定,同时也提醒我们软件保护的重要性

请登录后参与讨论

立即登录 注册账号