Files
android-reverse-engineering…/plugins/android-reverse-engineering
Simone Avogadro ee6991eb69 feat(sdk-neutralizer): merge split APKs with APKEditor before decoding; single-APK rebuilds with sh/ps1 parity
Decoding only the base APK of an XAPK made apktool write @null for every
reference to a resource living in a split (e.g. density drawables), and no
post-decode merge could repair that. Splits (XAPK/APKM/APKS or a directory)
are now merged with APKEditor (REAndroid, Apache-2.0, pinned 1.4.9 with
SHA-256 verification) before `apktool d`, so the decoded tree is complete.

- decode-apk: bundle input is merged first; old behaviour kept as the
  deprecated --keep-splits / -KeepSplits mode
- rebuild-apk: always a single APK by default; stored native libs are
  page-aligned (zipalign -P 16, -p fallback) and verified after signing
  (ALIGN_OK / ALIGN_WARNING / ALIGN_FAIL); ABI_WARNING for 32-bit-only
  output; stable user-level debug key shared by --auto-keystore and the
  default mode; apksigner looked up in SDK build-tools, v1-only jarsigner
  refused for targetSdk >= 30; --no-res removed (no-op on apktool 2.10)
- install-dep: new `apkeditor` and `build-tools` (pinned Build-Tools 36.0.0,
  per-platform SHA-256, explicit Android SDK license acceptance required);
  per-user tools are no longer installed under sudo
- check-neutralize-deps: reports APKEditor, zipalign page-alignment support,
  unzip and build-tools
- new PowerShell 5.1 twins: decode-apk.ps1, rebuild-apk.ps1,
  check-neutralize-deps.ps1 (non-ASCII and cmd-metacharacter paths staged,
  UTF-8 output restored on exit, ZIP64-aware alignment check)
- merge-splits.sh removed: obsolete with the pre-decode merge
- docs: SKILL.md, neutralize command, CLAUDE.md, setup guide, README
  (XAPK output deprecation note)

Tested end to end on Linux and Windows PowerShell 5.1 with Block Craft 3D,
Bulldozer Master, Water Sort Puzzle, HeartStar, Alto's Adventure and
1945 Air Force; reviewed twice independently.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tae7iP5Zh8tax1Sn9p3A5
2026-09-28 09:53:22 +02:00
..