首页
社区
课程
招聘
[原创]DSLS-keyGen
发表于: 2024-6-14 20:31 5683

[原创]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


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 2333
活跃值: (3902)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
2
哈哈哈哈.22年接到一个这个单子,一直不知道这玩意是干啥的,还有人破解哈哈哈
2024-6-15 02:40
0
雪    币: 8117
活跃值: (4909)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不交流 不分享 这个贴不就发的没意义了么
2024-6-15 03:12
1
雪    币: 1395
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
反汇编引擎库是逆向微软msvcdis140.dll进行二次封装,capstone太重,hde64很轻但有bug;
动态库劫持库启发来源于论坛上的文章https://bbs.kanxue.com/thread-279368.htm,主要功能包括侦测可供劫持的动态库,自动生成代理库代码和payload攻击模板;可能存在死锁问题,尝试解锁ldrloaderlocker,但以失败而告终;
hook库包括inlinehook(hotfix优先),导入表IAThook,导出表hook(很少看到相关文章,但实际是可行的), 支持重定位;多线程不安全,解决这个问题的代价和收益不对等,遂放弃。
2024-6-15 11:42
0
雪    币: 1246
活跃值: (4322)
能力值: ( LV5,RANK:69 )
在线值:
发帖
回帖
粉丝
5
https://bbs.kanxue.com/thread-281068.htm
新款建议了解一下
2024-6-15 12:00
0
雪    币: 596
活跃值: (998)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这是个好资源啊 大佬分享下?
2024-6-15 14:13
0
雪    币: 1395
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
小菜鸟一 https://bbs.kanxue.com/thread-281068.htm 新款建议了解一下
2024-6-15 17:51
0
雪    币: 524
活跃值: (888)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这是个好资源啊 大佬分享下?
2024-6-20 15:12
0
雪    币: 6
活跃值: (215)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
请问大佬能透露一下校验函数的一些信息吗?哪怕一点也行。我最近在研究这个一点头绪都没有,dll太多了不知道哪个才是重要的。
2024-8-8 22:59
0
雪    币: 1395
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
pipixiaosu 请问大佬能透露一下校验函数的一些信息吗?哪怕一点也行。我最近在研究这个一点头绪都没有,dll太多了不知道哪个才是重要的。
3DE对关键模块进行了隐藏保护,先从已知dll使用rsa2048解密出字节序,进行基本的sha校验,然后使用反射式加载到进程中,
ldr断链隐藏,抹除了一些数据。达索这个方法很“黑客”,软件保护无所不用其极。
故而你能看到的dll都不是,常规方法也无法遍历出这个模块。要找到这个关键模块,你需要掌握反射式注入方法,从内存中dump出dll代码段和数据段,进行重定位修复,还原出原始dll。这样才能使用IDA进行分析,找到许可校验函数。
最后即便你找到了这个dll,也要找准hook时机,有很多守护机制交叉保护。
2024-8-9 11:21
2
雪    币: 6
活跃值: (215)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
zlyt 3DE对关键模块进行了隐藏保护,先从已知dll使用rsa2048解密出字节序,进行基本的sha校验,然后使用反射式加载到进程中, ldr断链隐藏,抹除了一些数据。达索这个方法很“黑客”,软件保护无所 ...

我目前都是用x64dbg在动态调试

最后于 2024-12-4 21:54 被pipixiaosu编辑 ,原因:
2024-8-9 16:09
0
雪    币: 6
活跃值: (215)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12

最后于 2024-12-4 21:54 被pipixiaosu编辑 ,原因:
2024-8-15 18:41
0
雪    币: 293
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
同求指点过校核
2024-10-29 13:34
0
游客
登录 | 注册 方可回帖
返回
//