病毒运行时可能会用到某些API,但如果导入表中没有的话,病毒的可移植性就不能保证。
已经知道ntdll.dll和kernel32.dll是每个进程都需要加载的,如果知道了kernel32在进程中的地址,就能找到LoadLibrary和GetProcAddress从而加载其他dll文件并调用里面的API。
以前学到过利用PEB结构来获得kernel32在进程中的基址
其实还有两种常用的方法
1.进程初始化时堆栈指针ESP指向ExitThread的地址,位置刚好在kernel32中。通过此地址向上搜索就可找到kernel32的基地址。
因为kernel32的SectionAlignment是