远程线程注入大漠及多线程DLL到游戏进程

注入DLL源码:

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

大漠辅助部分

.版本 2
.支持库 EThread
 
.程序集 窗口程序集_窗口1
.程序集变量 dm, 大漠, , "0"
.程序集变量 游戏窗口数量, 整数型
.程序集变量 hwnd, 整数型, , "0", 游戏窗口句柄
.程序集变量 thwnd, 整数型, , "0", 线程句柄
 
.子程序 _按钮1_被单击, , , 注册大漠
 
' 由于dm.dll是在我们的注入的dll中调用,尽量不要使用免注册,不用采用动态调用
运行 (“regsvr32 dm.dll -s”, 假, )
 
.子程序 多线程绑定
.局部变量 进程ID数组, 整数型, , "0"
.局部变量 m, 整数型
 
进程_取ID数组 (“gamefree.exe”, 进程ID数组, )
游戏窗口数量 = 取数组成员数 (进程ID数组)
重定义数组 (dm, 假, 游戏窗口数量)
重定义数组 (hwnd, 假, 游戏窗口数量)
重定义数组 (thwnd, 假, 游戏窗口数量)
.计次循环首 (游戏窗口数量, m)
    ' 创建大漠对象,有几个窗口就创建几个
    dm [m].创建 ()
    ' 取游戏窗口句柄
    hwnd [m] = 进程_ID取窗口句柄 (进程ID数组 [m], , , , )
    ' 开始绑定游戏
 
    .判断开始 (dm [m].BindWindow (hwnd [m], “dx”, “dx2”, “windows”, 0)1)
        启动线程 (&工作主线程, m, thwnd [m])
 
    .默认
 
    .判断结束
 
.计次循环尾 ()
 
.子程序 工作主线程
.参数 d
.局部变量 许可证, 线程许可证
 
许可证 = 线程_创建许可证 ()
线程_进入许可区 (许可证)
线程_初始化COM库 ()
 
跑路 (d)
对话 (d)
打怪 (d)
 
 
dm [d].UnBindWindow ()
dm [d].释放 ()
线程_取消COM库 ()
线程_退出许可区 (许可证)
线程_删除许可证 (许可证)

线程注入部分和前几课一样

参考:http://www.511yj.com/eyuyan-hook-51.html

视频教程下载:

链接:https://pan.baidu.com/s/158ikKVjIwaoF4438MG4fhA

提取码:加QQ群:521068947 群文件下载


发布日期:

所属分类: 易语言 标签: