Commit Graph
8 Commits
Author SHA1 Message Date
JJenkx 7e58aece09 fix(tools): scope report-link cycle tracking to target resolution 2026-10-25 09:01:03 -04:00
JJenkx fda56965b3 fix(tools): follow dangling report links before path resolution 2026-10-25 08:47:54 -04:00
JJenkx 70edff29ed fix(tools): normalize Windows report paths before overlap checks 2026-10-25 08:31:10 -04:00
JJenkx 4fba4f896a fix(tools): reject audit reports that overlap the original dump 2026-10-24 23:52:03 -04:00
JJenkxandClaude Opus 5.5 84038e16dd fix(tools): stop when a reused audit work directory cannot be emptied
Removing the generated source and output directories ignored errors, so an
undeletable stale registry survived and was audited with the new run's
registries. Report the failure and return 2 before conversion; remove a link
in place of a generated directory instead of following it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:45:09 -04:00
JJenkx 7ca880d2e4 fix(tools): reject audit work paths overlapping the input dump 2026-10-24 23:45:09 -04:00
JJenkxandClaude Opus 5.5 14f37caae6 fix(tools): empty a reused audit work directory and report broken module links
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:45:09 -04:00
JJenkxandClaude Opus 5.5 aeaa3b58f0 feat(tools): audit an extracted title's imports in one step
Auditing a title before its first run takes several manual steps from
GAME_TESTING: unwrap eboot.bin and every module the title ships with
unwrap_self.py, convert them with relinker --registry (with
--module-dir for Unity's Media/Modules and Media/Plugins, and for
modules beside eboot.bin), and pass every registry and module folder
to import_audit.py. Missing one module folder turns its imports into
false "absent" entries.

tools/audit_dump.py <app0> --relinker <path> --libs <dir> does those
steps into a temporary directory (or --work <dir>), reading the dump
only. A module that is already a plain ELF is copied; one that is
neither a SELF nor an ELF fails the run. It returns import_audit's exit
code, or 2 when unwrapping or conversion fails.

audit_dump covers the module folders and the module-dir list, a
refused module, the relinker command line, the arguments passed to
import_audit, a relinker failure and the argument errors.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 23:45:09 -04:00