查看: 867|回复: 1

防游戏检测之易语言DLL内存注入技术

[复制链接]

3123

主题

3123

帖子

50

积分

超级版主

Rank: 8Rank: 8

积分
50
发表于 2021-7-31 13:42:11 | 显示全部楼层 |阅读模式

DLL注入,除了线程注入,消息钩子注入,输入法注入外,还有一种就是内存注入

那么什么是内存注入呢?
内存注入就是指内存中加载并且执行DLL文件,这样的注入方式好处有以下几点:
1.不需要把DLL文件暴露在出来(防止别人拿着你的DLL文件改装成自己的程序或者破解)
内存DLL不需要写出到硬盘上即可使用.只要用易语言编译出来DLL后,加入到图片资源中,即可直接在内存用运行使用.

2.安全性高,注入到对方进程后,对方进程如果有检测非法DLL文件加载,一般是检测不到的,
因为枚举进程模块文件找不到DLL文件,因为DLL不再是模块文件,也没有DLL名称,而是一段内存机器码了.
除非搜整个进程空间内存来查找DLL代码数据特征

来看下Game-EC 最新版本模块里的这个命令 内存安装DLL 的参数信息
子程序名:内存安装DLL
失败返回0,成功返回内存DLL在目标进程里的地址,可以用 内存释放DLL () 进行释放
返回值类型:整数型
参数<1>的名称为“进程句柄”,类型为“整数型”。注明: 。
参数<2>的名称为“DLL_数据”,类型为“字节集”。注明:把DLL文件放在易语言的资源在这里#DLL文件.
参数<3>的名称为“绑定线程”,类型为“整数型”,允许接收空参数数据。注明:尽量使用绑定线程的方式加载,
不然可能会产生窗口无法载入呼出等一些不确定的问题.

其实这个 内存安装DLL() 的用法很简单与 安装线程DLL() 基本差不多,
唯一不同的是 参数二是DLL文件字节集数据,提供图片资源名即可.不用把dll文件写出,内存加载即可
下面代码是 EXE 的(注入器的代码)
如图:

下面代码是内存注入DLL的DLL文件代码

win7 测试

需要注意的是 只有内存安装DLL()
是用来注Game-EC模块所编译的DLL,如果你拿其他语言写的DLL文件,使用内存安装DLL
来进行内存方式注入的话可能会失败的。

DLL 得使用 编译 来编译,并且提示是否写出所需支持库,选择否即可!

本功能目前只测试过:xp,2003,win7 32位 64位 ,win8 32位系统
特别提醒:
如果注入个别游戏出现奔溃,
可能是DLL 窗口里 使用了 “标签”、“透明标签”、“易语言自带时钟这几样组件” 。
如果要使用标签请用编辑框代替,时钟请用模块自带的 时间_创建时钟() 再试。



游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

1

主题

2

帖子

0

积分

正式用户

Rank: 1

积分
0
发表于 2024-1-27 05:44:44 | 显示全部楼层
5875277888888
回复

使用道具 举报

快捷回复 【不要灌水喔,臭宝!】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则