吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5322|回复: 5
收起左侧

[第八题] 【答案提交】【2014CrackMe大赛】【第八组】

[复制链接]
tree_fly 发表于 2014-10-29 16:21
本帖最后由 L4Nce 于 2014-11-1 15:04 编辑



0.输入任意字符串,没有提示。
1.PE检测编写语言Borland Delphi 6.0,DEDE找按钮事件:
图片1.jpg
注意到这里有注册成功的提示。

[Asm] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
***** TRY
|
00452062   64FF30                 push    dword ptr fs:[eax]
00452065   648920                 mov     fs:[eax], esp
00452068   8B45E8                 mov     eax, [ebp-$18]
0045206B   99                     cdq
0045206C   F73D743D4500           idiv    dword ptr [$00453D74]
00452072   8945E8                 mov     [ebp-$18], eax
00452075   33C0                   xor     eax, eax
00452077   5A                     pop     edx
00452078   59                     pop     ecx
00452079   59                     pop     ecx
0045207A   648910                 mov     fs:[eax], edx
0045207D   EB1D                   jmp     0045209C
 
* Reference to: System.@HandleAnyException;
|
0045207F   E98418FBFF             jmp     00403908
00452084   6A00                   push    $00
 
* Possible String Reference to: '提示'
|
00452086   6810214500             push    $00452110
 
* Possible String Reference to: '注册成功!'
|
0045208B   6818214500             push    $00452118
00452090   6A00                   push    $00
 
* Reference to: user32.MessageBoxA()
|
00452092   E8BD48FBFF             call    00406954
 
* Reference to: System.@DoneExcept;
|
00452097   E8D41BFBFF             call    00403C70
 
****** END



目测是检测异常,提示注册成功。
关键触发点:idiv dword ptr [00453D74]
除数需等于0

Snap_2014.10.29_05h09m34s_010_.jpg

正常情况下图中几处跳转必须成立,方能接近触发点。
我们再次研究了比赛说明中的关于爆破的说明:
单纯的修改提示字符串为成功字符串不算有效爆破。
       爆破成功时应和成功注册时效果相同。
       测试时,输入任意或指定的姓名和序列号,出现成功提示,就算通过。

鉴于评分官对爆破方案审查甚严,下面给出几种爆破方案:
方案一:触发异常:
0045203F    ^\75 BF                    JNZ     SHORT CrackMe.00452000
00452041      8B47 38                  MOV     EAX, DWORD PTR DS:[EDI+0x38]
00452044      8B57 34                  MOV     EDX, DWORD PTR DS:[EDI+0x34]       ;  CrackMe.0044B9B1
00452047      3BC2                     CMP     EAX, EDX
修改:13字节

0045203F    ^\75 BF                    JNZ     SHORT CrackMe.00452000
00452041      C705 743D4500 00000000   MOV     DWORD PTR DS:[0x453D74], 0x0
0045204B      EB 0D                    JMP     SHORT CrackMe.0045205A
0045204D      90                       NOP









方案二:无视异常:
00452047      3BC2                     CMP     EAX, EDX
00452049      75 79                    JNZ     SHORT CrackMe.004520C4             ;  比较
0045204B      3B47 44                  CMP     EAX, DWORD PTR DS:[EDI+0x44]
修改2字节:

00452047      3BC2                     CMP     EAX, EDX
00452049      EB 39                    JMP     SHORT CrackMe.00452084             ;  比较
0045204B      3B47 44                  CMP     EAX, DWORD PTR DS:[EDI+0x44]




方案三:改变游戏规则:
[00453D74] 全局变量修改共有18处,我们把这个地址Patch掉
Snap_2014.10.29_08h10m16s_011_.jpg

另外Patch掉这里的跳转,直接进入异常
Snap_2014.10.29_08h11m06s_012_.jpg

补丁工具这样写
Snap_2014.10.29_08h11m42s_013_.jpg
      


Snap_2014.10.29_08h17m44s_014_.jpg
算法部分,大牛们分析吧,像个小游戏
最后附上三种爆破方案的附件:
CrackMe 3种爆破方案.rar (479.55 KB, 下载次数: 10)



发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| tree_fly 发表于 2014-10-29 16:23
请评分官忽略“我们”俩字,习惯了
L4Nce 发表于 2014-11-1 15:03
o6o7o5 发表于 2016-5-1 15:54
tds007 发表于 2016-7-3 14:34
进来学习  感谢分享~~~
asus888 发表于 2017-2-14 20:11
学习了,学点经验,刚入门
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-4-9 10:14

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表