Commit Graph
18 Commits
Author SHA1 Message Date
rooklz e396328298 test(tools): pin audit_dump symlink loops on --json and --libs 2026-10-31 01:45:53 +00:00
Adrià e9107d52be Merge pull request #13298 from dr-hoseyn/fix/audit-protect-work-inputs
fix(tools): protect audit inputs from work cleanup
2026-10-30 21:14:24 +01:00
Adrià 2b1ae87c69 Merge pull request #13296 from dr-hoseyn/fix/audit-dump-output-encoding-error
fix(tools): report audit output directory creation errors
2026-10-30 18:56:44 +01:00
dr-hoseyn 58551c496c fix(tools): protect outward work input aliases 2026-10-30 17:23:51 +03:30
dr-hoseyn 83d83656a9 fix(tools): protect audit inputs from work cleanup 2026-10-30 17:23:51 +03:30
dr-hoseyn 6f402d7a9e fix(tools): report audit output directory creation errors 2026-10-30 15:51:35 +03:30
dr-hoseyn 8b8e0ac4f3 fix(tools): decode relinker audit output as UTF-8 2026-10-30 15:48:56 +03:30
dr-hoseyn d1f284e653 fix(tools): report relinker launch failures in audit_dump 2026-10-30 11:37:24 +03:30
rooklz 4c87dd5be5 fix(tools): report audit_dump symbolic link loops as usage errors 2026-10-28 23:25:01 +00:00
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
JJenkx 9ee6bec438 test(tools): restore stale directory permissions before teardown 2026-10-24 23:45:09 -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