1 函数入口点 调用堆栈
Test:
1_26_T_裸函数.exe!Test() 行 90
kernel32.dll!775a337a() 未知
ntdll.dll!77c39882() 未知
ntdll.dll!77c39855() 未知
默认:
> 1_26_T_裸函数.exe!wmain(int argc, wchar_t * * argv) 行 99
1_26_T_裸函数.exe!__tmainCRTStartup() 行 533
1_26_T_裸函数.exe!wmainCRTStartup() 行 377
kernel32.dll!775a337a() 未知
ntdll.dll!77c39882() 未知
ntdll.dll!77c39855() 未知
2 VS中修改程序入口、关闭随机基址
工程右键–>属性—>配置属性—>链接器—>高级—->入口点、随机基址。
3main 函数被调用前要先调用的函数如下:
GetVersion()
Heap init()
GetCommandLineA()
_crtGetEnvironmentStringA()
_setargv()
_setenvp()
_cinit()
mainret = wmain(argc, argv, envp);
这些函数调用结束后就会调用main函数,根据main函数调用的特征,将3个参数压入栈内作为函数的参数。
OD中的alt+k,
—>往下数第9个call ,且是3个参数的。一般找不到的时候找上面的几个函数。就在附近。
一会把这9个call 都和源码对应起来背过。