题目梅津美治郎的理解
1.ida打开2.xdbg调试到第一个API函数
从eax的值看到API函数是kernel32库的GetModuleHandleA()函数,通过查msdn,得知函数返回值成功是指定模块的句柄,失败是NULL。
3.第二个API函数
从eax的值看到API函数是kernel32库的GetProcAddress函数。查msdn,成功返回值是导出的函数和变量的地址。失败是NULL。
返回值为ntdll.AddVectoredExceptionHandler。
4.第三个API函数是AddVectoredExceptionHandler()。
查msdn,函数AddVectoredExceptionHandler()功能是在异常前执行指定函数。通过调试得知执行的是起始地址为40175F的函数。
5.通过ida查看
在通过第一个输入后有一个int 3 的异常。
6.然后程序总流程就是检验第一次输入,然后触发异常,然后在异常前执行第二次检验。
页:
[1]