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 窗口里 使用了 “标签”、“透明标签”、“易语言自带时钟这几样组件” 。 如果要使用标签请用编辑框代替,时钟请用模块自带的 时间_创建时钟() 再试。
|