mirror of
https://github.com/SimoneAvogadro/android-reverse-engineering-skill.git
synced 2026-10-20 07:21:39 +08:00
f868d9d040
Per-network neutralization misses a publisher's own mediation layer, which
calls the networks (or serves house/WebView ads) on the app's behalf — e.g.
Rovio Beacon in Bad Piggies kept serving an interstitial with every network
SDK stubbed; Guru Fusion is the same shape.
New detect-adwrapper.{sh,ps1} score a candidate namespace under the app's
own vendor root (excluding known-SDK and common-lib roots) by: references to
>=2 ad-network packages, its own WebView+MRAID ad path, and analytics/
attribution classes. Emit ADWRAPPER_DETECTED:<pkg>:<confidence>:<evidence>
and ADWRAPPER_SUMMARY, always exit 0; decode-apk runs it after decode and
points the user at the discovery workflow. Registry entries flagged
in_house_wrapper:true (new optional schema property; guru-fusion marked) are
NOT excluded — a matched candidate is annotated registry=<sdk_id>.
Detection and reporting only — nothing removes, disables or bypasses a
wrapper. True positive on Rovio (com.rovio.beacon) and The Fun Games
(com.tfg.libs, Block Craft); no false positives on Alto/HeartStar/1945/
Bulldozer. sh/ps1 output is byte-identical (verified via the PowerShell 5.1
interop).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tae7iP5Zh8tax1Sn9p3A5