Files
android-reverse-engineering…/plugins/android-reverse-engineering
Simone Avogadro cf8f4caa29 fix(sdk-neutralizer): neutralize AppLovin MAX and ironSource/LevelPlay at the mediator root (extend, keep legacy)
Both meta-mediators matched but stubbed almost nothing, so on mediated apps
(Subway Surfers, Bad Piggies, Alto, 1945…) the ad waterfall stayed live —
the app calls ONE mediator and its adapters drive every other network, so
this is the highest-impact gap.

- applovin: the MAX ad targets used the wrong package
  (com.applovin.mediation.MaxInterstitialAd). Real classes are under
  com.applovin.mediation.ads.* — added MaxInterstitialAd/MaxRewardedAd/
  MaxAppOpenAd load/show/isReady/destroy (+ MaxAdView), kept AppLovinSdk.init
  and the legacy .mediation.* targets as harmless fallbacks. Subway: 1→41
  methods matched; Bad Piggies: 4→32.
- ironsource: the legacy com.ironsource.mediationsdk.IronSource methods are
  gone in 9.x (0 patched). Extended with the modern init
  com.unity3d.ironsourceads.IronSourceAds and com.unity3d.mediation.LevelPlay,
  the LevelPlay ad loaders/ads, and the Unity bridge
  com.ironsource.unity.androidbridge.LevelPlayBridge (what IL2CPP games call);
  legacy + ISDemandOnly targets kept. Subway: 0→68 methods matched.

Extend-not-replace: legacy targets stay for the many APKs still shipping old
SDKs; absent classes/methods are skipped by the patcher. Callback bridges and
object getters protected so a stub can't strand the app on a missing callback.
Verified by neutralize.sh --dry-run on the real subway/bad-piggies decodes.
Docs updated to 362 entry points / 337 ad operations.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tae7iP5Zh8tax1Sn9p3A5
2026-09-29 20:25:11 +02:00
..