文章目录[隐藏]
在上节课我们采用了VC编写的“vt.dll"实现了注入,本课我们用易语言把它封装成一个模块SN_CreateProcessA,调用这个模块,来完成注入,它的核心是CreateProcessA 创建进程时我们先暂停这个进程,然后为我们注入的DLL申请内存空间VirtualAllocEx,通过WriteProcessMemory把DLL路径写入内存,最后通过ResumeThread唤醒主线程。注入时需要提供的参数有,被注入游戏exe的路径,函数名称,注入的DLL的路径,下面是源码:
.版本 2
.支持库 spec
.支持库 EThread
.子程序 SN_CreateProcessA, 整数型, 公开
.参数 注入EXE路径, 文本型
.参数 函数名称, 文本型
.参数 注入的DLL的路径, 文本型
.局部变量 文件路径, 文本型
.局部变量 运行目录, 文本型
.局部变量 si, STARTUPINFO
.局部变量 pi, 进程结构
.局部变量 sRet, 整数型
.局部变量 模块名称, 文本型
.局部变量 dll文件路径, 整数型
.局部变量 Param, 整数型
.局部变量 LoadLibraryA地址, 整数型
.局部变量 hThread, 整数型
.局部变量 bRet, 整数型
.局部变量 dll句柄
.局部变量 函数地址, 整数型
.局部变量 内存地址, 整数型
.局部变量 线程句柄, 整数型
.局部变量 线程ID, 整数型
运行目录 = 取文本左边 (注入EXE路径, 倒找文本 (注入EXE路径, “\”, , 假))
模块名称 = 注入的DLL的路径
' 1、创建进程
sRet = CreateProcessA (注入EXE路径, “”, 0, 0, 假, 4, 0, 运行目录, si, pi)
调试输出 (sRet)
' 2、申请内存空间
dll文件路径 = 取文本长度 (模块名称) + 1
Param = VirtualAllocEx (pi.进程句柄, 0, dll文件路径, 4096, 4)
' 3、把DLL路径写入内存
WriteProcessMemory (pi.进程句柄, Param, 模块名称, 取字节集长度 (到字节集 (模块名称)), 0)
' 4、获取loadlibrary地址
LoadLibraryA地址 = GetProcAddress (GetModuleHandleA (“kernel32”), “LoadLibraryA”)
' 5、创建远程线程调用LoadLibraryA函数,获取远程句柄
hThread = CreateRemoteThread (pi.进程句柄, 0, 0, LoadLibraryA地址, Param, 0, 0)
' 5、唤醒主线程
bRet = ResumeThread (pi.线程句柄)
' 6、测试
WaitForSingleObject (hThread, -1)
' -------------------------------
dll句柄 = LoadLibraryA (模块名称)
函数地址 = GetProcAddress (dll句柄, 函数名称)
内存地址 = 申请内存 (取文本长度 (函数名称), )
写到内存 (函数名称, 内存地址, )
线程句柄 = CreateThread (0, 0, 函数地址, 内存地址, 0, 线程ID)
.如果真 (等待线程 (线程句柄, 100))
关闭线程句柄 (线程句柄)
释放内存 (内存地址)
.如果真结束
.如果 (hThread = 0)
返回 (0)
.否则
返回 (hThread)
.如果结束
STARTUPINFO结构体
.版本 2 .数据类型 STARTUPINFO, , , .成员 cbSize, 整数型 .成员 lpReserved, 整数型 .成员 lpDesktop, 整数型 .成员 lpTitle, 整数型 .成员 dwX, 整数型 .成员 dwY, 整数型 .成员 dwXSize, 整数型 .成员 dwYSize, 整数型 .成员 dwXCountChars, 整数型 .成员 dwYCountChars, 整数型 .成员 dwFillAttribute, 整数型 .成员 dwFlags, 整数型 .成员 wShowWindow, 长整数型 .成员 cbReserved2, 长整数型 .成员 lpReserved2, 整数型 .成员 hStdInput, 整数型 .成员 hStdOutput, 整数型 .成员 hStdError, 整数型
注入调用
参考:http://www.511yj.com/eyuyan-hook-57.html
视频教程下载:
链接:https://pan.baidu.com/s/158ikKVjIwaoF4438MG4fhA
提取码:加QQ群:521068947 群文件下载