通用内存修改器+注入器源码
通用内存修改器+注入器源码 .版本 2 .支持库 iext .程序集 窗口程序集1 .程序集变量 停止搜索, 逻辑型 .程序集变量 搜索结果, 整数型, , "0" .程序集变量 列表框_十六进制, 逻辑型 .子程序 _窗口1_鼠标左键被按下1, 逻辑型, , 事件拦截 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 鼠标显示 () 返回 (真) .子程序 _窗口1_位置被改变 .如果真 (位置 = 2) 位置 = 1 可视 = 假 .如果真结束 .子程序 _窗口1_可否被关闭, 逻辑型 位置 = 1 可视 = 假 返回 (假) .子程序 _窗口1_创建完毕 宽 度 = 412 高度 = 317 鼠标显示 () 内存操作.提升权限 () 内存操作.打开进程 () 编辑框_结束地址.内容 = 到文本 (到数值 (&RunDllHostCallBack)) 事件拦截.鼠标左键被按下 (取窗口句柄 (), &_窗口1_鼠标左键被按下1) 监视热键 (&回调热键事件, #Home键) .子程序 回调热键事件 可视 = 真 .子程序 _组合框_搜索类型_列表项被选择, , , 搜索功能区 .判断开始 (组合框_搜索类型.现行选中项 = 0) 编辑框_搜索数据.输入方式 = 7 ' 输入整数 .判断 (组合框_搜索类型.现行选中项 = 1) 编辑框_搜索数据.输入方式 = 8 ' 输入长整数 .判断 (组合框_搜索类型.现行选中项 = 2) 编辑框_搜索数据.输入方式 = 9 ' 输入小数 .判断 (组合框_搜索类型.现行选中项 = 3) 编辑框_搜索数据.输入方式 = 10 ' 输入双精度小数 .默认 编辑框_搜索数据.输入方式 = 0 ' 输入文本 .判断结束 .子程序 _组合框_搜索类型2_列表项被选择 .判断开始 (组合框_搜索类型2.现行选中项 = 5) 编辑框_搜索数据.输入方式 = 0 ' 输入文本 .判断 (组合框_搜索类型2.现行选中项 = 4) 编辑框_搜索数据.输入方式 = 7 ' 输入整数 .默认 _组合框_搜索类型_列表项被选择 () .判断结束 .子程序 获取搜索数据, 字节集 .局部变量 待搜索数据, 字节集 .判断开始 (组合框_搜索类型2.现行选中项 = 4) 待搜索数据 = 到字节集 (到整数 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型2.现行选中项 = 5) 待搜索数据 = 到字节集 (编辑框_搜索数据.内容) .判断 (组合框_搜索类型.现行选中项 = 0) 待搜索数据 = 到字节集 (到整数 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型.现行选中项 = 1) 待搜索数据 = 到字节集 (到长整数 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型.现行选中项 = 2) 待搜索数据 = 到字节集 (到小数 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型.现行选中项 = 3) 待搜索数据 = 到字节集 (到数值 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型.现行选中项 = 4) 待搜索数据 = 到字节集 (编辑框_搜索数据.内容) .判断 (组合框_搜索类型.现行选中项 = 5) .如果 (取文本左边 (编辑框_搜索数据.内容, 1) = “{”) 待搜索数据 = 还原字节集 (编辑框_搜索数据.内容) .否则 待搜索数据 = 还原字节集2 (编辑框_搜索数据.内容) .如果结束 .默认 .判断结束 返回 (待搜索数据) .子程序 _按钮_开始搜索_被单击 .如果真 (按钮_开始搜索.标题 = “”) 连续赋值 (假, 按钮_开始搜索.禁止, 组合框_搜索类型.禁止, 组合框_搜索类型2.禁止, 组合框_搜索类型2.可视, 编辑框_搜索数据.禁止, 按钮_智能搜集.禁止, 编辑框_搜集代码.可视, 组合框_显示数据类型.可视) 连续赋值 (真, 按钮_再次搜索.禁止, 按钮_智能搜集.可视) 组合框_搜索类型2.现行选中项 = 0 超级列表框1.全部删除 () 按钮_开始搜索.标题 = “首次搜索” 编辑框_搜索数据.内容 = “” .如果真结束 .如果真 (编辑框_搜索数据.内容 = “”) 编辑框_搜索数据.获取焦点 () 标签_搜索.标题 = “请您输入待搜索的数据→” 标签_搜索.文本颜色 = #红色 返回 () .如果真结束 按钮_智能搜集.禁止 = 真 按钮_智能搜集.可视 = 假 按钮_停止.可视 = 真 搜索内存并显示 (真) .子程序 搜索内存并显示 .参数 是否首次搜索, 逻辑型, 可空 .局部变量 计次, 整数型 .局部变量 时间, 整数型 .局部变量 结果数目, 整数型 .局部变量 索引, 整数型 时间 = 取启动时间 () 进度条1.位置 = 0 超级列表框1.全部删除 () 标签_搜索.文本颜色 = #绿色 标签_搜索.标题 = “正在进行搜索...” 停止搜索 = 假 连续赋值 (真, 按钮_开始搜索.禁止, 按钮_再次搜索.禁止, 组合框_搜索类型.禁止, 组合框_搜索类型2.禁止, 编辑框_搜索数据.禁止) .如果 (是否首次搜索) .判断开始 (单选框1.选中) 索引 = 0 .判断 (单选框2.选中) 索引 = 1 .判断 (单选框3.选中) 索引 = 2 .判断 (单选框4.选中) 索引 = 3 .判断 (单选框5.选中) 索引 = 4 .判断 (单选框6.选中) 索引 = 十六到十 (编辑框_首次搜索偏移量.内容) .默认 .判断结束 组合框_搜索类型2.可视 = 真 结果数目 = 内存操作.搜索 (获取搜索数据 (), 搜索结果, &回调进度, 到整数 (编辑框_起始地址.内容), 到整数 (编辑框_结束地址.内容), 索引, 选择框_深入搜索.选中) .否则 .判断开始 (组合框_搜索类型2.现行选中项 = 1) 索引 = -4 .判断 (组合框_搜索类型2.现行选中项 = 2) 索引 = -3 .判断 (组合框_搜索类型2.现行选中项 = 3) 索引 = -2 .判断 (组合框_搜索类型2.现行选中项 = 4) 索引 = -5 .判断 (组合框_搜索类型2.现行选中项 = 5) 索引 = -6 .默认 索引 = -1 .判断结束 结果数目 = 内存操作.再次搜索 (获取搜索数据 (), 搜索结果, &回调进度, 索引) .如果结束 .如果 (列表框_十六进制) ' 10进制为真 16进制为假 .计次循环首 (选择 (结果数目 > 3000, 3000, 结果数目), 计次) ' 只显示5000个到列表 .如果 (内存操作.是否静态地址 (搜索结果 [计次])) .如果 (内存操作.是否基址 (搜索结果 [计次])) 索引 = 1 .否则 索引 = 0 .如果结束 超级列表框1.插入表项 (0, 十到十六 (搜索结果 [计次], 真), 索引, , , 搜索结果 [计次]) .否则 超级列表框1.插入表项 (-1, 十到十六 (搜索结果 [计次], 真), -1, , , 搜索结果 [计次]) .如果结束 .计次循环尾 () .否则 .计次循环首 (选择 (结果数目 > 5000, 5000, 结果数目), 计次) .如果 (内存操作.是否静态地址 (搜索结果 [计次])) .如果 (内存操作.是否基址 (搜索结果 [计次])) 索引 = 1 .否则 索引 = 0 .如果结束 超级列表框1.插入表项 (0, 十到十六 (搜索结果 [计次], 真), 索引, , , 搜索结果 [计次]) .否则 超级列表框1.插入表项 (-1, 十到十六 (搜索结果 [计次], 真), -1, , , 搜索结果 [计次]) .如果结束 .计次循环尾 () .如果结束 .判断开始 (组合框_搜索类型.现行选中项 = 0) 超级列表框1.置列标题 (1, “整数”) 超级列表框1.置列宽 (1, 100) .判断 (组合框_搜索类型.现行选中项 = 1) 超级列表框1.置列标题 (1, “长整数”) 超级列表框1.置列宽 (1, 160) .判断 (组合框_搜索类型.现行选中项 = 2) 超级列表框1.置列标题 (1, “小数”) 超级列表框1.置列宽 (1, 100) .判断 (组合框_搜索类型.现行选中项 = 3) 超级列表框1.置列标题 (1, “双精度小数”) 超级列表框1.置列宽 (1, 160) .判断 (组合框_搜索类型.现行选中项 = 4) 超级列表框1.置列标题 (1, “文本”) 超级列表框1.置列宽 (1, 100) .判断 (组合框_搜索类型.现行选中项 = 5) 超级列表框1.置列标题 (1, “字节集”) 超级列表框1.置列宽 (1, 200) .默认 .判断结束 组合框_显示数据类型.现行选中项 = 组合框_搜索类型.现行选中项 + 1 组合框_显示数据类型.可视 = 真 标签_搜索.标题 = “搜索结果:” + 到文本 (结果数目) + “ 用时:” + 到文本 (取启动时间 () - 时间) + “毫秒” 按钮_开始搜索.标题 = “” 连续赋值 (假, 按钮_开始搜索.禁止, 按钮_再次搜索.禁止, 组合框_搜索类型2.禁止, 编辑框_搜索数据.禁止, 按钮_停止.可视) _组合框_搜索类型_列表项被选择 () 选择夹_内存.现行子夹 = 0 .子程序 回调进度, 逻辑型 .参数 进度, 整数型 进度条1.位置 = 进度 返回 (停止搜索) .子程序 _按钮_再次搜索_被单击 搜索内存并显示 () .子程序 _按钮_智能搜集_被单击 .如果真 (编辑框_搜索数据.内容 = “”) 编辑框_搜索数据.获取焦点 () 标签_搜索.标题 = “请您输入待搜索的数据→” 标签_搜索.文本颜色 = #红色 返回 () .如果真结束 创建线程 (&智能搜集线程) .子程序 智能搜集线程 .局部变量 结果代码, 文本型, , "0" .局部变量 计次, 整数型 .局部变量 时间, 整数型 .局部变量 索引, 整数型 时间 = 取启动时间 () 进度条1.位置 = 0 超级列表框1.全部删除 () 标签_搜索.文本颜色 = #绿色 标签_搜索.标题 = “正在进行智能搜集...” 停止搜索 = 假 连续赋值 (真, 编辑框_搜集代码.可视, 按钮_智能搜集.禁止, 按钮_开始搜索.禁止, 组合框_搜索类型.禁止, 组合框_搜索类型2.禁止, 编辑框_搜索数据.禁止, 按钮_停止.可视) .判断开始 (单选框1.选中) 索引 = 0 .判断 (单选框2.选中) 索引 = 1 .判断 (单选框3.选中) 索引 = 2 .判断 (单选框4.选中) 索引 = 3 .判断 (单选框5.选中) 索引 = 4 .判断 (单选框6.选中) 索引 = 十六到十 (编辑框_首次搜索偏移量.内容) .默认 .判断结束 .计次循环首 (内存操作.搜集代码 (获取搜索数据 (), 结果代码, &回调进度, 到整数 (编辑框_起始地址.内容), 到整数 (编辑框_结束地址.内容)), 计次) 编辑框_搜集代码.加入文本 (结果代码 [计次] + #换行符) .计次循环尾 () 标签_搜索.标题 = “搜索结果:” + 到文本 (取数组成员数 (结果代码)) + “ 用时:” + 到文本 (取启动时间 () - 时间) + “毫秒” 按钮_开始搜索.标题 = “” 连续赋值 (假, 按钮_开始搜索.禁止, 按钮_停止.可视) 选择夹_内存.现行子夹 = 0 .子程序 _按钮_停止_被单击 停止搜索 = 真 连续赋值 (假, 按钮_开始搜索.禁止, 组合框_搜索类型.禁止, 组合框_搜索类型2.禁止, 组合框_搜索类型2.可视, 编辑框_搜索数据.禁止, 按钮_智能搜集.禁止, 编辑框_搜集代码.可视, 按钮_停止.可视) 连续赋值 (真, 按钮_再次搜索.禁止, 按钮_智能搜集.可视) 超级列表框1.全部删除 () 按钮_开始搜索.标题 = “首次搜索” 选择夹_内存.现行子夹 = 0 .子程序 _组合框_显示数据类型_列表项被选择 .局部变量 当前文本, 文本型 当前文本 = 组合框_显示数据类型.取项目文本 (组合框_显示数据类型.现行选中项) 超级列表框1.置列标题 (1, 当前文本) .判断开始 (当前文本 = “整数”) 超级列表框1.置列宽 (1, 100) .判断 (当前文本 = “长整数”) 超级列表框1.置列宽 (1, 160) .判断 (当前文本 = “小数”) 超级列表框1.置列宽 (1, 100) .判断 (当前文本 = “双精度小数”) 超级列表框1.置列宽 (1, 160) .判断 (当前文本 = “文本”) 超级列表框1.置列宽 (1, 100) .判断 (当前文本 = “字节集”) 超级列表框1.置列宽 (1, 200) .默认 超级列表框1.置列宽 (1, 160) .判断结束 编辑框_搜索数据.获取焦点 () .子程序 _超级列表框1_表头被单击 .参数 被单击列索引, 整数型 .局部变量 计次, 整数型 .局部变量 临时地址, 文本型 .如果真 (被单击列索引 = 0) .如果 (超级列表框1.取列标题 (0) = “地址(10进制)”) .计次循环首 (超级列表框1.取表项数 (), 计次) 超级列表框1.置标题 (计次 - 1, 0, 十到十六 (超级列表框1.取表项数值 (计次 - 1), 真)) .计次循环尾 () 超级列表框1.置列标题 (0, “地址(16进制)”) 列表框_十六进制 = 真 .否则 .计次循环首 (超级列表框1.取表项数 (), 计次) 超级列表框1.置标题 (计次 - 1, 0, 到文本 (超级列表框1.取表项数值 (计次 - 1))) .计次循环尾 () 超级列表框1.置列标题 (0, “地址(10进制)”) 列表框_十六进制 = 假 .如果结束 .如果真结束 .如果真 (被单击列索引 = 1) .判断开始 (超级列表框1.取列标题 (1) = “数据(字符串)”) 超级列表框1.置列标题 (1, “整数”) 超级列表框1.置列宽 (1, 100) .判断 (超级列表框1.取列标题 (1) = “整数”) 超级列表框1.置列标题 (1, “长整数”) 超级列表框1.置列宽 (1, 160) .判断 (超级列表框1.取列标题 (1) = “长整数”) 超级列表框1.置列标题 (1, “小数”) 超级列表框1.置列宽 (1, 100) .判断 (超级列表框1.取列标题 (1) = “小数”) 超级列表框1.置列标题 (1, “双精度小数”) 超级列表框1.置列宽 (1, 160) .判断 (超级列表框1.取列标题 (1) = “双精度小数”) 超级列表框1.置列标题 (1, “文本”) 超级列表框1.置列宽 (1, 100) .判断 (超级列表框1.取列标题 (1) = “文本”) 超级列表框1.置列标题 (1, “字节集”) 超级列表框1.置列宽 (1, 200) .默认 超级列表框1.置列标题 (1, “数据(字符串)”) 超级列表框1.置列宽 (1, 160) .判断结束 .如果真结束 .子程序 _超级列表框1_左键单击表项 .局部变量 地址, 整数型 .局部变量 内存属性, 内存属性 .如果真 (超级列表框1.现行选中项 = -1) 返回 () .如果真结束 地址 = 超级列表框1.取表项数值 (超级列表框1.现行选中项) 编辑框_内存属性.内容 = “地址:” + 十到十六 (地址, 真) + “ (” + 到文本 (地址) + “)” + #换行符 内存属性 = 内存操作.查询内存属性 (地址) 编辑框_内存属性.加入文本 (“状态:” + 到文本 (内存属性.状态) + “ (保护:” + 到文本 (内存属性.保护) + “,原始:” + 到文本 (内存属性.原始保护) + “)” + #换行符) ' 编辑框_内存属性.加入文本 (“原始保护:” + 到文本 (内存属性.原始保护) + #换行符) 编辑框_内存属性.加入文本 (“区域大小:” + 到文本 (内存属性.区域大小) + #换行符) 编辑框_内存属性.加入文本 (“区域基址:” + 十到十六 (内存属性.区域基地址, 真) + “ (” + 到文本 (内存属性.区域基地址) + “)” + #换行符) 编辑框_内存属性.加入文本 (“区域偏移量:” + 十到十六 (地址 - 内存属性.区域基地址) + #换行符) 编辑框_内存属性.加入文本 (“分配基址:” + 十到十六 (内存属性.分配基地址, 真) + “ (” + 到文本 (内存属性.分配基地址) + “)” + #换行符) 编辑框_内存属性.加入文本 (“分配偏移量:” + 十到十六 (地址 - 内存属性.分配基地址)) 选择夹_内存.现行子夹 = 1 超级列表框1.获取焦点 () .子程序 _时钟_刷新搜索结果_周期事件 .局部变量 列标题, 文本型 .局部变量 计次, 整数型 .局部变量 数据, 字节集 .局部变量 文本, 文本型 列标题 = 超级列表框1.取列标题 (1) .计次循环首 (超级列表框1.取表项数 (), 计次) 数据 = 内存操作.读取 (超级列表框1.取表项数值 (计次 - 1), 8) .判断开始 (列标题 = “字节集”) 文本 = 查看字节集 (数据) .判断 (列标题 = “数据(字符串)”) 文本 = 查看字节集2 (数据) .判断 (列标题 = “整数”) 文本 = 到文本 (取字节集数据 (数据, #整数型, )) .判断 (列标题 = “长整数”) 文本 = 到文本 (取字节集数据 (数据, #长整数型, )) .判断 (列标题 = “小数”) 文本 = 到文本 (取字节集数据 (数据, #小数型, )) .判断 (列标题 = “双精度小数”) 文本 = 到文本 (取字节集数据 (数据, #双精度小数型, )) .判断 (列标题 = “文本”) 文本 = 取字节集数据 (数据, #文本型, ) .默认 .判断结束 .如果真 (超级列表框1.取标题 (计次 - 1, 1) ≠ 文本) 超级列表框1.置标题 (计次 - 1, 1, 文本) .如果真结束 .如果真 (计次 > 300) ' 太多了,刷新会卡的. 跳出循环 () .如果真结束 .计次循环尾 () .子程序 _超级列表框1_右键单击表项 .如果真 (超级列表框1.现行选中项 ≠ -1) 弹出菜单 (列表框1菜单, , ) .如果真结束 .子程序 _超级列表框2_右键单击表项 .如果 (超级列表框2.现行选中项 ≠ -1) 弹出菜单 (列表框2菜单, , ) .否则 弹出菜单 (列表框2菜单2, , ) .如果结束 .子程序 _超级列表框1_被双击, 逻辑型, , 到添加地址 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 .如果真 (超级列表框1.现行选中项 ≠ -1) _添加到列表_被选择 () .如果真结束 .子程序 _超级列表框2_被双击, 逻辑型, , 到修改地址 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 .局部变量 类型, 文本型 .如果真 (超级列表框2.现行选中项 ≠ -1) _修改地址_被选择 () .如果真结束 .子程序 _按钮_添加地址_被单击, , , 添加地址 载入 (窗口2, , 假) 窗口2.按钮_删除地址.可视 = 假 窗口2.标题 = “添加地址” .子程序 _时钟_锁定保存地址_周期事件, , , 锁定地址 .局部变量 计次, 整数型 .局部变量 数据, 字节集 .局部变量 文本, 文本型 .局部变量 待锁定数据, 字节集 .局部变量 类型, 整数型 .计次循环首 (超级列表框2.取表项数 (), 计次) 类型 = 到数值 (超级列表框2.取标题 (计次 - 1, 3)) .如果 (超级列表框2.取标题 (计次 - 1, 4) = “1”) 文本 = 超级列表框2.取标题 (计次 - 1, 1) .判断开始 (类型 = 0) 待锁定数据 = 到字节集 (到整数 (文本)) .判断 (类型 = 1) 待锁定数据 = 到字节集 (到长整数 (文本)) .判断 (类型 = 2) 待锁定数据 = 到字节集 (到小数 (文本)) .判断 (类型 = 3) 待锁定数据 = 到字节集 (到数值 (文本)) .判断 (类型 = 4) 待锁定数据 = 到字节集 (文本) + { 0 } .判断 (类型 = 5) 待锁定数据 = 还原字节集 (文本) .默认 .判断结束 内存操作.写入 (超级列表框2.取表项数值 (计次 - 1), 待锁定数据) .否则 数据 = 内存操作.读取 (超级列表框2.取表项数值 (计次 - 1), 8) .判断开始 (类型 = 0) 文本 = 到文本 (取字节集数据 (数据, #整数型, )) .判断 (类型 = 1) 文本 = 到文本 (取字节集数据 (数据, #长整数型, )) .判断 (类型 = 2) 文本 = 到文本 (取字节集数据 (数据, #小数型, )) .判断 (类型 = 3) 文本 = 到文本 (取字节集数据 (数据, #双精度小数型, )) .判断 (类型 = 4) 文本 = 取字节集数据 (数据, #文本型, ) .判断 (类型 = 5) 文本 = 查看字节集 (数据) .默认 .判断结束 .如果真 (超级列表框2.取标题 (计次 - 1, 1) ≠ 文本) 超级列表框2.置标题 (计次 - 1, 1, 文本) .如果真结束 .如果结束 .计次循环尾 () .子程序 _超级列表框2_检查框状态被改变 .参数 表项索引, 整数型 .参数 检查框状态, 整数型 超级列表框2.置标题 (表项索引, 4, 到文本 (检查框状态)) .子程序 _添加到列表_被选择, , , 添加地址 选择夹_内存.现行子夹 = 0 载入 (窗口2, , 假) 窗口2.按钮_删除地址.可视 = 假 窗口2.标题 = “添加地址” 窗口2.编辑框_地址.内容 = 到文本 (超级列表框1.取表项数值 (超级列表框1.现行选中项)) 窗口2.组合框_搜索类型.现行选中项 = 组合框_搜索类型.现行选中项 窗口2.编辑框_说明.内容 = 窗口2.编辑框_地址.内容 _按钮_读_被单击 () .子程序 _复制数据_被选择 置剪辑板文本 (超级列表框1.取标题 (超级列表框1.现行选中项, 1)) .子程序 _内存编辑器1_被选择, , , 载入内存编辑器1 编辑器_地址 = 超级列表框1.取表项数值 (超级列表框1.现行选中项) 载入 (窗口3, , 假) .子程序 _修改地址_被选择, , , 修改地址 载入 (窗口2, , 假) 窗口2.按钮_删除地址.可视 = 真 窗口2.标题 = “修改地址” 窗口2.编辑框_地址.内容 = 到文本 (超级列表框2.取表项数值 (超级列表框2.现行选中项)) 窗口2.编辑框_说明.内容 = 超级列表框2.取标题 (超级列表框2.现行选中项, 0) 窗口2.编辑框_数据.内容 = 超级列表框2.取标题 (超级列表框2.现行选中项, 1) 窗口2.组合框_搜索类型.现行选中项 = 到数值 (超级列表框2.取标题 (超级列表框2.现行选中项, 3)) .子程序 _查看属性_被选择, , , 查看属性 .局部变量 地址, 整数型 .局部变量 内存属性, 内存属性 .如果真 (超级列表框2.现行选中项 = -1) 返回 () .如果真结束 地址 = 超级列表框2.取表项数值 (超级列表框2.现行选中项) 编辑框_内存属性.内容 = “地址:” + 十到十六 (地址, 真) + “ (” + 到文本 (地址) + “)” + #换行符 内存属性 = 内存操作.查询内存属性 (地址) 编辑框_内存属性.加入文本 (“状态:” + 到文本 (内存属性.状态) + “ (保护:” + 到文本 (内存属性.保护) + “,原始:” + 到文本 (内存属性.原始保护) + “)” + #换行符) ' 编辑框_内存属性.加入文本 (“原始保护:” + 到文本 (内存属性.原始保护) + #换行符) 编辑框_内存属性.加入文本 (“区域大小:” + 到文本 (内存属性.区域大小) + #换行符) 编辑框_内存属性.加入文本 (“区域基址:” + 十到十六 (内存属性.区域基地址, 真) + “ (” + 到文本 (内存属性.区域基地址) + “)” + #换行符) 编辑框_内存属性.加入文本 (“区域偏移量:” + 十到十六 (地址 - 内存属性.区域基地址) + #换行符) 编辑框_内存属性.加入文本 (“分配基址:” + 十到十六 (内存属性.分配基地址, 真) + “ (” + 到文本 (内存属性.分配基地址) + “)” + #换行符) 编辑框_内存属性.加入文本 (“分配偏移量:” + 十到十六 (地址 - 内存属性.分配基地址)) 选择夹_内存.现行子夹 = 1 .子程序 _移除地址_被选择, , , 删除1 .如果真 (超级列表框2.现行选中项 ≠ -1) 超级列表框2.删除表项 (超级列表框2.现行选中项) .如果真结束 .子程序 _清空地址_被选择 超级列表框2.全部删除 () .子程序 _导入表_被选择 .局部变量 文本组1, 文本型, , "0" .局部变量 文本组2, 文本型, , "0" .局部变量 计次, 整数型 .局部变量 a, 整数型 通用对话框1.初始目录 = 取特殊目录 () 通用对话框1.类型 = 0 .如果真 (通用对话框1.打开 ()) 超级列表框2.全部删除 () 文本组1 = 分割文本 (到文本 (读入文件 (通用对话框1.文件名)), #换行符, ) .计次循环首 (取数组成员数 (文本组1), 计次) 文本组2 = 分割文本 (文本组1 [计次], “|”, ) .如果真 (取数组成员数 (文本组2) = 4) a = 内存操作.取代码地址 (文本组2 [4]) 超级列表框2.插入表项 (, 文本组2 [1], , , , a) .如果真 (a = 0) 超级列表框2.置标题 (计次 - 1, 0, “失效!”) .如果真结束 超级列表框2.置标题 (计次 - 1, 1, 文本组2 [2]) 超级列表框2.置标题 (计次 - 1, 3, 文本组2 [3]) 超级列表框2.置标题 (计次 - 1, 5, 文本组2 [4]) a = 到数值 (文本组2 [3]) .判断开始 (a = 0) 超级列表框2.置标题 (计次 - 1, 2, “整数型”) .判断 (a = 1) 超级列表框2.置标题 (计次 - 1, 2, “长整数”) .判断 (a = 2) 超级列表框2.置标题 (计次 - 1, 2, “小数型”) .判断 (a = 3) 超级列表框2.置标题 (计次 - 1, 2, “长小数”) .判断 (a = 4) 超级列表框2.置标题 (计次 - 1, 2, “文本型”) .判断 (a = 5) 超级列表框2.置标题 (计次 - 1, 2, “字节集”) .默认 .判断结束 .如果真结束 .计次循环尾 () .如果真结束 .子程序 _导出表_被选择 .局部变量 数据, 字节集 .局部变量 计次, 整数型 通用对话框1.初始目录 = 取特殊目录 () 通用对话框1.类型 = 1 .如果真 (通用对话框1.打开 ()) .计次循环首 (超级列表框2.取表项数 (), 计次) 数据 = 数据 + 到字节集 (超级列表框2.取标题 (计次 - 1, 0) + “|” + 超级列表框2.取标题 (计次 - 1, 1) + “|” + 超级列表框2.取标题 (计次 - 1, 3) + “|” + 超级列表框2.取标题 (计次 - 1, 5) + #换行符) .计次循环尾 () 写到文件 (通用对话框1.文件名, 数据) .如果真结束 .子程序 _导入表2_被选择 _导入表_被选择 () .子程序 _从列表中移除_被选择, , , 删除2 .如果真 (超级列表框1.现行选中项 ≠ -1) 超级列表框1.删除表项 (超级列表框1.现行选中项) .如果真结束 .子程序 _内存编辑器2_被选择, , , 载入内存编辑器2 编辑器_地址 = 超级列表框2.取表项数值 (超级列表框2.现行选中项) 载入 (窗口3, , 假) 度 = 412 高度 = 317 鼠标显示 () 内存操作.提升权限 () 内存操作.打开进程 () 编辑框_结束地址.内容 = 到文本 (到数值 (&RunDllHostCallBack)) 事件拦截.鼠标左键被按下 (取窗口句柄 (), &_窗口1_鼠标左键被按下1) 监视热键 (&回调热键事件, #Home键) .子程序 回调热键事件 可视 = 真 .子程序 _组合框_搜索类型_列表项被选择, , , 搜索功能区 .判断开始 (组合框_搜索类型.现行选中项 = 0) 编辑框_搜索数据.输入方式 = 7 ' 输入整数 .判断 (组合框_搜索类型.现行选中项 = 1) 编辑框_搜索数据.输入方式 = 8 ' 输入长整数 .判断 (组合框_搜索类型.现行选中项 = 2) 编辑框_搜索数据.输入方式 = 9 ' 输入小数 .判断 (组合框_搜索类型.现行选中项 = 3) 编辑框_搜索数据.输入方式 = 10 ' 输入双精度小数 .默认 编辑框_搜索数据.输入方式 = 0 ' 输入文本 .判断结束 .子程序 _组合框_搜索类型2_列表项被选择 .判断开始 (组合框_搜索类型2.现行选中项 = 5) 编辑框_搜索数据.输入方式 = 0 ' 输入文本 .判断 (组合框_搜索类型2.现行选中项 = 4) 编辑框_搜索数据.输入方式 = 7 ' 输入整数 .默认 _组合框_搜索类型_列表项被选择 () .判断结束 .子程序 获取搜索数据, 字节集 .局部变量 待搜索数据, 字节集 .判断开始 (组合框_搜索类型2.现行选中项 = 4) 待搜索数据 = 到字节集 (到整数 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型2.现行选中项 = 5) 待搜索数据 = 到字节集 (编辑框_搜索数据.内容) .判断 (组合框_搜索类型.现行选中项 = 0) 待搜索数据 = 到字节集 (到整数 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型.现行选中项 = 1) 待搜索数据 = 到字节集 (到长整数 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型.现行选中项 = 2) 待搜索数据 = 到字节集 (到小数 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型.现行选中项 = 3) 待搜索数据 = 到字节集 (到数值 (编辑框_搜索数据.内容)) .判断 (组合框_搜索类型.现行选中项 = 4) 待搜索数据 = 到字节集 (编辑框_搜索数据.内容) .判断 (组合框_搜索类型.现行选中项 = 5) .如果 (取文本左边 (编辑框_搜索数据.内容, 1) = “{”) 待搜索数据 = 还原字节集 (编辑框_搜索数据.内容) .否则 待搜索数据 = 还原字节集2 (编辑框_搜索数据.内容) .如果结束 .默认 .判断结束 返回 (待搜索数据) .子程序 _按钮_开始搜索_被单击 .如果真 (按钮_开始搜索.标题 = “”) 连续赋值 (假, 按钮_开始搜索.禁止, 组合框_搜索类型.禁止, 组合框_搜索类型2.禁止, 组合框_搜索类型2.可视, 编辑框_搜索数据.禁止, 按钮_智能搜集.禁止, 编辑框_搜集代码.可视, 组合框_显示数据类型.可视) 连续赋值 (真, 按钮_再次搜索.禁止, 按钮_智能搜集.可视) 组合框_搜索类型2.现行选中项 = 0 超级列表框1.全部删除 () 按钮_开始搜索.标题 = “首次搜索” 编辑框_搜索数据.内容 = “” .如果真结束 .如果真 (编辑框_搜索数据.内容 = “”) 编辑框_搜索数据.获取焦点 () 标签_搜索.标题 = “请您输入待搜索的数据→” 标签_搜索.文本颜色 = #红色 返回 () .如果真结束 按钮_智能搜集.禁止 = 真 按钮_智能搜集.可视 = 假 按钮_停止.可视 = 真 搜索内存并显示 (真) .子程序 搜索内存并显示 .参数 是否首次搜索, 逻辑型, 可空 .局部变量 计次, 整数型 .局部变量 时间, 整数型 .局部变量 结果数目, 整数型 .局部变量 索引, 整数型 时间 = 取启动时间 () 进度条1.位置 = 0 超级列表框1.全部删除 () 标签_搜索.文本颜色 = #绿色 标签_搜索.标题 = “正在进行搜索...” 停止搜索 = 假 连续赋值 (真, 按钮_开始搜索.禁止, 按钮_再次搜索.禁止, 组合框_搜索类型.禁止, 组合框_搜索类型2.禁止, 编辑框_搜索数据.禁止) .如果 (是否首次搜索) .判断开始 (单选框1.选中) 索引 = 0 .判断 (单选框2.选中) 索引 = 1 .判断 (单选框3.选中) 索引 = 2 .判断 (单选框4.选中) 索引 = 3 .判断 (单选框5.选中) 索引 = 4 .判断 (单选框6.选中) 索引 = 十六到十 (编辑框_首次搜索偏移量.内容) .默认 .判断结束 组合框_搜索类型2.可视 = 真 结果数目 = 内存操作.搜索 (获取搜索数据 (), 搜索结果, &回调进度, 到整数 (编辑框_起始地址.内容), 到整数 (编辑框_结束地址.内容), 索引, 选择框_深入搜索.选中) .否则 .判断开始 (组合框_搜索类型2.现行选中项 = 1) 索引 = -4 .判断 (组合框_搜索类型2.现行选中项 = 2) 索引 = -3 .判断 (组合框_搜索类型2.现行选中项 = 3) 索引 = -2 .判断 (组合框_搜索类型2.现行选中项 = 4) 索引 = -5 .判断 (组合框_搜索类型2.现行选中项 = 5) 索引 = -6 .默认 索引 = -1 .判断结束 结果数目 = 内存操作.再次搜索 (获取搜索数据 (), 搜索结果, &回调进度, 索引) .如果结束 .如果 (列表框_十六进制) ' 10进制为真 16进制为假 .计次循环首 (选择 (结果数目 > 3000, 3000, 结果数目), 计次) ' 只显示5000个到列表 .如果 (内存操作.是否静态地址 (搜索结果 [计次])) .如果 (内存操作.是否基址 (搜索结果 [计次])) 索引 = 1 .否则 索引 = 0 .如果结束 超级列表框1.插入表项 (0, 十到十六 (搜索结果 [计次], 真), 索引, , , 搜索结果 [计次]) .否则 超级列表框1.插入表项 (-1, 十到十六 (搜索结果 [计次], 真), -1, , , 搜索结果 [计次]) .如果结束 .计次循环尾 () .否则 .计次循环首 (选择 (结果数目 > 5000, 5000, 结果数目), 计次) .如果 (内存操作.是否静态地址 (搜索结果 [计次])) .如果 (内存操作.是否基址 (搜索结果 [计次])) 索引 = 1 .否则 索引 = 0 .如果结束 超级列表框1.插入表项 (0, 十到十六 (搜索结果 [计次], 真), 索引, , , 搜索结果 [计次]) .否则 超级列表框1.插入表项 (-1, 十到十六 (搜索结果 [计次], 真), -1, , , 搜索结果 [计次]) .如果结束 .计次循环尾 () .如果结束 .判断开始 (组合框_搜索类型.现行选中项 = 0) 超级列表框1.置列标题 (1, “整数”) 超级列表框1.置列宽 (1, 100) .判断 (组合框_搜索类型.现行选中项 = 1) 超级列表框1.置列标题 (1, “长整数”) 超级列表框1.置列宽 (1, 160) .判断 (组合框_搜索类型.现行选中项 = 2) 超级列表框1.置列标题 (1, “小数”) 超级列表框1.置列宽 (1, 100) .判断 (组合框_搜索类型.现行选中项 = 3) 超级列表框1.置列标题 (1, “双精度小数”) 超级列表框1.置列宽 (1, 160) .判断 (组合框_搜索类型.现行选中项 = 4) 超级列表框1.置列标题 (1, “文本”) 超级列表框1.置列宽 (1, 100) .判断 (组合框_搜索类型.现行选中项 = 5) 超级列表框1.置列标题 (1, “字节集”) 超级列表框1.置列宽 (1, 200) .默认 .判断结束 组合框_显示数据类型.现行选中项 = 组合框_搜索类型.现行选中项 + 1 组合框_显示数据类型.可视 = 真 标签_搜索.标题 = “搜索结果:” + 到文本 (结果数目) + “ 用时:” + 到文本 (取启动时间 () - 时间) + “毫秒” 按钮_开始搜索.标题 = “” 连续赋值 (假, 按钮_开始搜索.禁止, 按钮_再次搜索.禁止, 组合框_搜索类型2.禁止, 编辑框_搜索数据.禁止, 按钮_停止.可视) _组合框_搜索类型_列表项被选择 () 选择夹_内存.现行子夹 = 0 .子程序 回调进度, 逻辑型 .参数 进度, 整数型 进度条1.位置 = 进度 返回 (停止搜索) .子程序 _按钮_再次搜索_被单击 搜索内存并显示 () .子程序 _按钮_智能搜集_被单击 .如果真 (编辑框_搜索数据.内容 = “”) 编辑框_搜索数据.获取焦点 () 标签_搜索.标题 = “请您输入待搜索的数据→” 标签_搜索.文本颜色 = #红色 返回 () .如果真结束 创建线程 (&智能搜集线程) .子程序 智能搜集线程 .局部变量 结果代码, 文本型, , "0" .局部变量 计次, 整数型 .局部变量 时间, 整数型 .局部变量 索引, 整数型 时间 = 取启动时间 () 进度条1.位置 = 0 超级列表框1.全部删除 () 标签_搜索.文本颜色 = #绿色 标签_搜索.标题 = “正在进行智能搜集...” 停止搜索 = 假 连续赋值 (真, 编辑框_搜集代码.可视, 按钮_智能搜集.禁止, 按钮_开始搜索.禁止, 组合框_搜索类型.禁止, 组合框_搜索类型2.禁止, 编辑框_搜索数据.禁止, 按钮_停止.可视) .判断开始 (单选框1.选中) 索引 = 0 .判断 (单选框2.选中) 索引 = 1 .判断 (单选框3.选中) 索引 = 2 .判断 (单选框4.选中) 索引 = 3 .判断 (单选框5.选中) 索引 = 4 .判断 (单选框6.选中) 索引 = 十六到十 (编辑框_首次搜索偏移量.内容) .默认 .判断结束 .计次循环首 (内存操作.搜集代码 (获取搜索数据 (), 结果代码, &回调进度, 到整数 (编辑框_起始地址.内容), 到整数 (编辑框_结束地址.内容)), 计次) 编辑框_搜集代码.加入文本 (结果代码 [计次] + #换行符) .计次循环尾 () 标签_搜索.标题 = “搜索结果:” + 到文本 (取数组成员数 (结果代码)) + “ 用时:” + 到文本 (取启动时间 () - 时间) + “毫秒” 按钮_开始搜索.标题 = “” 连续赋值 (假, 按钮_开始搜索.禁止, 按钮_停止.可视) 选择夹_内存.现行子夹 = 0 .子程序 _按钮_停止_被单击 停止搜索 = 真 连续赋值 (假, 按钮_开始搜索.禁止, 组合框_搜索类型.禁止, 组合框_搜索类型2.禁止, 组合框_搜索类型2.可视, 编辑框_搜索数据.禁止, 按钮_智能搜集.禁止, 编辑框_搜集代码.可视, 按钮_停止.可视) 连续赋值 (真, 按钮_再次搜索.禁止, 按钮_智能搜集.可视) 超级列表框1.全部删除 () 按钮_开始搜索.标题 = “首次搜索” 选择夹_内存.现行子夹 = 0 .子程序 _组合框_显示数据类型_列表项被选择 .局部变量 当前文本, 文本型 当前文本 = 组合框_显示数据类型.取项目文本 (组合框_显示数据类型.现行选中项) 超级列表框1.置列标题 (1, 当前文本) .判断开始 (当前文本 = “整数”) 超级列表框1.置列宽 (1, 100) .判断 (当前文本 = “长整数”) 超级列表框1.置列宽 (1, 160) .判断 (当前文本 = “小数”) 超级列表框1.置列宽 (1, 100) .判断 (当前文本 = “双精度小数”) 超级列表框1.置列宽 (1, 160) .判断 (当前文本 = “文本”) 超级列表框1.置列宽 (1, 100) .判断 (当前文本 = “字节集”) 超级列表框1.置列宽 (1, 200) .默认 超级列表框1.置列宽 (1, 160) .判断结束 编辑框_搜索数据.获取焦点 () .子程序 _超级列表框1_表头被单击 .参数 被单击列索引, 整数型 .局部变量 计次, 整数型 .局部变量 临时地址, 文本型 .如果真 (被单击列索引 = 0) .如果 (超级列表框1.取列标题 (0) = “地址(10进制)”) .计次循环首 (超级列表框1.取表项数 (), 计次) 超级列表框1.置标题 (计次 - 1, 0, 十到十六 (超级列表框1.取表项数值 (计次 - 1), 真)) .计次循环尾 () 超级列表框1.置列标题 (0, “地址(16进制)”) 列表框_十六进制 = 真 .否则 .计次循环首 (超级列表框1.取表项数 (), 计次) 超级列表框1.置标题 (计次 - 1, 0, 到文本 (超级列表框1.取表项数值 (计次 - 1))) .计次循环尾 () 超级列表框1.置列标题 (0, “地址(10进制)”) 列表框_十六进制 = 假 .如果结束 .如果真结束 .如果真 (被单击列索引 = 1) .判断开始 (超级列表框1.取列标题 (1) = “数据(字符串)”) 超级列表框1.置列标题 (1, “整数”) 超级列表框1.置列宽 (1, 100) .判断 (超级列表框1.取列标题 (1) = “整数”) 超级列表框1.置列标题 (1, “长整数”) 超级列表框1.置列宽 (1, 160) .判断 (超级列表框1.取列标题 (1) = “长整数”) 超级列表框1.置列标题 (1, “小数”) 超级列表框1.置列宽 (1, 100) .判断 (超级列表框1.取列标题 (1) = “小数”) 超级列表框1.置列标题 (1, “双精度小数”) 超级列表框1.置列宽 (1, 160) .判断 (超级列表框1.取列标题 (1) = “双精度小数”) 超级列表框1.置列标题 (1, “文本”) 超级列表框1.置列宽 (1, 100) .判断 (超级列表框1.取列标题 (1) = “文本”) 超级列表框1.置列标题 (1, “字节集”) 超级列表框1.置列宽 (1, 200) .默认 超级列表框1.置列标题 (1, “数据(字符串)”) 超级列表框1.置列宽 (1, 160) .判断结束 .如果真结束 .子程序 _超级列表框1_左键单击表项 .局部变量 地址, 整数型 .局部变量 内存属性, 内存属性 .如果真 (超级列表框1.现行选中项 = -1) 返回 () .如果真结束 地址 = 超级列表框1.取表项数值 (超级列表框1.现行选中项) 编辑框_内存属性.内容 = “地址:” + 十到十六 (地址, 真) + “ (” + 到文本 (地址) + “)” + #换行符 内存属性 = 内存操作.查询内存属性 (地址) 编辑框_内存属性.加入文本 (“状态:” + 到文本 (内存属性.状态) + “ (保护:” + 到文本 (内存属性.保护) + “,原始:” + 到文本 (内存属性.原始保护) + “)” + #换行符) ' 编辑框_内存属性.加入文本 (“原始保护:” + 到文本 (内存属性.原始保护) + #换行符) 编辑框_内存属性.加入文本 (“区域大小:” + 到文本 (内存属性.区域大小) + #换行符) 编辑框_内存属性.加入文本 (“区域基址:” + 十到十六 (内存属性.区域基地址, 真) + “ (” + 到文本 (内存属性.区域基地址) + “)” + #换行符) 编辑框_内存属性.加入文本 (“区域偏移量:” + 十到十六 (地址 - 内存属性.区域基地址) + #换行符) 编辑框_内存属性.加入文本 (“分配基址:” + 十到十六 (内存属性.分配基地址, 真) + “ (” + 到文本 (内存属性.分配基地址) + “)” + #换行符) 编辑框_内存属性.加入文本 (“分配偏移量:” + 十到十六 (地址 - 内存属性.分配基地址)) 选择夹_内存.现行子夹 = 1 超级列表框1.获取焦点 () .子程序 _时钟_刷新搜索结果_周期事件 .局部变量 列标题, 文本型 .局部变量 计次, 整数型 .局部变量 数据, 字节集 .局部变量 文本, 文本型 列标题 = 超级列表框1.取列标题 (1) .计次循环首 (超级列表框1.取表项数 (), 计次) 数据 = 内存操作.读取 (超级列表框1.取表项数值 (计次 - 1), 8) .判断开始 (列标题 = “字节集”) 文本 = 查看字节集 (数据) .判断 (列标题 = “数据(字符串)”) 文本 = 查看字节集2 (数据) .判断 (列标题 = “整数”) 文本 = 到文本 (取字节集数据 (数据, #整数型, )) .判断 (列标题 = “长整数”) 文本 = 到文本 (取字节集数据 (数据, #长整数型, )) .判断 (列标题 = “小数”) 文本 = 到文本 (取字节集数据 (数据, #小数型, )) .判断 (列标题 = “双精度小数”) 文本 = 到文本 (取字节集数据 (数据, #双精度小数型, )) .判断 (列标题 = “文本”) 文本 = 取字节集数据 (数据, #文本型, ) .默认 .判断结束 .如果真 (超级列表框1.取标题 (计次 - 1, 1) ≠ 文本) 超级列表框1.置标题 (计次 - 1, 1, 文本) .如果真结束 .如果真 (计次 > 300) ' 太多了,刷新会卡的. 跳出循环 () .如果真结束 .计次循环尾 () .子程序 _超级列表框1_右键单击表项 .如果真 (超级列表框1.现行选中项 ≠ -1) 弹出菜单 (列表框1菜单, , ) .如果真结束 .子程序 _超级列表框2_右键单击表项 .如果 (超级列表框2.现行选中项 ≠ -1) 弹出菜单 (列表框2菜单, , ) .否则 弹出菜单 (列表框2菜单2, , ) .如果结束 .子程序 _超级列表框1_被双击, 逻辑型, , 到添加地址 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 .如果真 (超级列表框1.现行选中项 ≠ -1) _添加到列表_被选择 () .如果真结束 .子程序 _超级列表框2_被双击, 逻辑型, , 到修改地址 .参数 横向位置, 整数型 .参数 纵向位置, 整数型 .参数 功能键状态, 整数型 .局部变量 类型, 文本型 .如果真 (超级列表框2.现行选中项 ≠ -1) _修改地址_被选择 () .如果真结束 .子程序 _按钮_添加地址_被单击, , , 添加地址 载入 (窗口2, , 假) 窗口2.按钮_删除地址.可视 = 假 窗口2.标题 = “添加地址” .子程序 _时钟_锁定保存地址_周期事件, , , 锁定地址 .局部变量 计次, 整数型 .局部变量 数据, 字节集 .局部变量 文本, 文本型 .局部变量 待锁定数据, 字节集 .局部变量 类型, 整数型 .计次循环首 (超级列表框2.取表项数 (), 计次) 类型 = 到数值 (超级列表框2.取标题 (计次 - 1, 3)) .如果 (超级列表框2.取标题 (计次 - 1, 4) = “1”) 文本 = 超级列表框2.取标题 (计次 - 1, 1) .判断开始 (类型 = 0) 待锁定数据 = 到字节集 (到整数 (文本)) .判断 (类型 = 1) 待锁定数据 = 到字节集 (到长整数 (文本)) .判断 (类型 = 2) 待锁定数据 = 到字节集 (到小数 (文本)) .判断 (类型 = 3) 待锁定数据 = 到字节集 (到数值 (文本)) .判断 (类型 = 4) 待锁定数据 = 到字节集 (文本) + { 0 } .判断 (类型 = 5) 待锁定数据 = 还原字节集 (文本) .默认 .判断结束 内存操作.写入 (超级列表框2.取表项数值 (计次 - 1), 待锁定数据) .否则 数据 = 内存操作.读取 (超级列表框2.取表项数值 (计次 - 1), 8) .判断开始 (类型 = 0) 文本 = 到文本 (取字节集数据 (数据, #整数型, )) .判断 (类型 = 1) 文本 = 到文本 (取字节集数据 (数据, #长整数型, )) .判断 (类型 = 2) 文本 = 到文本 (取字节集数据 (数据, #小数型, )) .判断 (类型 = 3) 文本 = 到文本 (取字节集数据 (数据, #双精度小数型, )) .判断 (类型 = 4) 文本 = 取字节集数据 (数据, #文本型, ) .判断 (类型 = 5) 文本 = 查看字节集 (数据) .默认 .判断结束 .如果真 (超级列表框2.取标题 (计次 - 1, 1) ≠ 文本) 超级列表框2.置标题 (计次 - 1, 1, 文本) .如果真结束 .如果结束 .计次循环尾 () .子程序 _超级列表框2_检查框状态被改变 .参数 表项索引, 整数型 .参数 检查框状态, 整数型 超级列表框2.置标题 (表项索引, 4, 到文本 (检查框状态)) .子程序 _添加到列表_被选择, , , 添加地址 选择夹_内存.现行子夹 = 0 载入 (窗口2, , 假) 窗口2.按钮_删除地址.可视 = 假 窗口2.标题 = “添加地址” 窗口2.编辑框_地址.内容 = 到文本 (超级列表框1.取表项数值 (超级列表框1.现行选中项)) 窗口2.组合框_搜索类型.现行选中项 = 组合框_搜索类型.现行选中项 窗口2.编辑框_说明.内容 = 窗口2.编辑框_地址.内容 _按钮_读_被单击 () .子程序 _复制数据_被选择 置剪辑板文本 (超级列表框1.取标题 (超级列表框1.现行选中项, 1)) .子程序 _内存编辑器1_被选择, , , 载入内存编辑器1 编辑器_地址 = 超级列表框1.取表项数值 (超级列表框1.现行选中项) 载入 (窗口3, , 假) .子程序 _修改地址_被选择, , , 修改地址 载入 (窗口2, , 假) 窗口2.按钮_删除地址.可视 = 真 窗口2.标题 = “修改地址” 窗口2.编辑框_地址.内容 = 到文本 (超级列表框2.取表项数值 (超级列表框2.现行选中项)) 窗口2.编辑框_说明.内容 = 超级列表框2.取标题 (超级列表框2.现行选中项, 0) 窗口2.编辑框_数据.内容 = 超级列表框2.取标题 (超级列表框2.现行选中项, 1) 窗口2.组合框_搜索类型.现行选中项 = 到数值 (超级列表框2.取标题 (超级列表框2.现行选中项, 3)) .子程序 _查看属性_被选择, , , 查看属性 .局部变量 地址, 整数型 .局部变量 内存属性, 内存属性 .如果真 (超级列表框2.现行选中项 = -1) 返回 () .如果真结束 地址 = 超级列表框2.取表项数值 (超级列表框2.现行选中项) 编辑框_内存属性.内容 = “地址:” + 十到十六 (地址, 真) + “ (” + 到文本 (地址) + “)” + #换行符 内存属性 = 内存操作.查询内存属性 (地址) 编辑框_内存属性.加入文本 (“状态:” + 到文本 (内存属性.状态) + “ (保护:” + 到文本 (内存属性.保护) + “,原始:” + 到文本 (内存属性.原始保护) + “)” + #换行符) ' 编辑框_内存属性.加入文本 (“原始保护:” + 到文本 (内存属性.原始保护) + #换行符) 编辑框_内存属性.加入文本 (“区域大小:” + 到文本 (内存属性.区域大小) + #换行符) 编辑框_内存属性.加入文本 (“区域基址:” + 十到十六 (内存属性.区域基地址, 真) + “ (” + 到文本 (内存属性.区域基地址) + “)” + #换行符) 编辑框_内存属性.加入文本 (“区域偏移量:” + 十到十六 (地址 - 内存属性.区域基地址) + #换行符) 编辑框_内存属性.加入文本 (“分配基址:” + 十到十六 (内存属性.分配基地址, 真) + “ (” + 到文本 (内存属性.分配基地址) + “)” + #换行符) 编辑框_内存属性.加入文本 (“分配偏移量:” + 十到十六 (地址 - 内存属性.分配基地址)) 选择夹_内存.现行子夹 = 1 .子程序 _移除地址_被选择, , , 删除1 .如果真 (超级列表框2.现行选中项 ≠ -1) 超级列表框2.删除表项 (超级列表框2.现行选中项) .如果真结束 .子程序 _清空地址_被选择 超级列表框2.全部删除 () .子程序 _导入表_被选择 .局部变量 文本组1, 文本型, , "0" .局部变量 文本组2, 文本型, , "0" .局部变量 计次, 整数型 .局部变量 a, 整数型 通用对话框1.初始目录 = 取特殊目录 () 通用对话框1.类型 = 0 .如果真 (通用对话框1.打开 ()) 超级列表框2.全部删除 () 文本组1 = 分割文本 (到文本 (读入文件 (通用对话框1.文件名)), #换行符, ) .计次循环首 (取数组成员数 (文本组1), 计次) 文本组2 = 分割文本 (文本组1 [计次], “|”, ) .如果真 (取数组成员数 (文本组2) = 4) a = 内存操作.取代码地址 (文本组2 [4]) 超级列表框2.插入表项 (, 文本组2 [1], , , , a) .如果真 (a = 0) 超级列表框2.置标题 (计次 - 1, 0, “失效!”) .如果真结束 超级列表框2.置标题 (计次 - 1, 1, 文本组2 [2]) 超级列表框2.置标题 (计次 - 1, 3, 文本组2 [3]) 超级列表框2.置标题 (计次 - 1, 5, 文本组2 [4]) a = 到数值 (文本组2 [3]) .判断开始 (a = 0) 超级列表框2.置标题 (计次 - 1, 2, “整数型”) .判断 (a = 1) 超级列表框2.置标题 (计次 - 1, 2, “长整数”) .判断 (a = 2) 超级列表框2.置标题 (计次 - 1, 2, “小数型”) .判断 (a = 3) 超级列表框2.置标题 (计次 - 1, 2, “长小数”) .判断 (a = 4) 超级列表框2.置标题 (计次 - 1, 2, “文本型”) .判断 (a = 5) 超级列表框2.置标题 (计次 - 1, 2, “字节集”) .默认 .判断结束 .如果真结束 .计次循环尾 () .如果真结束 .子程序 _导出表_被选择 .局部变量 数据, 字节集 .局部变量 计次, 整数型 通用对话框1.初始目录 = 取特殊目录 () 通用对话框1.类型 = 1 .如果真 (通用对话框1.打开 ()) .计次循环首 (超级列表框2.取表项数 (), 计次) 数据 = 数据 + 到字节集 (超级列表框2.取标题 (计次 - 1, 0) + “|” + 超级列表框2.取标题 (计次 - 1, 1) + “|” + 超级列表框2.取标题 (计次 - 1, 3) + “|” + 超级列表框2.取标题 (计次 - 1, 5) + #换行符) .计次循环尾 () 写到文件 (通用对话框1.文件名, 数据) .如果真结束 .子程序 _导入表2_被选择 _导入表_被选择 () .子程序 _从列表中移除_被选择, , , 删除2 .如果真 (超级列表框1.现行选中项 ≠ -1) 超级列表框1.删除表项 (超级列表框1.现行选中项) .如果真结束 .子程序 _内存编辑器2_被选择, , , 载入内存编辑器2 编辑器_地址 = 超级列表框2.取表项数值 (超级列表框2.现行选中项) 载入 (窗口3, , 假)
用户评论
以前可以 现在过时
软件挺好的,但要更新就好了。
软件可以用,不会被检测到非法
很红很不错就是过时了
软件很有用,不会被检测到非法
不知道现在还能不能用这种方法了
非常好,不会被检测到非法