DSLS懂得都懂,达索3DE平台许可管理器,以往由SSQ组织破解,但SSQ貌似被达索收编,不再更新。
故而手痒痒,想要挑战一下DSLS,也算给自己整点业余爱好,一路学习了代码混肴、反调试、反虚拟化、加解密等知识,最终得以顺利通关制作出许可注册机。同时,也衍生出了私人武器库如反汇编引擎、动态库劫持库、hook库等,这些库大多是自己重新造的轮子,用的放心用的顺手,对编程的理解和认识有了很大的提升,算是收获颇丰。
原理大家都懂的,替换RSA2048公钥,没办法,大数分解暂时无解,但如何是替换非常有技巧,3DE平台客户端和服务器内部存储了3个公钥和1个私钥(身份识别)用于通信,4个密钥混合加密存储,牵一发动全身。
如何做到只修改许可公钥而不影响其它密钥,这个需要一定的算法还原功底,终于还是数学扛下了所有。最少修改是2bit修改(不是BYTE),为什么不是1bit,因为1bit会导致其它密钥解密失败。至于为什么没有对公钥做进一步校验,可能的原因是公钥本身就是加密存储的,有一定的安全性,所以给了替换公钥可乘之机。
当然完全绕过DSLS授权验证也是很容易的,在许可请求前hook住许可校验函数(有3处,内部需要xor动态解密),即可完全解除软件限制;但注册机仍是最优雅的方式。
逆向商业软件终归是灰色地带,因此不打算发布或公开相关细节,仅作学习研究用途。开局即结局,此后金盆洗手再也不碰逆向,仅以此贴纪念之。d84K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6*7L8o6p5J5x3e0u0Q4x3X3c8V1k6i4k6Q4x3V1k6p5f1@1I4e0i4K6u0V1K9$3g2&6c8$3g2F1
冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。
小菜鸟一 https://bbs.kanxue.com/thread-281068.htm 新款建议了解一下
pipixiaosu 请问大佬能透露一下校验函数的一些信息吗?哪怕一点也行。我最近在研究这个一点头绪都没有,dll太多了不知道哪个才是重要的。
zlyt 3DE对关键模块进行了隐藏保护,先从已知dll使用rsa2048解密出字节序,进行基本的sha校验,然后使用反射式加载到进程中, ldr断链隐藏,抹除了一些数据。达索这个方法很“黑客”,软件保护无所 ...
我目前都是用x64dbg在动态调试