-
-
[原创]珠海金山2007逆向分析挑战赛第二阶段第一题 by:壹只老虎
-
发表于:
2007-8-28 23:12
7098
-
[原创]珠海金山2007逆向分析挑战赛第二阶段第一题 by:壹只老虎
【原创】珠海金山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.
溢出代码见附件
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!