刚才看到LZ的题目,就开始写修改远程进程的IAT来载入DLL的代码。有点困就突然去看了LZ的帖子内容,原来是,又写马,又大目扬长的开口就要代码。其实这个小功能没什么意思不好玩,还是不写了。
思路很简单,ReadProcessMemory从Ldr_data中获取目标进程的路径,然后从硬盘上的PE文件中解析IAT data directroy,先找到要HOOK的API所对应DLL,再分hint和API字符串名称二种方式把要HOOK的API在IAT中的具体地址找到,接着就开始WriteProcessMemory写入带LoadLibraryA自己DLl的shellcode,和覆盖这shellcode的地址到IAT对应APi的位置了。