docs: 官方温度链 IDA 反编译取证(放射学分支+波段映射+修正项;DDT 尾部即标定记录;系数待钉)+ IDA MCP 接入记录
This commit is contained in:
@@ -489,6 +489,46 @@
|
||||
"未连接"分支显示,正常出图时用户看不到任何反馈)。
|
||||
- [x] 单测 66 → **76 项全绿**;debug + release(R8) 双构建通过;APK 已更新。
|
||||
|
||||
## 用户反馈修复 第二十七轮(2026-10-06,官方温度链反编译:按 IDA 结果重建,系数待钉)
|
||||
|
||||
用户要求:"修复这些的时候要和 ida 或者 Ghidra 反编译的结果对的上,不要自己瞎猜,并且是
|
||||
全局代码对的上;机器上已经有 ida 了,你自己装个 mcp 就能用"。
|
||||
详细报告:`docs/android_app/temperature_chain_re_20261006.md`。
|
||||
|
||||
### 1) 用 IDA 建立了地面真值(不是猜)
|
||||
|
||||
- IDA Professional 9.4 批处理(`idat.exe -A -S`)+ 运行时 ctypes 直读官方 DLL 内存,
|
||||
反编译并核对:`sub_180016290`(核心换算三分支)、`sub_180014e70`(探针,含邻域平均)、
|
||||
`sub_18000d2a0`(每帧两点标定端点)、`sub_180015b90`(修正,含 `K=f8·f4·ε` 与
|
||||
环境辐亮度反演)、`sub_180015840/8b0/A40/940`(曲线 A 前后向插值)。
|
||||
- **根因确定**:本机 `dev+0x41880=1` → 官方走**放射学分支 + 每波段线性映射**,
|
||||
而 App 用的是 `countsToTempMc`(T2E 表分支)——**分支都不同**,不是"表差一点"。
|
||||
- 拿到全部运行时参数:8 个波段阈值(9389/9995/10328/10581/10797/11160/11430/11772)、
|
||||
每波段 (gain,offset)、`shift=12`、发射率 1.0、环境温度 29.45℃、曲线 A 与斜率表地址等;
|
||||
并确认**这些参数就在 DDT 文件尾部**(App 解析 DDT 即可获得,无需新指令)。
|
||||
|
||||
### 2) 验证到什么程度
|
||||
|
||||
- 官方同帧数据(`MAG_GetTemperatureData` + `dev+0x270` 计数 + 记录快照)逐像素比对:
|
||||
**波段映射结构正确**——flat 背景所在 band 的拟合残差仅 **3.2 mC**;
|
||||
但整体仍差 **≈230 mC**,对应尚未对齐的**环境补偿/距离大气修正项**
|
||||
(这两项按反编译加上去反而变差 ≈980 mC,说明字段语义还有一处没读对)。
|
||||
- 结论:**结构已定、系数待钉**;下一步只做这两项的单变量对照,不再猜公式。
|
||||
|
||||
### 3) 工具链落地
|
||||
|
||||
- IDA MCP:`pip install "mcp<2" ida-pro-mcp` + 插件(`%APPDATA%\Hex-Rays\IDA Pro\plugins\mcp-plugin.py`),
|
||||
ZCode 用户配置 `~/.zcode/cli/config.json` 已加 `mcp.servers."ida-pro"`;
|
||||
**需重启 ZCode 才出现工具**,IDA 侧要 `Edit→Plugins→MCP`(Ctrl+Alt+M) 起 13337 端口。
|
||||
- 批处理脚本与运行时读数脚本、官方同帧基准数据都在 `%TEMP%\mag160c_wincmp\`,未入库。
|
||||
|
||||
### 4) 下一步
|
||||
|
||||
1. 用单变量对照钉死环境补偿 (v50) 与距离/大气项(`dev+0xA8`、`dev+0x44CB8`、
|
||||
`rec+0x208/0x20C`)。
|
||||
2. Kotlin 落地官方放射学分支(波段映射 + 修正),并补导曲线 A 的斜率表与 DDT 尾部解析。
|
||||
3. 用本轮官方同帧数据做回归断言(band 1 应到 mC 级),再替换 App 各温度读数点。
|
||||
|
||||
## 用户反馈修复 第二十六轮(2026-10-06,官方 PC 软件同帧对比:渲染逐像素一致,温度曲线有系统差)
|
||||
|
||||
用户把热像仪接上 PC,要求"调用项目里官方给的 win 软件拍图,看和逆向出来的 sdk 的图
|
||||
|
||||
Reference in New Issue
Block a user