易语言怎样调用api读取内存的内容

不要模版,要api的读取方法希望大侠能够发下关键的源码,还有就是16位内存怎么输入啊。偏移在易语言里怎么计算... 不要模版,要api的读取方法希望大侠能够发下关键的源码,还有就是16位内存怎么输入啊。偏移在易语言里怎么计算 展开
 我来答
8羽毛8
推荐于2017-11-23 · TA获得超过186个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:70.6万
展开全部
.版本 2

.DLL命令 取进程线程标识符_, 整数型, "user32.dll", "GetWindowThreadProcessId", , GetWindowThreadProcessId,获取与指定窗口关联在一起的一个线程和进程标识符
.参数 窗口句柄, 整数型, , hwnd,指定窗口句柄
.参数 进程标识符, 整数型, 传址, lpdwProcessId,指定一个变量,用于装载拥有那个窗口的一个进程的标识符

.DLL命令 寻找顶级窗口_, 整数型, "user32.dll", "FindWindowA", , FindWindow,寻找窗口列表中第一个符合指定条件的顶级窗口
.参数 窗口类名, 文本型, , lpClassName,参见相关帮助
.参数 窗口文本, 整数型, , lpWindowName,参见相关帮助

.DLL命令 OpenProcess, 整数型, , , , 打开进程
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 整数型
.参数 dwProcessId, 整数型

.DLL命令 CloseHandle, 逻辑型, , "CloseHandle", , 关闭进程
.参数 hObject, 整数型

.DLL命令 _读字节集内存, 整数型, , "ReadProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集, 传址
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型

.DLL命令 _读整型内存, 整数型, , "ReadProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型, , 内存地址
.参数 lpBuffer, 整数型, 传址, 数据指针
.参数 nSize, 整数型, , 长度
.参数 lpNumberOfBytesWritten, 整数型, , 实际写出长度

.常量 PROCESS_ALL_ACCESS, "2035711", , 内存操作

.版本 2

.子程序 读文本内存, 文本型, 公开, 读取文本型数据(返回文本 失败返回空文本)
.参数 内存地址, 整数型
.参数 长度, 整数型, 可空, 默认为20 欲读取的长度字节
.局部变量 临时字节集, 字节集
.局部变量 操作句柄, 整数型

.如果真 (长度 = 0)
长度 = 20
.如果真结束
' --读文本---------------------------------
临时字节集 = 取空白字节集 (20)
操作句柄 = OpenProcess (#PROCESS_ALL_ACCESS, 0, PID) ' 取得操作句柄
_读字节集内存 (操作句柄, 内存地址, 临时字节集, 长度, 0)
CloseHandle (操作句柄)
返回 (到文本 (临时字节集))

.子程序 读整型内存, 长整数型, 公开, 读取整数型数据(返回整数内容 失败返回0) [斩月]
.参数 内存地址, 整数型
.参数 是否长整数, 逻辑型, 可空, 默认为假:读取整数型 真:读取长整数型
.局部变量 临时整数, 整数型
.局部变量 长度, 整数型
.局部变量 操作句柄, 整数型

.如果 (是否长整数)
长度 = 8
.否则
长度 = 4
.如果结束
' ---读整数----------------------------------
操作句柄 = OpenProcess (#PROCESS_ALL_ACCESS, 0, PID) ' 取得操作句柄
_读整型内存 (操作句柄, 内存地址, 临时整数, 长度, 0)
CloseHandle (操作句柄)
返回 (临时整数)

.子程序 读字节集内存, 字节集, 公开, 读取字节集数据(返回字节集 失败返回空) [斩月]
.参数 地址, 整数型, , 内存地址
.参数 长度, 整数型, , 欲读长度
.局部变量 变量, 字节集, , , 保存读取数据的变量
.局部变量 操作句柄, 整数型

变量 = 取空白字节集_ (长度)
操作句柄 = OpenProcess (#PROCESS_ALL_ACCESS, 0, PID) ' 取得操作句柄
_读字节集内存 (操作句柄, 地址, 变量, 长度, 0)
CloseHandle (操作句柄)
返回 (变量)

.版本 2

.子程序 取空白字节集_, 字节集, , 返回具有特定数目 0 字节的字节集 [斩月]
.参数 零字节数目, 整数型
.局部变量 空白字节集, 字节集

.计次循环首 (零字节数目, )
空白字节集 = 空白字节集 + { 0 }
.计次循环尾 ()
返回 (空白字节集)

.版本 2

.子程序 取窗口PID, 整数型, 公开, 0就是失败了。。
.参数 窗口类名, 文本型, , 窗口类名
.局部变量 句柄, 整数型
.局部变量 局部_PID, 整数型

句柄 = 寻找顶级窗口_ (窗口类名, 0)
.如果真 (句柄 ≠ 0)
取进程线程标识符_ (句柄, 局部_PID)
.如果真结束
PID = 局部_PID '原变量来自模块全局变量
返回 (局部_PID)

.版本 2

.子程序 十六到十, 长整数型, 公开, 将十六进制转换成十进制(返回十进制文本)
.参数 十六进制文本, 文本型, , 待转换的十六进制文本
.局部变量 中间文本, 文本型
.局部变量 结果, 长整数型
.局部变量 局部计次, 整数型

.变量循环首 (1, 取文本长度 (十六进制文本), 1, 局部计次)
中间文本 = 取文本中间 (十六进制文本, 局部计次, 1)
结果 = (寻找文本 (“0123456789ABCDEF”, 中间文本, , 真) - 1) × 求次方 (16, 取文本长度 (十六进制文本) - 局部计次) + 结果
.变量循环尾 ()
返回 (结果)

=========================================
1.偏移要通过OD或者其他软件自己找
2.十六进制转十进制也附上了..
天啊..... 这么多代码就值 5分啊啊啊 ..... 给我加分....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式