Skip to content

v0.1.4

Choose a tag to compare

@HamsterAPig HamsterAPig released this 24 May 02:35
· 54 commits to master since this release

Release Notes

Highlights

  • 新增 ELF 文件元数据透出,CLI / JSON / UI 现在会展示 object class、endianness、file type、machine 和 OS ABI。
  • JSON 快照导出新增敏感信息控制,可按需隐藏源文件路径、编译单元名称和 producer 指纹,同时保留地址、类型与展开树,方便离线分析共享。
  • ELF 符号表读取链路补齐 metadata inspection,并补充相应单元测试,覆盖 ELF32/ELF64、大小端和快照脱敏行为。
  • 修复多编译单元(multiple compile units)场景下同名 file-static 变量地址串用问题,DWARF DW_OP_addrx 现在会先解析为真实地址,再回退到符号表补位。

Added

  • ElfFileInfo 写入 ProjectModel,并序列化到 dump/snapshot JSON。
  • ElfSymbolTable::inspect_file(),用于单独读取 ELF 文件头 metadata。
  • 快照导出选项 SnapshotExportOptions 与 UI 导出敏感信息开关。
  • 多 CU C fixture 与回归测试,验证同名 file-static 变量不会串地址。

Changed

  • render_scan_text() 会输出 ELF class / byte order / file type / machine / os_abi。
  • UI 导入 ELF 后会记录 ELF metadata;导出 JSON 时按用户选项决定是否脱敏。
  • render_snapshot_json() 改为支持导出选项,内部统一走 build_export_snapshot()。

Fixed

  • 修复多 CU 下 DW_OP_addrx 未还原真实地址,导致同名局部静态符号都落到同一个 ELF symtab 地址的问题。
  • 修复快照导出无法选择是否保留敏感路径/编译器指纹的问题。

Verification

  • cmake -S . -B build -G "Ninja" -DCMAKE_MAKE_PROGRAM="C:\Program Files\MATLAB\R2025b\toolbox\shared\coder\ninja\win64\ninja.exe"
  • cmake --build build
  • .\build\tests\elf_static_view_tests.exe
  • .\build\elf-static-view-cli.exe dump .\build\fixtures\multi_cu_static_vars.elf --format json --symbol shared_value

Full Changelog: v0.1.3...v0.1.4