本文转自看雪Adventure大佬的一篇外文翻译。
loc_40101A
函数的返回值是0x1337loc_401045
的函数。sub_401065
。但是这次IDA把它识别成一个正常的函数了。sub_40107D
函数的返回值EAX有没有被修改。sub_40107D
函数:sub_40107D
将会返回到0x40109F(0x401074+0x2B)。切换到下一个视图找到这个返回地址的位置。MOV FS:0,ESP
这条指令告诉我们它正在安装一个SHE(标准化异常处理程序)。EXCEPTION_REGISTRATION
的结构:EXCEPTION_REGISTRATION
结构的指针,第二个字段handler指向异常处理函数。EXCEPTION_REGISTRATION
结构永远被保存在TIB的第一个DWORD字节中。在Win32平台TIB的地址被保存在FS寄存器中,因此指向MOV FS:0,ESP这条指令等于把栈顶的保存的值,设置成了第一个异常处理结构EXCEPTION_REGISTRATION
。STATUS_ACCESS_VIOLATION-0xC0000005
)。