首页
社区
课程
招聘
[旧帖] CRACKME1分析--自己初学分析的,为了在看雪转正 0.00雪花
发表于: 2012-5-8 22:43 1323

[旧帖] CRACKME1分析--自己初学分析的,为了在看雪转正 0.00雪花

2012-5-8 22:43
1323
这是一个最简单的crack练习,简单明文.破解方法:

1、运行,试试效果,随便弄几个字符进去会出现错误提示

"One of the Details you entered was wrong"

好,就这是突破口。

2、OD打开crackme1   查找-->所有参考字符串  找到上面的字符串,选中按 f2 设置中断点

当然,这里也可以按ctrl+n,查找是否有用api调用,如果也可以设置断中(这个crack没有GetDlgItemText等api)。

3、试运行,停在断点上。在这里基本可以定位关键破解代码 (特别注意:比较cmp指令、跳转指令)

4、对感兴趣的代码下断,重新运行(初学总是需要反复练习)

  
004014CD   .  57            push    edi
004014CE   .  8DBE A0000000 lea     edi, dword ptr [esi+A0]
004014D4   .  8BCF          mov     ecx, edi
004014D6   .  E8 6F030000   call    <jmp.&MFC42.#3876>               ;  这个call功能是完成字符串长度计算
004014DB   .  8B1D FC214000 mov     ebx, dword ptr [<&USER32.PostQui>;  USER32.PostQuitMessage
004014E1   .  83F8 05       cmp     eax, 5                           ;  要于用户名大于5个字符
004014E4   .  7E 50         jle     short 00401536
004014E6   .  8D6E 60       lea     ebp, dword ptr [esi+60]
004014E9   .  8BCD          mov     ecx, ebp
004014EB   .  E8 5A030000   call    <jmp.&MFC42.#3876>
004014F0   .  83F8 05       cmp     eax, 5                           ;  要求序列号长度大于5
004014F3   .  7E 41         jle     short 00401536
004014F5   .  8D86 E0000000 lea     eax, dword ptr [esi+E0]
004014FB   .  8BCF          mov     ecx, edi
004014FD   .  50            push    eax
004014FE   .  E8 41030000   call    <jmp.&MFC42.#3874>               ;  这个call是读取字符串,eax返回长度,ecx返回字符串,edx返回字符后五位
00401503   .  8DBE E4000000 lea     edi, dword ptr [esi+E4]
00401509   .  8BCD          mov     ecx, ebp
0040150B   .  57            push    edi
0040150C   .  E8 33030000   call    <jmp.&MFC42.#3874>
00401511   .  8B07          mov     eax, dword ptr [edi]             ;  序列号移动到eax,用于一个一个比较
00401513   .  8038 36       cmp     byte ptr [eax], 36               ;  6
00401516   .  75 1E         jnz     short 00401536
00401518   .  8078 01 32    cmp     byte ptr [eax+1], 32             ;  2
0040151C   .  75 18         jnz     short 00401536
0040151E   .  8078 02 38    cmp     byte ptr [eax+2], 38             ;  8
00401522   .  75 12         jnz     short 00401536
00401524   .  8078 03 37    cmp     byte ptr [eax+3], 37             ;  7
00401528   .  75 0C         jnz     short 00401536
0040152A   .  8078 04 2D    cmp     byte ptr [eax+4], 2D             ;  -
0040152E   .  75 06         jnz     short 00401536
00401530   .  8078 05 41    cmp     byte ptr [eax+5], 41             ;  A
00401534   .  74 17         je      short 0040154D
00401536   >  6A 00         push    0
00401538   .  68 64304000   push    00403064                         ;  ASCII "ERROR"
0040153D   .  68 38304000   push    00403038                         ;  ASCII "One of the Details you entered was wrong"
00401542   .  8BCE          mov     ecx, esi
00401544   .  E8 F5020000   call    <jmp.&MFC42.#4224>
00401549   .  6A 00         push    0
0040154B   .  FFD3          call    ebx
0040154D   >  8D8E E0000000 lea     ecx, dword ptr [esi+E0]
00401553   .  8D5424 14     lea     edx, dword ptr [esp+14]
00401557   .  51            push    ecx
00401558   .  68 2C304000   push    0040302C                         ;  ASCII "Well done,"
0040155D   .  52            push    edx

这个破解要求是:

1、name 和serial长度大于5个

2、serial前6个字符是 6287-A,后面没有比较,即无所谓

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2012-5-8 22:44
0
雪    币: 72
活跃值: (87)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
初学总是需要反复练习
2012-5-9 05:19
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
(初学总是需要反复练习)
2012-5-9 05:32
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
上传的附件中有病毒
2012-5-9 11:04
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是病毒我就
2012-5-9 18:38
0
游客
登录 | 注册 方可回帖
返回
//