:6.036KB : :1 :2020-12-17 10:46:11
WriteProcessMemory (Rpid, Addr, 取指针地址 (AddStr), 取字节集长度 (AddStr), lpret) ' 把模块名和函数名都写入
.如果真 (lpret ≤ 0) ' lpret 为写入字节数量
CloseHandle (Rpid)
返回 (3) ' //写入失败,返回自定义错误代码3
.如果真结束
temp = 取变量数据地址 (Addr)
CopyMemory (PL + 8, temp, 4) ' //将dll名字的首地址指针(4字节)写入 替换注入代码
temp = Addr + 取文本长度 (ModuleName) + 1
CopyMemory (PL + 16, 取变量数据地址 (temp), 4) ' //将函数名字的首地址指针(4字节)写入 替换注入代码 地址在DLL名后面,所以是取文本长度 (ModuleName) + 1(结束符)
ApiAddr = GetProcAddress (GetModuleHandleA (“Kernel32.dll”), “GetProcAddress”)
.如果真 (ApiAddr = 0)
CloseHandle (Rpid)
返回 (4) ' //获取失败,返回自定义错误代码4
.如果真结束
temp = 取变量数据地址 (ApiAddr)
CopyMemory (PL + 22, temp, 4) ' //将GetProcAddress的地址指针(4字节) 替换注入代码
temp = 取变量数据地址 (Parameters)
CopyMemory (PL + 29, temp, 4) ' //将参数(4字节) 替换注入代码
' OK 到这里 注入代码已经完成 把这代码在写入目标进程 执行远程CALL就行了
WriteProcessMemory (Rpid, Addr + 取字节集长度 (AddStr) + 1, 取指针地址 (注入代码), 取字节集长度 (注入代码), lpret) ' 把注入代码写入
.如果真 (lpret ≤ 0) ' lpret 为写入字节数量
CloseHandle (Rpid)
返回 (5) ' //写入失败,返回自定义错误代码5
.如果真结束
调试输出 (取十六进制文本 (Addr + 取字节集长度 (AddStr) + 1), 注入代码)
02-18易语言的自用CAD插件开源
02-16易语言打造的最简单易用的http服务框架
02-16Fiddler批量自动生成易语言代码
02-16易语言如何判断按钮只能在30秒内点击一次
02-16易语言助手插件快捷键添加注释功能
02-15易语言调用Python[模块]
02-15易语言语法的词法解析
02-09结构组比易语言数据类型调用更加高效、灵
10-21易语言学习制作的生意参谋转换工具
10-15易语言word循环插入文字 图片工具源码
10-12易语言开源简洁C语言编辑器源码
05-30易语言开发的软件逆向破解详细分析教程
05-30易语言函数堆栈图简单分析教程笔记