易语言内存注入DLL编写和注入

511遇见

注入步骤

1、获取进程ID
2、获取注入DLL路径
3、获取注入DLL里的函数名称
4、执行内存注入
5、调用注入函数
6、释放注入

注入DLL源码

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

加载内存中的DLL

.版本 2
 
.子程序 LoadMemLibrary, 整数型, 公开, 加载内存中的DLL
.参数 pData, 字节集
 
置入代码 ({ 139, 69, 8, 139, 0, 133, 192, 117, 4, 201, 194, 4, 0, 131, 192, 8, 137, 69, 8, 235, 3 })
置入代码 (#load_code)
返回 (0)

释放内存中的DLL

.版本 2
 
.子程序 FreeMemLibrary, 逻辑型, 公开, 释放内存中的DLL
.参数 hLibModule, 整数型
 
置入代码 ({ 235, 3 })
置入代码 (#free_code)
返回 ()

调用注入函数接口

.版本 2
.支持库 spec
 
.局部变量 hAddress, , , , 函数地址
.局部变量 返回值
 
hAddress = GetMemProcAddress (hModule, 编辑框3.内容)
.如果真 (hAddress ≠ 0)
    返回值 = 调用子程序_asm (hAddress, , , , , , , , , , , , , , , )
    调试输出 (“返回值” + 到文本 (返回值))

释放注入句柄

.版本 2
.支持库 spec
 
.局部变量 ret, 逻辑型
 
ret = FreeMemLibrary (hModule)
调试输出 (ret)
hModule = 0

教程获取下载:


发布日期:

所属分类: 易语言 标签: