好友
阅读权限10
听众
最后登录1970-1-1
|
1. 今天脱ACProtect1.09时,发现在直接INT1中断后,程序就不知道往哪里走了(00447B1F )
[Asm] 纯文本查看 复制代码 00447AFE E8 0E000000 call QQ个性签.00447B11
00447B03 8B5C24 0C mov ebx,dword ptr ss:[esp+C]
00447B07 8383 B8000000 0>add dword ptr ds:[ebx+B8],2
00447B0E 33C0 xor eax,eax
00447B10 C3 retn
00447B11 64:67:FF36 0000 push dword ptr fs:[0]
00447B17 64:67:8926 0000 mov dword ptr fs:[0],esp
00447B1D 33C0 xor eax,eax
00447B1F CD 01 int 1
00447B21 40 inc eax
00447B22 40 inc eax
00447B23 0BC0 or eax,eax
00447B25 75 05 jnz short QQ个性签.00447B2C
2. 根据堆栈窗口的提示,发现SE句柄为00447B03
0012FF40 0012FFC4 指针到下一个 SEH 记录
0012FF44 00447B03 SE 句柄
0012FF48 2631FCF1
0012FF4C D5E6A24A
0012FF50 0000003E
0012FF54 0012FF68
0012FF58 C77B00CD
0012FF5C 87EC0240
0012FF60 0044CDE2 QQ个性签.0044CDE2
3.根据SEH将断点设置到00447B03 ,程序果然停到了这里
00447B03 8B5C24 0C mov ebx,dword ptr ss:[esp+C]
00447B07 8383 B8000000 0>add dword ptr ds:[ebx+B8],2
00447B0E 33C0 xor eax,eax
00447B10 C3 retn
4.当程序执行到retn,看了一眼栈顶元素感觉有点懵逼了,这是啥?
0012FA18 77D77179 返回到 ntdll.77D77179
0012FA1C 0012FB00
0012FA20 0012FF40
5.经过各种搜索得到一个答案http://bbs.pediy.com/archive/index.php?t-59368.html,这里面详细讲解了WIN32的异常处理机制,然后就明白了代码是如何执行的,单步跟踪也能跟明白了。
有个问题 我是新手,该如何截图发进来,不知道怎么加载到帖子里,求指导
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|