GetProcAddress面试官会问
LoadLibrary会问
CreateProcess
CreateFileMapping
CreateFile
然后看程序
GetCurrentProcessId 问系统
过程:
EasyHook.exe向目标进程(比如CFF.exe)注入EasyInjectDll,然后再加载EasyHookDll
检测文件的合法性,观察文件是否存在
判断动态库是否存在(需要在同一个目录下)
进入dll点击vcxproj 导入库
把Dll复制到EasyHook路径下,因为整个调试 我们是从EasyHook.exe下的断点
exe里面会有一个LoadLibrary
出发LoadLibrary这个函数之后,就会触发dllmain中的case语句。传入module的基地址,这个地址就是dll的基地址
在文件管理中,会有一个获得调用模块名字的函数GetModuleFileName
获得当前Exe模块的完整路径
此时我们就在获得当前工作路径和当前模块路径
获得当前dll的路径
Teb是进程控制块,Peb是线程控制块
计算当前DLl模块所在目录的长度
下面四句就是为了算下面四行的长度