首页
社区
课程
招聘
[原创]珠海金山2007逆向分析挑战赛第二阶段第一题 by:壹只老虎
发表于: 2007-8-28 23:12 7099

[原创]珠海金山2007逆向分析挑战赛第二阶段第一题 by:壹只老虎

2007-8-28 23:12
7099
【原创】珠海金山2007逆向分析挑战赛第二阶段第一题  by:壹只老虎

思路:
在这里是关键
004002E9  |. /7E 05         jle     short 004002F0
004002EB  |. |8D7D D4       lea     edi, dword ptr [ebp-2C]
004002EE  |. |F3:A5         rep     movs dword ptr es:[edi], dword p>
004002F0  |> \5F            pop     edi
004002F1  |.  33C0          xor     eax, eax
004002F3  |.  5E            pop     esi
004002F4  |.  C9            leave
004002F5  \.  C3            retn

retn返回两次,跳到申请的内存地址的首地址
首地址处爆破出不会异常的8个字节的代码
8字节代码后就是我们要执行的命令

前8个字节进行下面的运算后。
004002C9  |.  8BCE          mov     ecx, esi                         ;  ECX=溢出吗
004002CB  |.  5F            pop     edi                              ;  EDI=4
004002CC  |>  8031 1C       /xor     byte ptr [ecx], 1C
004002CF  |.  8A11          |mov     dl, byte ptr [ecx]
004002D1      3051 01       xor     byte ptr [ecx+1], dl
004002D4      41            inc     ecx
004002D5      41            inc     ecx
004002D6      4F            dec     edi
004002D7    ^ 75 F3         jnz     short 004002CC
004002D9  |.  6A 1A         push    1A
必须是不会异常的代码。

还需要注意前8个字节计算得到ecx=d.

  
溢出代码见附件

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
2
验证通过~~
2007-8-29 08:12
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
3
131.45816825134906770047048794299
2007-9-2 20:43
0
游客
登录 | 注册 方可回帖
返回
//