以下函数均以lua语法为基础且只在CE中可用
内存读写
| 函数 | 返回值 | 说明 |
| readInteger(address) | 4 字节integer | 读取 4 字节值 |
| writeInteger(address, value) | - | 写入 4 字节整数 |
| readQword(address) | 8 字节integer | 读取 8 字节值 |
| writeQword(address, value) | - | 写入 8 字节整数 |
| readFloat(address) | float | 读取 32 位浮点 |
| writeFloat(address, value) | - | 写入 32 位浮点 |
| readDouble(address) | double | 读取 64 位浮点 |
| writeDouble(address, value) | - | 写入 64 位浮点 |
模块与基址操作
| 函数 | 返回值 | 说明 | 示列 |
| getAddress(name) | address | 将模块+偏移字符串解析为地址 | base = getAddress("GameAssembly.dll+03426FC0") |
| getAddressSafe(name) | address or nil | 安全解析,不存在返回 nil | base = getAddressSafe("GameAssembly.dll+03426FC0") |
| enumModules() | table | 返回当前进程模块名列表 | mods = enumModules() |
| getModuleSize(name) | number | 获取模块大小 | size = getModuleSize("GameAssembly.dll") |
定时器和循环监控
| 函数 | 返回值 | 说明 | 示例 |
| createTimer(owner) | Timer 对象 | 创建定时器 | t = createTimer(nil) |
| timer.Interval | - | 定时器触发间隔 | t.Interval = 1000 |
| timer.OnTimer | - | 定时器触发时执行 | t.OnTimer = function() print("tick") end |
| timer.destroy() | - | 销毁定时器 | t.destroy() |
| timer.Enabled | boolean | 启用 / 暂停定时器 | t.Enabled = true/false |
控制台输入输出
| 函数 | 返回值 | 说明 | 示例 |
| print(str) | - | 输出 | print("已修改") |
| messageDialog(text, type, buttons) | - | 弹窗提示 | messageDialog("修改成功", mtInformation, mbOK) |
| io.read() | string | 从控制台读取用户输入 | line = io.read() |
热键
| 函数 | 返回值 | 说明 | 示例 |
| createHotkey(fn,VK_F1) | Hotkey对象 | 创建热键并绑定函数 | hk = createHotkey(function() print("F1!") end, VK_F1) |
| hk.destroy() | - | 销毁热键 | hk.destroy() |
| hk.setKeys(VK_F2) | - | 修改绑定按键 | hk.setKeys(VK_F2) |
| hk.getKeys() | table | 获取当前热键绑定的按键数组 | print(hk.getKeys()[1]) |
| hk.doHotkey() | - | 手动触发热键函数(相当于用户按下热键) | hk.doHotkey() |
| unregisterAllHotkeys() | - | 注销所有热键 | unregisterAllHotkeys() |
线程
| 函数 | 返回值 | 说明 |
| createThread(function) | - | 在后台执行,不阻塞主线程 |
| targetIs64Bit() | boolean | 判断附加进程是否为 64 位 |
| getOpenedProcessID() | integer | 获取当前附加进程 PID |

Comments NOTHING