lua-debug
lua-debug copied to clipboard
特征码模块
- [x] launcher加入配置文件
- [x] 特征码扫描
- [x] luadebug导入表修复
- [ ] 测试
配置文件:
- [x] 文件路径为
plugins/tmp/ipc_{pid}_config - [x] json格式
{
"version":"5.4", //强制版本号
"module":"path", //指定哪个模块为lua
"functions":{ // 函数的特征码
"function_name":{
"start_offset":0, //搜索模块的起始地址子节偏移
"end_offset":0, // 搜索模块的结束地址子节偏移
"pattern":"ff ?? ff", //特征码
"pattern_offset":0, //函数相对特征码子节偏移
"hit_offset":0 //多个特征码匹配下确定是哪个
}
}
}
特征码扫描
在特定地址范围内扫描特征码,hit_offset决定哪个匹配命中
luadebug导入表修复
- [x] macos
- [x] windwos
修复函数获取顺序
- 特征码函数
- 自带的lua库,这个假设待定函数没有被修改
特征码自动生成模块
扫描动态库luadebug和launch生成所需的导入表,然后自动扫描对应的lua模块生成特征码库
luadebug使用读取导入表中lua*项
launcher使用扫描静态字符串中lua*的合法字符串
看起来又是一个很大的patch。我打算先做一个版本更新,然后你这里面的内容我觉得可以拆分一个功能出来。launcher读配置,配置只需要一项;然后加载调试器。
{
"version":"5.4",
}