Commit Graph
23 Commits
Author SHA1 Message Date
ZXCLI e69a97436b chore: reorganize analysis/ by SDK lineage (linux/win/android) with README index, move legacy notes to history/, refresh root README, ignore .zcode/ 2026-09-10 03:09:13 +08:00
ZXCLI 4ba98f62cd analysis: full official-app reverse artifacts (jadx sources, ghidra libcxsdk decomp, authoritative protocol conclusions) + docs 2026-09-10 02:51:37 +08:00
ZXCLI ca7e29a647 chore: commit working tree (tools/SDK/csdk/analysis churn) for user to review & prune 2026-09-09 17:51:46 +08:00
ZXCLI add3d06713 android: include safe-drawing top inset in uiTopPx (image top clipped on punch-hole phones) + smaller shutter row 2026-09-07 20:16:39 +08:00
ZXCLI 7437ce5e85 android: camera-style controls - 4-item top bar (ffc/zoom/trace/palette), shutter row (gallery/photo/record) above nav 2026-09-07 19:22:49 +08:00
ZXCLI fabea4c664 android: fix inverted device-orientation mapping (real accelerometer reads world-up; emulator uses gravity convention) 2026-09-07 19:09:57 +08:00
ZXCLI b1a3c38a69 android: rotate bar icons/text + OSD labels by physical grip angle (accelerometer), image region stays glued 2026-09-07 13:37:34 +08:00
ZXCLI d0b133a895 android: lock portrait - UI composition glued to phone frame (top/bottom bars + image area absolutely fixed) 2026-09-07 13:17:19 +08:00
ZXCLI 798e180683 android: 顶栏控制项+图像世界固定旋转+状态栏沉浸+inset感知渲染+乱码二次修复 2026-09-07 12:43:35 +08:00
ZXCLI 8d22969f6d android: 竖屏旋转热像图填满屏宽/横屏原生方向+控制栏横屏移至右侧+大号圆圈标记与色标+fullSensor方向跟随 2026-09-07 00:29:16 +08:00
ZXCLI f8eab28857 android: 相册页接线+演示模式(真实管线渲染合成帧+demo温度显示映射) 2026-09-06 23:15:05 +08:00
ZXCLI 5b41a6aa9b android: 统一APP工程骨架 + 官方渲染管线Kotlin移植(与C参考逐字节一致) 2026-09-06 18:44:02 +08:00
ZXCLI dd52469377 归档分析脚本到 analysis/reverse_tools(compare_live/verify_nuc/verify_full/parse_ddt/parse_pcap),更新 session_state 引用路径 2026-08-19 15:55:21 +08:00
ZXCLI 0d83c625d1 清理仓库:删除验证期中间产物(约 225MB)
- 删除 analysis/ 下 pairs_*(采集对比数据)、reverse-cache*、captures
  (pcap)、usbnoise、ourdump、legacy-cpp 等逆向验证中间产物
- 保留:analysis/ida(.i64 逆向数据库+二进制)、disasm、history、
  reverse_tools、关键文档(reverse_20260813_full/session_state/protocol)
- 保留:IR_Camera_SDK-1.0.1(官方 SDK 参考)、app/(官方安装包)、
  vendor-docs/(官方手册)、.tools/(capstone/pyelftools)
2026-08-19 15:50:35 +08:00
ZXCLI 70bde0fa86 更新 session_state.md 心跳:阶段 7 完成(LiThermal 评估 + render 抽象层 + demo3 迁移) 2026-08-19 15:42:07 +08:00
ZXCLI df6c6dd444 移植官方附加环节全部路径:帧差/隔行平滑/gray覆盖/Nx升采样(编译开关+按键测试)
- OFF_IMPL_230: 帧差调整 0x175a0 逐行移植(0x278 官方 NULL 时 no-op)
- OFF_IMPL_41FE8: 隔行平滑 0x184f0(2x)/0x18660(4x) 逐行翻译(4相位加权插值)
- OFF_IMPL_30: gray 覆盖路径——0x17c40 manual 逐行翻译(8x8窗口4x4采样
  对比度增强累积→gray);0x17770 auto 双边滤波结构移植(官方空间权重表
  在 .data 被裁剪无法提取,用标准高斯核近似,文档注明)
- OFF_IMPL_UPSCALE: Nx 升采样 4x/8x(2x 已验证模式推广,线性插值+边缘外推)
- 运行时按键切换:0=41fe8 模式、8=0x230、9=0x30 模式
- 验证:默认版无回归;全开版运行正常,41fe8=1 平滑生效(nuc std 250→95)
- 文档:csdk/README 开关说明、csdk/README 验证状态更新
2026-08-14 16:52:52 +08:00
ZXCLI 51c8ba9174 完整审计:0x18000ca30 调用链实现对照表 + 全链路复验
- 审计 0xca30 全链:核心渲染(统计/窗口/LUT/gray/2x/FFC/ref/表重建)全部等价实现
- 补帧首标志清零(0x4203c/40/44/04)
- 对照表写入 reverse_20260813_full.md §8.1
- 复验(pairs_ctrl/pairs_final2 新数据):
  - NUC+blind 0/19200、窗口一致、gray+2x 0/76800(离线)
  - LUT 形态同构([500]=41 vs 40, [900]=242 vs 242)
  - 实机同场景 gray 直方图相关性 0.966
  - 零像素两边均为 0
- 未移植主体(官方当前全关,等价):0x230 帧差、0x41fe8 隔行平滑、
  0x30 gray 覆盖路径、多比例升采样
2026-08-14 16:41:50 +08:00
ZXCLI fe91a82762 原汁原味补全官方管线细节:0x8c CDF 中心、temporal 移植、uniform 分支、状态标志
- 抓取官方会话控制字段确认实际启用路径:0x109c0→0x11ee0→0x19740;
  temporal(0x41fe0=1)/帧差(0x230=0)/隔行平滑(0x41fe8=0)/0x30=0 全关
- 实现 0x8c=1 分支:CDF 中心=max(均值bin, 累计75%bin),lres 545→631
  (官方 633,跨帧差 2 bin);用官方 cdf 离线验证 LUT 差异降至 123/1024
  (集中在灰度过渡区,跨帧异步所致)
- 移植 temporal filter(0x18001e920,0x41fe0>1 启用,默认关=官方)
- 补 uniform 帧分支(0x109c0:fmin==fmax 时 LUT/gray 置中灰)
- 补官方标志维护(0x4203c/0x42038/0x42004)
- 实机确认:ref=15502(type1)、d=-2390、win/stats 正常
2026-08-14 16:33:13 +08:00
ZXCLI 004f28910f demo3 补官方启动强制 FFC(帧 75),FFC 频率与官方完全对齐
- 官方 0x180009ee0 状态机:mode 0/3/5/6 在帧 75 无条件 FFC(0);
  mode 1/2/4 在帧 117 强制(最多 5 次)。demo3 此前只实现周期 1800 +
  快门漂移 250 两个条件
- trace 实测:官方启动升温阶段 FFC(0) 间隔 59~394 帧(4~26s 咔哒声密集),
  热稳定后 1800 帧(120s);demo3 已一致
- 验证:idx=75 强制 FFC 触发(demo3_ffc.txt forced75)
2026-08-14 16:23:37 +08:00
ZXCLI 03ed936a5f 修复 demo3 颗粒感:显示层改用官方同款 320x240 2x 平滑输出
- 根因:demo3 之前渲染 160x120 原始灰度并最近邻放大,官方输出是
  2x 升采样后的 320x240(2-tap 平滑本身抑噪)
- 已排除:0x230(FUN_1800175a0 帧差调整)、0x41fe8 隔行平滑(=0)、
  temporal filter 0x41fe0(=1) 均未启用,f20 mode=1 直通
- 修复:render_bmp 改用 g_gray320 上色,BMP/窗口改 320x240,
  StretchBlt 加 HALFTONE,BMP 头支持 >255 尺寸
- 验证:同场景与官方 pair_000.rgb 直方图相关性 0.9796,颜色数 227=官方
2026-08-14 16:16:10 +08:00
ZXCLI 0bfb926892 完成官方管线全量逆向与 demo3 v5 复刻,清理仓库
- 逆向:Ghidra/IDA 全量反编译 CoreSDKLib.dll/ThermalSDK.dll/libthermalSDK.so/
  libcoresdk.so(ARM64)/libmagcore.so,导出 analysis/ida/export/
- 解码官方渲染管线:DDT 校准表加载->快门端点选择->Q12 插值->ref(4x type1 帧
  均值)->NUC 查表->盲元补偿->窗口->LUT1024 重建->2x 升采样->调色板
- 逐像素验证:NUC+盲元 0/19200、插值 0 误差、2x 0/76800、窗口一致
- demo3 v5:完整复刻官方管线(含 DDT 解析、FFC 状态机、快门温度驱动),
  修复 load_ddt 表错位导致的零像素问题
- 鬼影根因分析写入 analysis/reverse_20260813_full.md
- 心跳/恢复机制:analysis/session_state.md + tools/resume_rev.ps1
- 新增 tsdk_pair3 增强采集工具;历史工具归档 csdk/tools/legacy/;
  根目录抓帧残留删除,历史文档归档 analysis/history/
- csdk/README.md 完整使用文档;.gitignore/.gitattributes 补 LFS 规则
2026-08-13 23:16:12 +08:00
ZXCLI 9739a1972c 备份逆向文件 2026-08-12 15:25:34 +08:00
ZXCLI 8409b27ba3 建立 MAG160C 逆向工程交接仓库 2026-08-11 19:08:44 +08:00