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

[原创]DSLS-keyGen

2024-6-14 20:31
6491

DSLS懂得都懂,达索3DE平台许可管理器,以往由SSQ组织破解,但SSQ貌似被达索收编,不再更新。

故而手痒痒,想要挑战一下DSLS,也算给自己整点业余爱好,一路学习了代码混肴、反调试、反虚拟化、加解密等知识,最终得以顺利通关制作出许可注册机。同时,也衍生出了私人武器库如反汇编引擎、动态库劫持库、hook库等,这些库大多是自己重新造的轮子,用的放心用的顺手,对编程的理解和认识有了很大的提升,算是收获颇丰。

原理大家都懂的,替换RSA2048公钥,没办法,大数分解暂时无解,
但如何是替换非常有技巧,3DE平台客户端和服务器内部存储了3个公钥和1个私钥(身份识别)用于通信,4个密钥混合加密存储,牵一发动全身。

如何做到只修改许可公钥而不影响其它密钥,这个需要一定的算法还原功底,终于还是数学扛下了所有。最少修改是2bit修改(不是BYTE),为什么不是1bit,因为1bit会导致其它密钥解密失败。至于为什么没有对公钥做进一步校验,可能的原因是公钥本身就是加密存储的,有一定的安全性,所以给了替换公钥可乘之机。

当然完全绕过DSLS授权验证也是很容易的,在许可请求前hook住许可校验函数(有3处,内部需要xor动态解密),即可完全解除软件限制;但注册机仍是最优雅的方式。

逆向商业软件终归是灰色地带,因此不打算发布或公开相关细节,仅作学习研究用途。开局即结局,此后金盆洗手再也不碰逆向,仅以此贴纪念之。
1f2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6*7L8o6p5J5x3e0u0Q4x3X3c8V1k6i4k6Q4x3V1k6p5f1@1I4e0i4K6u0V1K9$3g2&6c8$3g2F1


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 2567
活跃值: (4183)
能力值: ( LV3,RANK:25 )
在线值:
发帖
回帖
粉丝
2
哈哈哈哈.22年接到一个这个单子,一直不知道这玩意是干啥的,还有人破解哈哈哈
2024-6-15 02:40
0
雪    币: 9113
活跃值: (5969)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不交流 不分享 这个贴不就发的没意义了么
2024-6-15 03:12
1
雪    币: 1628
能力值: ( 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
雪    币: 1773
活跃值: (4892)
能力值: ( LV5,RANK:69 )
在线值:
发帖
回帖
粉丝
5
https://bbs.kanxue.com/thread-281068.htm
新款建议了解一下
2024-6-15 12:00
0
雪    币: 601
活跃值: (1268)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这是个好资源啊 大佬分享下?
2024-6-15 14:13
0
雪    币: 1628
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
7
小菜鸟一 https://bbs.kanxue.com/thread-281068.htm 新款建议了解一下
2024-6-15 17:51
0
雪    币: 1066
活跃值: (1423)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这是个好资源啊 大佬分享下?
2024-6-20 15:12
0
雪    币: 15
活跃值: (350)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
请问大佬能透露一下校验函数的一些信息吗?哪怕一点也行。我最近在研究这个一点头绪都没有,dll太多了不知道哪个才是重要的。
2024-8-8 22:59
0
雪    币: 1628
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
pipixiaosu 请问大佬能透露一下校验函数的一些信息吗?哪怕一点也行。我最近在研究这个一点头绪都没有,dll太多了不知道哪个才是重要的。
3DE对关键模块进行了隐藏保护,先从已知dll使用rsa2048解密出字节序,进行基本的sha校验,然后使用反射式加载到进程中,
ldr断链隐藏,抹除了一些数据。达索这个方法很“黑客”,软件保护无所不用其极。
故而你能看到的dll都不是,常规方法也无法遍历出这个模块。要找到这个关键模块,你需要掌握反射式注入方法,从内存中dump出dll代码段和数据段,进行重定位修复,还原出原始dll。这样才能使用IDA进行分析,找到许可校验函数。
最后即便你找到了这个dll,也要找准hook时机,有很多守护机制交叉保护。
2024-8-9 11:21
2
雪    币: 15
活跃值: (350)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
zlyt 3DE对关键模块进行了隐藏保护,先从已知dll使用rsa2048解密出字节序,进行基本的sha校验,然后使用反射式加载到进程中, ldr断链隐藏,抹除了一些数据。达索这个方法很“黑客”,软件保护无所 ...

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

最后于 2024-12-4 21:54 被pipixiaosu编辑 ,原因:
2024-8-9 16:09
0
雪    币: 15
活跃值: (350)
能力值: ( 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
游客
登录 | 注册 方可回帖
返回