CreateRemoteThread远程线程注入dll到游戏

远程线程注入是指通过CreateRemoteThread在目标进程创建一个线程,然后加载注入我们的DLL,由于易语言只能编译32位DLL,所以我们只能注入到32进程。

远程线程注入

.版本 2
.支持库 spec
 
模块名称 = 编辑框1.内容
' 1、 获取游戏进程句柄,0表示不继承句柄
进程句柄 = OpenProcess (2035711, 0, 到数值 (编辑框2.内容))
.如果真 (进程句柄 = 0)
    信息框 (“打开进程失败,可能权限不够”, 0, , )
 
    返回 ()
 
.如果真结束
' 2、在远程进程中(游戏进程中)申请内存空间,用来存放模块路径
' 0表示自动分配保留内存页面地址
目标进程内存地址 = VirtualAllocEx (进程句柄, 0, 4096, 4096, 64)
.如果真 (目标进程内存地址 = 0)
    信息框 (“分配内存地址失败”, 0, , )
    返回 ()
 
.如果真结束
' 3、WriteProcessMemory写进内存
ret_l = WriteProcessMemory (进程句柄, 目标进程内存地址, 模块名称, 取字节集长度 (到字节集 (模块名称)), 取变量地址 (写入成功的地址))
.如果真 (ret_l = 假)
    信息框 (“数据写入内存失败!”, 0, , )
    返回 ()
 
.如果真结束
 
' 4、获取LoadlibrarA地址
LoadlibrarA地址 = GetProcAddress (GetModuleHandleA (“Kernel32.dll”), “LoadLibraryA”)
.如果真 (LoadlibrarA地址 = 0)
    信息框 (“LoadlibrarA地址失败”, 0, , )
    返回 ()
 
.如果真结束
' 5、核心远程线程注入
creatRet = CreateRemoteThread (进程句柄, 0, 0, LoadlibrarA地址, 目标进程内存地址, 0, 0)
.如果真 (creatRet = 0)
    信息框 (“远程线程注入失败”, 0, , )
    返回 ()
 
.如果真结束

远程线程注入第二课主要完成注入的DLL的编写,本课的DLL,我们采用了无窗口,在第三课我们将在DLL中采用载入窗口,

DLL源码

.版本 2
.支持库 EThread
.支持库 eAPI
 
.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码
 
启动线程 (&th, , )
_临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
返回 (0)  ' 返回值被忽略。
 
.子程序 _临时子程序
 
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
 
 
.子程序 th, , 公开
.局部变量 ret
 
载入 (窗口1, , 真)
ret = 信息框 (“所在进程ID是:” + 到文本 (进程_取自进程ID ()) + #换行符 + “ 确定 键进程 辅助窗口,取消 键 关闭进程!”, #确认取消钮, “进程名:” + 进程_ID取进程名 (进程_取自进程ID ()), )
.判断开始 (ret = #确认钮)
    启动线程 (&辅助, , )
.判断 (ret = #取消钮)
    FreeLibrary (GetModuleHandleA (“thook.dll”))
    结束 ()
.默认
 
.判断结束
 
 
.子程序 辅助
 
.计次循环首 (20, )
    模拟按键 (#F4键, , )
    程序_延时 (500, )
.计次循环尾 ()

本视频是远程线程注入的第三课,主要是注入的DLL我们里面采用了窗口载入控制游戏。

Dll源码

.版本 2
 
.程序集 程序集1
.程序集变量 集_子程序指针, 子程序指针
 
.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码
 
_临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
返回 (0)  ' 返回值被忽略。
 
.子程序 _临时子程序
 
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
 
 
.子程序 th, , 公开
.参数 子程序参数, 子程序指针
 
集_子程序指针 = 子程序参数
载入 (窗口1, , 真)

DLL窗口源码

.版本 2
.支持库 eAPI
 
.程序集 窗口程序集_窗口1
 
.子程序 _按钮1_被单击
 
.计次循环首 (20, )
    模拟按键 (#F4键, , )
    程序_延时 (500, )
.计次循环尾 ()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

511遇见

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值