-
-
[原创]DSLS-keyGen
-
发表于:
2024-6-14 20:31
5683
-
DSLS懂得都懂,达索3DE平台许可管理器,以往由SSQ组织破解,但SSQ貌似被达索收编,不再更新。
故而手痒痒,想要挑战一下DSLS,也算给自己整点业余爱好,一路学习了代码混肴、反调试、反虚拟化、加解密等知识,最终得以顺利通关制作出许可注册机。同时,也衍生出了私人武器库如反汇编引擎、动态库劫持库、hook库等,这些库大多是自己重新造的轮子,用的放心用的顺手,对编程的理解和认识有了很大的提升,算是收获颇丰。
原理大家都懂的,替换RSA2048公钥,没办法,大数分解暂时无解,
但如何是替换非常有技巧,3DE平台客户端和服务器内部存储了3个公钥和1个私钥(身份识别)用于通信,4个密钥混合加密存储,牵一发动全身。
如何做到只修改许可公钥而不影响其它密钥,这个需要一定的算法还原功底,终于还是数学扛下了所有。最少修改是2bit修改(不是BYTE),为什么不是1bit,因为1bit会导致其它密钥解密失败。至于为什么没有对公钥做进一步校验,可能的原因是公钥本身就是加密存储的,有一定的安全性,所以给了替换公钥可乘之机。
当然完全绕过DSLS授权验证也是很容易的,在许可请求前hook住许可校验函数(有3处,内部需要xor动态解密),即可完全解除软件限制;但注册机仍是最优雅的方式。
逆向商业软件终归是灰色地带,因此不打算发布或公开相关细节,仅作学习研究用途。开局即结局,此后金盆洗手再也不碰逆向,仅以此贴纪念之。
https://github.com/zl1212-dev/DSLS-keyGen
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!