
Il2CppHookScripts广告分析实战AppLovin MAX与AdMob瀑布流竞价的完整解析指南【免费下载链接】Il2CppHookScriptsFrida-based libil2cpp.so runtime parsing script项目地址: https://gitcode.com/gh_mirrors/il/Il2CppHookScriptsIl2CppHookScripts 是一套基于 Frida 的 libil2cpp.so 运行时解析脚本npm 包名il2cpp-hooker专门用于 Hook 和分析 Unity IL2CPP 游戏。这篇文章带你用它内置的 ADS 模块完整走一遍 AppLovin MAX 与 AdMob 广告展示、瀑布流竞价日志抓取的实战流程。一、快速上手安装与挂载目标App先全局安装再用fat命令挂载或拉起目标游戏npm install il2cpp-hooker -g fat ${PackageName} # spawn 启动目标 App 并注入也可以 attach 到已经运行的进程。如果 npm 包更新不及时可先拉取源码自行编译git clone https://gitcode.com/gh_mirrors/il/Il2CppHookScripts cd Il2cppHook npm install npm run build npm run compress 挂载成功后后续所有命令都在 Frida REPL 里直接输入即可。二、ADS 分析模块架构广告相关的脚本集中在Il2cppHook/agent/java/ADS/目录结构如下ADS/applovin/max.tsAppLovin MAX 核心脚本封装了回调 Hook、MediationDebugger、插屏展示、伪造激励事件等功能ADS/applovin/unity.ts封装com.applovin.mediation.unity.Utils读取 SDK Key、当前 Activity与MaxUnityAdManagerSDK 版本、TAG、mAdInfoMap 等ADS/export.ts一键批量 Hook 广告展示方法的入口ADS/testFireBase.tsFirebase 依赖检查 Hook 与 RemoteConfig 抓取广告配置常走 Firebase可作为辅助手段其中max.ts里定义了三个关键数据结构AdEvent广告事件、WaterfallInfo瀑布流信息、NetworkResponse单条网络竞价响应这正是我们分析瀑布流竞价的字典。三、批量拦截广告展示5步实战流程第一步用B_ShowAD批量给所有广告展示方法打上断点。它内部通过BF模糊批量断点定义于agent/base/breaker.ts依次挂住showInterstitial、ShowRewardedInterstitialAd、showRewardedAd、ShowBannerAd、AppOpenAd等常用方法游戏里一点看广告按钮调用栈立刻现形 B_ShowAD()之后观察日志即可定位游戏调用了哪个 SDK、哪个方法。确认目标后配合breakWithArgs查看参数printCurrentMethods(Ad)列出所有已挂方法。四、瀑布流竞价日志一条命令看清全部网络响应AppLovin MAX 的回调会经过 C# 层MaxSdkCallbacks.ForwardEvent/InvokeEvent命名空间MaxSdk.Scripts脚本已将其封装为两个命令 HookMaxCallBack() # Hook 回调实时打印广告事件 JSON listMaxCallBack() # 列出已记录的全部广告事件精简版Hook 命中后每条事件都会按AdEvent结构解析输出核心字段含义如下字段含义adUnitIdMAX 广告位 IDadFormat广告形式REWARDED / INTERSTITIAL / BANNER 等networkName实际出价的广告网络如AppLovin、Google AdMobcreativeId素材 ID可反推广告内容revenue/revenuePrecision本次广告收入与精度waterfallInfo.networkResponses各网络在瀑布流中的竞价响应waterfallInfo里的networkResponses记录每个网络的mediatedNetwork适配器类名/版本、credentialsapp_id / placement_id、error错误码与错误信息和latencyMillis延迟毫秒数——哪条网络竞价失败、超时还是出价低一查便知。五、打开 MAX 官方调试面板想看 MAX 官方的 Mediation Debugger 界面含完整瀑布流层级与请求状态一条命令即可拉起 showMediationDebugger() # 调用 com.applovin.mediation.unity.MaxUnityPlugin.showMediationDebugger面板会在手机上直接显示配合HookMaxCallBack()的日志实现界面 数据双重视角。六、手动触发插屏与伪造激励事件除被动观察脚本还提供了主动能力源码见Il2cppHook/agent/java/ADS/applovin/max.tsshowInterstitial(id)依次调用loadInterstitial→isInterstitialReady→showInterstitial直接加载并展示插屏onMaxInit()向游戏伪造发送OnSdkInitializedEvent并用setFunctionBool把IsRewardedAdReady改为 true、n掉ShowRewardedAd用于初始化失败时的调试onMaxReward()通过SendMessage伪造OnRewardedAdReceivedRewardEvent/OnRewardedAdHiddenEvent含 revenue、waterfallInfo 等真实字段结构可用来验证游戏侧看广告发奖励的逻辑是否正确。⚠️ 伪造事件仅建议在自有测试包或兼容性调试中使用用于验证游戏业务逻辑而非线上应用。七、AdMob 与 Firebase 联动观察onMaxReward()的示例事件里可以看到networkName: Google AdMob与networkPlacement: ca-app-pub-.../...说明 AdMob 常作为 MAX 瀑布流中的一个网络参与竞价——抓一次瀑布流日志两个渠道的竞价表现就都拿到了。如果怀疑广告开关/参数来自远端配置可参考ADS/testFireBase.ts的思路HookFirebaseApp.CheckDependencies等方法或抓取 RemoteConfig 的键值进一步定位配置来源。八、常用命令速查表命令作用B_ShowAD()批量断点全部广告展示方法HookMaxCallBack()/listMaxCallBack()监听并列出 MAX 广告事件含瀑布流信息showMediationDebugger()打开 MAX 官方调试面板showInterstitial(广告位ID)加载并展示插屏广告onMaxInit()/onMaxReward()伪造初始化 / 激励奖励事件JavaAds.Utils.retrieveSdkKey()读取 MAX SDK KeyJavaAds.MaxUnityAdManager.VERSION查看 MAX Unity 插件版本总结用 Il2CppHookScripts 做广告分析的核心路径非常短B_ShowAD定位展示入口 →HookMaxCallBack抓全量事件 JSON → 解析waterfallInfo弄清各网络竞价结果 → 需要时用showMediationDebugger、onMaxReward主动验证。掌握这套流程你就能对 AppLovin MAX 与 AdMob 的广告展示链路做到所见即所得的完整解析。【免费下载链接】Il2CppHookScriptsFrida-based libil2cpp.so runtime parsing script项目地址: https://gitcode.com/gh_mirrors/il/Il2CppHookScripts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考