首页
社区
课程
招聘
[原创][原创]看雪论坛.珠海金山2007逆向分析挑战赛[第二阶段◇第一题] 答案 by hawking
2007-8-29 11:14 11742

[原创][原创]看雪论坛.珠海金山2007逆向分析挑战赛[第二阶段◇第一题] 答案 by hawking

2007-8-29 11:14
11742
收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 1969
活跃值: (46)
能力值: (RANK:550 )
在线值:
发帖
回帖
粉丝
hawking 12 2007-8-29 11:27
2
0
004002EB  |.  8D7D D4       lea     edi, dword ptr [ebp-2C]
004002EE  |.  F3:A5         rep     movs dword ptr es:[edi], dword ptr [esi]
004002F0  |>  5F            pop     edi
004002F1  |.  33C0          xor     eax, eax
004002F3  |.  5E            pop     esi
004002F4  |.  C9            leave
004002F5  \.  C3            retn

通过分析前面的计算,可以得出当test.txt前4位值为0x8AD397F7时,这里的rep次数为13次,正好覆盖了栈里面retn的返回地址,让这里返回地址指向004002F5,再次返回后,就来到了程序前面分配的堆空间。在堆里构造代码,使可以得出正确的结果就OK了。
00960000   /EB 7C           jmp     short 0096007E
00960002   |CF              iretd
00960003   |45              inc     ebp
00960004   |94              xchg    eax, esp
00960005   |1C 94           sbb     al, 94
00960007    1C            
00960008    E8 00000000     call    0096000D
0096000D    58              pop     eax
0096000E    8D40 6D         lea     eax, dword ptr [eax+6D]
00960011    8D6C24 1C       lea     ebp, dword ptr [esp+1C]
00960015    59              pop     ecx
00960016    57              push    edi
00960017    50              push    eax
00960018    50              push    eax
00960019    68 90034000     push    400390
0096001E    C3              retn
0096001F    0000            add     byte ptr [eax], al
00960021    0000            add     byte ptr [eax], al
00960023    0000            add     byte ptr [eax], al
00960025    0000            add     byte ptr [eax], al
00960027    0000            add     byte ptr [eax], al
00960029    0000            add     byte ptr [eax], al
0096002B    0000            add     byte ptr [eax], al
0096002D    0000            add     byte ptr [eax], al
0096002F    00F5            add     ch, dh
00960031    0240 00         add     al, byte ptr [eax]
00960034    0000            add     byte ptr [eax], al
00960036    0000            add     byte ptr [eax], al
00960038    0000            add     byte ptr [eax], al
0096003A    0000            add     byte ptr [eax], al
0096003C    0000            add     byte ptr [eax], al
0096003E    0000            add     byte ptr [eax], al
00960040    0000            add     byte ptr [eax], al
00960042    0000            add     byte ptr [eax], al
00960044    0000            add     byte ptr [eax], al
00960046    0000            add     byte ptr [eax], al
00960048    0000            add     byte ptr [eax], al
0096004A    0000            add     byte ptr [eax], al
0096004C    0000            add     byte ptr [eax], al
0096004E    0000            add     byte ptr [eax], al
00960050    0000            add     byte ptr [eax], al
00960052    0000            add     byte ptr [eax], al
00960054    0000            add     byte ptr [eax], al
00960056    0000            add     byte ptr [eax], al
00960058    0000            add     byte ptr [eax], al
0096005A    0000            add     byte ptr [eax], al
0096005C    0000            add     byte ptr [eax], al
0096005E    0000            add     byte ptr [eax], al
00960060    0000            add     byte ptr [eax], al
00960062    0000            add     byte ptr [eax], al
00960064    0000            add     byte ptr [eax], al
00960066    0000            add     byte ptr [eax], al
00960068    0000            add     byte ptr [eax], al
0096006A    0000            add     byte ptr [eax], al
0096006C    0000            add     byte ptr [eax], al
0096006E    0000            add     byte ptr [eax], al
00960070    0000            add     byte ptr [eax], al
00960072    0000            add     byte ptr [eax], al
00960074    0000            add     byte ptr [eax], al
00960076    0000            add     byte ptr [eax], al
00960078    0000            add     byte ptr [eax], al
0096007A    4F              dec     edi
0096007B    4B              dec     ebx
0096007C    2100            and     dword ptr [eax], eax
0096007E  ^ EB 88           jmp     short 00960008
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
笨笨雄 14 2007-8-29 17:54
3
0
验证通过~~
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
笨笨雄 14 2007-9-2 20:29
4
0
78.591812814374327662608365753498
游客
登录 | 注册 方可回帖
返回