dll注入和卸载关键函数CreateRemoteThread、VirtualAllocEx、WriteProcessMemory.一开始使用的时候,直接网上一搜代码拷贝直接用,这就导致了各种问题.在此记录下.
1.在dll注入的时候,dll路径导致注入失败.其实就是 目标进程找不到dll,简单点使用绝对路径就行.(需要注意的是,这个路径你要让目标进程找得到.这就需要使用VirtualAllocEx、WriteProcessMemory 把dll的路径写入目标进程.)
2.在dll卸载的时候,注意CreateRemoteThread传入给FreeLibrary的参数是注入的dll的句柄,Module32First枚举目标进程中dll的句柄就行.
3.注意下进程启动权限一样.
总结.dll注入技术看似玄乎.第一次接触感觉很迷茫,都是各种网上找代码来试.其实你只要认真想下,dll是谁在使用,目标进程嘛.然后不外乎就是dll的加载和卸载嘛.注意下 LoadLibrary、FreeLibrary的参数就是了(参数需要目标进程找得到).