-
-
初学SEH,遇到一些基本问题,请帮忙看一下
-
发表于:
2006-9-28 13:06
3217
-
我在学习seh
教程及例子下载:http://cnxhacker.net/article/show/1749.html
其中我不是很明白当第一个异常发生时,我用Shift+F9忽略,此时会进入到4058E5的地方,而程序最开始
0040D042 > B8 00D04000 mov eax, Notepad.0040D000 中断在这里。
0040D047 68 4C584000 push Notepad.0040584C 填充ERR结构的Hander,当发生异常时系统会自动调用这里。
0040D04C 64:FF35 0000000>push dword ptr fs:[0] 填充ERR结构的Prev
0040D053 64:8925 0000000>mov dword ptr fs:[0], esp 建立SEH链,呵,异常后就会到40584C处的代码继续运行。
不是写着40584C吗?为什么两个地方不一样??
还有,当我到4058e5后,我必须在405941处下断,直接shift+F9运行到断点,而我用F9运行的话,结果是不一样的,shift+f9运行到断点,断点的jnz不发生跳转,而我用f9或者单步走到断点,jnz会发生跳转,这是为什么??
初学脱壳,问题比较初级,请大侠指点一二,谢谢。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)