首页
社区
课程
招聘
[原创]《逆向分析-使用关键字进行功能破解》
发表于: 2020-12-4 13:58 8873

[原创]《逆向分析-使用关键字进行功能破解》

2020-12-4 13:58
8873

只是学习交流讨论,切勿其它用途。

此次分享以实际案例进行讲解,涉及:

Windows 的开源二进制调试器,用于恶意软件分析和对没有源代码的可执行文件进行反向工程。

WinHex 本质上是一个通用十六进制编辑器。专为最低级别的数据处理而设计,作为计算机系统犯罪学(取证)调查的多功能工具,用于数据恢复和 IT 安全 - 在日常使用和紧急情况中。

KeyMake是一款功能强大的注册机编写器,该软件采用汇编模板为核心,可方便用户省去复杂的指令算法,从而快速制作出所需的注册机!

Ollydbg是一款专业的反汇编调试工具,主要用于一些应用程序的编译操作,软件最擅长分析函数过程、循环语句、API调用、函数中参数的数目和import表等等

此节讲解如何通过修改汇编代码来跳过程序验证部分(俗称打补丁)的形式来过掉程序的最终校验

思路:在软件运行时监测内存数据,查询是否有敏感或可利用信息
所用工具:Winhex

在关键判断("注册码正确,感谢你的注册!")处发现EDX存在正确的注册码与所输入的注册码进行对比,导致正确的注册码泄露,根据这一特点读取EDX数据,利用软件自身算码机制计算出正确的注册码并调取使用
所用工具:x64dbg、keymaker2

所用工具:x64dbg、od、winhex

因删除文件使用的是DeleteFile函数,使用OD分析函数进行分析
图片描述

图片描述

发现有两次引用该删除功能
图片描述

请见附件
备注:PPT细节展示不是很多

00510465 | 74 1A                    | je jzyq.510481                          |
00510467 | 8D95 70FFFFFF            | lea edx,dword ptr ss:[ebp-90]           |
0051046D | 8B83 10030000            | mov eax,dword ptr ds:[ebx+310]          |
00510473 | E8 B80BF3FF              | call jzyq.441030                        |
00510478 | 83BD 70FFFFFF 00         | cmp dword ptr ss:[ebp-90],0             |
0051047F | 75 0F                    | jne jzyq.510490                         |
00510481 | B8 A4065100              | mov eax,jzyq.5106A4                     | 5106A4:"注册信息没有填写齐全
00510465 | 74 1A                    | je jzyq.510481                          |
00510467 | 8D95 70FFFFFF            | lea edx,dword ptr ss:[ebp-90]           |
0051046D | 8B83 10030000            | mov eax,dword ptr ds:[ebx+310]          |
00510473 | E8 B80BF3FF              | call jzyq.441030                        |
00510478 | 83BD 70FFFFFF 00         | cmp dword ptr ss:[ebp-90],0             |
0051047F | 75 0F                    | jne jzyq.510490                         |
00510481 | B8 A4065100              | mov eax,jzyq.5106A4                     | 5106A4:"注册信息没有填写齐全
00510543 | 0F85 A3000000            | jne jzyq.5105EC                         |
00510549 | B8 D0065100              | mov eax,jzyq.5106D0                     | 5106D0:"注册码正确,感谢你的注册!"
00510543 | 0F85 A3000000            | jne jzyq.5105EC                         |
00510549 | B8 D0065100              | mov eax,jzyq.5106D0                     | 5106D0:"注册码正确,感谢你的注册!"
点击工具—打开RAM内存—选择要查询的程序(jzyq)程序,字符串搜索(快捷键:Ctrl + F):china123study,开始未找到重点,F3继续查找看到关键点:036j5u499~f6242!,测试重新注册提示注册成功
得出如下正确注册信息
订单号:112233
注册码:036j5u499~f6242!
总结:程序根据输入的订单号在算出正确的注册码,并于输入的注册码进行对比相等提示注册成功反之注册失败
点击工具—打开RAM内存—选择要查询的程序(jzyq)程序,字符串搜索(快捷键:Ctrl + F):china123study,开始未找到重点,F3继续查找看到关键点:036j5u499~f6242!,测试重新注册提示注册成功
得出如下正确注册信息
订单号:112233
注册码:036j5u499~f6242!
总结:程序根据输入的订单号在算出正确的注册码,并于输入的注册码进行对比相等提示注册成功反之注册失败
0051053E | E8 D546EFFF              | call jzyq.404C18
0051053E | E8 D546EFFF              | call jzyq.404C18
0040959B  |.  E8 9CDAFFFF   CALL    <JMP.&kernel32.DeleteFileA>      ; \DeleteFileA
0040959B  |.  E8 9CDAFFFF   CALL    <JMP.&kernel32.DeleteFileA>      ; \DeleteFileA
00409590  /53            PUSH    EBX
00409591  |.  8BD8          MOV     EBX, EAX
00409593  |.  8BC3          MOV     EAX, EBX
00409595  |.  E8 32B7FFFF   CALL    jzyq.00404CCC
0040959A  |.  50            PUSH    EAX                              ; /FileName
0040959B  |.  E8 9CDAFFFF   CALL    <JMP.&kernel32.DeleteFileA>      ; \DeleteFileA
004095A0  |.  83F8 01       CMP     EAX, 0x1
004095A3  |.  1BC0          SBB     EAX, EAX
004095A5  |.  40            INC     EAX
004095A6  |.  5B            POP     EBX
004095A7  \.  C3            RETN
00409590  /53            PUSH    EBX
00409591  |.  8BD8          MOV     EBX, EAX
00409593  |.  8BC3          MOV     EAX, EBX
00409595  |.  E8 32B7FFFF   CALL    jzyq.00404CCC
0040959A  |.  50            PUSH    EAX                              ; /FileName
0040959B  |.  E8 9CDAFFFF   CALL    <JMP.&kernel32.DeleteFileA>      ; \DeleteFileA
004095A0  |.  83F8 01       CMP     EAX, 0x1
004095A3  |.  1BC0          SBB     EAX, EAX
004095A5  |.  40            INC     EAX
004095A6  |.  5B            POP     EBX
004095A7  \.  C3            RETN
004B01C2  |.  E8 C993F5FF    CALL    jzyq.00409590
004B01C2  |.  E8 C993F5FF    CALL    jzyq.00409590
005181EB  |.  E8 A013EFFF    CALL    jzyq.00409590
005181EB  |.  E8 A013EFFF    CALL    jzyq.00409590
005181CE  |.  3D D0D61C00    CMP     EAX, 0x1CD6D0
005181CE  |.  3D D0D61C00    CMP     EAX, 0x1CD6D0
1
2
3
4
5
6
7
00510465 | 74 1A                    | je jzyq.510481                          |
00510467 | 8D95 70FFFFFF            | lea edx,dword ptr ss:[ebp-90]           |
0051046D | 8B83 10030000            | mov eax,dword ptr ds:[ebx+310]          |
00510473 | E8 B80BF3FF              | call jzyq.441030                        |
00510478 | 83BD 70FFFFFF 00         | cmp dword ptr ss:[ebp-90],0             |
0051047F | 75 0F                    | jne jzyq.510490                         |
00510481 | B8 A4065100              | mov eax,jzyq.5106A4                     | 5106A4:"注册信息没有填写齐全
1
2
00510543 | 0F85 A3000000            | jne jzyq.5105EC                         |
00510549 | B8 D0065100              | mov eax,jzyq.5106D0                     | 5106D0:"注册码正确,感谢你的注册!"
1
2
3
4
5
点击工具—打开RAM内存—选择要查询的程序(jzyq)程序,字符串搜索(快捷键:Ctrl + F):china123study,开始未找到重点,F3继续查找看到关键点:036j5u499~f6242!,测试重新注册提示注册成功
得出如下正确注册信息
订单号:112233
注册码:036j5u499~f6242!
总结:程序根据输入的订单号在算出正确的注册码,并于输入的注册码进行对比相等提示注册成功反之注册失败
1
0051053E | E8 D546EFFF              | call jzyq.404C18
1
0040959B  |.  E8 9CDAFFFF   CALL    <JMP.&kernel32.DeleteFileA>      ; \DeleteFileA
1
2
3
4
5
6
7
8
9
10
11
00409590  /53            PUSH    EBX
00409591  |.  8BD8          MOV     EBX, EAX
00409593  |.  8BC3          MOV     EAX, EBX
00409595  |.  E8 32B7FFFF   CALL    jzyq.00404CCC
0040959A  |.  50            PUSH    EAX                              ; /FileName
0040959B  |.  E8 9CDAFFFF   CALL    <JMP.&kernel32.DeleteFileA>      ; \DeleteFileA
004095A0  |.  83F8 01       CMP     EAX, 0x1
004095A3  |.  1BC0          SBB     EAX, EAX
004095A5  |.  40            INC     EAX
004095A6  |.  5B            POP     EBX
004095A7  \.  C3            RETN
1
004B01C2  |.  E8 C993F5FF    CALL    jzyq.00409590
1
005181EB  |.  E8 A013EFFF    CALL    jzyq.00409590
1
005181CE  |.  3D D0D61C00    CMP     EAX, 0x1CD6D0
  • 暴力破解
  • 真实注册码寻找
  • 注册机编写
  • 去除软件暗桩等知识点

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-12-4 17:19 被梦幻的彼岸编辑 ,原因:
上传的附件:
收藏
免费 5
支持
分享
最新回复 (13)
雪    币: 7121
活跃值: (125793)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
非常感谢楼主分享
2020-12-4 15:15
0
雪    币: 1041
活跃值: (733)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
很适合新手观看!学习收藏了
2020-12-4 17:15
0
雪    币: 484
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
感谢楼主分享 谢谢
2020-12-5 17:38
0
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
5
感谢分享!辛苦了!
2020-12-8 17:18
0
雪    币: 215
活跃值: (44)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
感谢楼主分享,学习学习
2020-12-9 22:34
0
雪    币: 2055
活跃值: (418)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
感谢楼主分享 谢谢
2020-12-10 08:25
0
雪    币: 2674
活跃值: (2304)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
感谢分享!
2020-12-10 10:11
0
雪    币: 2359
活跃值: (343)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
PPT模板哪里来的,这个看着不错!
还记得我吗?风轻云淡
2020-12-18 21:43
0
雪    币: 3017
活跃值: (27722)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
10

当然记得风轻老哥, ppt是自己找个模板,重新制作了下。

最后于 2020-12-19 19:17 被梦幻的彼岸编辑 ,原因:
2020-12-19 19:16
0
雪    币: 1145
活跃值: (4227)
能力值: ( LV5,RANK:69 )
在线值:
发帖
回帖
粉丝
11
参考资料不错
2020-12-19 19:30
0
雪    币: 12
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
老哥,请教一下使用方法,加微信hahale8888
2020-12-20 19:33
0
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
我想调试visual studio,但是扔到windbg里面运行就会显示访存错误
2020-12-21 12:39
0
雪    币: 59
活跃值: (178)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
很好
2021-2-25 15:09
0
游客
登录 | 注册 方可回帖
返回
//