rea/scripts/fixtures
JingHao-Leon 12c416005f
feat(javascript): recover code-split bundles from multiple inputs (#1686)
* feat(javascript): recover code-split bundles from multiple inputs

recover_javascript_sources accepted a single path, and
validateModuleSet bound every module's provenance to that one snapshot.
A code-split app (runtime + chunks, or an Electron main/preload/renderer
set) had to be recovered one file per call, and modules recovered alone
could not resolve imports across chunks: cross-chunk require(id)
references stayed as numeric ids with property reads.

Add an optional additional_paths input. The listed files are
concatenated, in order after path, into the single engine snapshot, so
one Wakaru run sees every module and cross-chunk imports resolve.
validateModuleSet's single-snapshot binding is unchanged. Module
provenance is attributed back to the input file its first extraction
range starts in, with byte ranges rebased to that file's own offsets;
a module whose ranges cross an input boundary keeps the concatenated
snapshot identity and offsets, recorded as an explicit limitation.
Single-path behavior is byte-for-byte unchanged (one segment,
offset 0).

Fixes #1605

* fix(javascript): preserve source identity in multi-input recovery

---------

Co-authored-by: JingHao-Leon <w15909130000@gmail.com>
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>
2026-10-11 18:39:49 +08:00
..
android refactor(android): group layered source and verification (#873) 2026-10-07 14:09:57 +08:00
apple Merge origin/main into feat/dylib-resolution 2026-10-07 13:28:14 +00:00
firmware refactor(firmware): group layered source and verification (#878) 2026-10-07 14:44:52 +08:00
javascript-recovery feat(javascript): recover code-split bundles from multiple inputs (#1686) 2026-10-11 18:39:49 +08:00
managed test(managed): include shared dossier fixture in artifact inputs 2026-10-10 04:09:45 +08:00
binary-layout-high.S feat(native): inspect offline ELF layout through pwntools (#1037) 2026-10-08 14:22:08 +08:00
binary-layout-limited-python.c test(native): stabilize resource-limited binary layout controls 2026-10-11 11:06:10 +08:00
binary-layout.c feat(native): inspect offline ELF layout through pwntools (#1037) 2026-10-08 14:22:08 +08:00
browser-module-site.mjs feat(browser): trace captured website module imports (#879) 2026-10-07 14:59:52 +08:00
browser-network-site.mjs feat(browser): capture correlated network content and lifecycle evidence (#797) 2026-10-07 04:35:49 +08:00
browser-runtime-site.mjs feat(browser): attribute native execution and listener sources (#917) 2026-10-07 21:45:07 +08:00
browser-script-site.mjs feat(web): export captured scripts for JavaScript application analysis (#801) 2026-10-07 05:24:32 +08:00
browser-source-map-site.mjs fix(browser): compose nested source-map column offsets (#1109) 2026-10-09 02:01:29 +08:00
browser-verifier-site.mjs fix(browser): serialize attached scenarios through cleanup settlement 2026-10-10 01:45:01 +08:00
evm-interface.sol feat(evm): inspect offline bytecode interfaces through EVMole (#1051) 2026-10-08 15:32:05 +08:00
generate-mitmproxy-capture.py feat(browser): inspect historical web network captures (#992) 2026-10-08 07:53:41 +08:00
page-cdp-proxy.mjs fix(verify): close both sides of the browser proxy 2026-10-09 06:32:10 +08:00
recorded-crash.c feat(native): inspect recorded crashes through pwntools and pwndbg (#1054) 2026-10-08 16:50:31 +08:00