​游戏广告sdk分析浅析

admin 2024年10月13日01:18:39评论29 views字数 2432阅读8分6秒阅读模式

游戏广告sdk分析浅析

最开始接触安卓逆向的时候就是广告的破解,当时基本上都是通过修改smail来绕过广告的支付条件,后来闲的无聊,就研究了几种广告的sdk,说来也非常的简单,本篇文章简单的介绍下,休闲小游戏的广告sdk分析,适合安卓逆向新入门的朋友学习。

​游戏广告sdk分析浅析

学习目录

1. 广告分类

2. 某广告sdk的分析实战

1. 广告分类

常见的国外的游戏聚合广告就是这些,游戏会根据产品经理或者运营提供的数据来切换不同的广告类型。

​游戏广告sdk分析浅析

Fyber 是一家广告技术公司,提供各种广告解决方案,包括移动应用内广告。

Facebook Audience Network是Facebook的广告平台,允许开发者将广告集成到他们的应用程序中,从而实现广告收入。

AdMob 广告中介是 Google AdMob 广告平台的一项功能,它允许开发者在其应用程序中集成多个广告网络,并通过一个中介来展示这些广告。这样做的好处是可以轻松地在不同广告网络之间切换,以获得更好的广告填充率和最大化广告收入。

HyprMX 是一家广告技术公司,专注于提供各种类型的广告,包括激励广告、视频广告等。

IronSource 是一家广告技术公司,提供广告中介和媒体广告解决方案,而 Google AdMob 是 Google 的广告平台,用于在移动应用中展示广告。

Tapjoy 是一家广告技术公司,专注于提供移动应用内广告解决方案和激励式广告服务。他们的 SDK 允许开发者在其应用程序中集成 Tapjoy 广告,从而通过广告展示和用户参与获得收入。

Unity Ads 是 Unity Technologies 公司的广告平台,专门为移动游戏开发者提供广告服务。通过 Unity Ads,开发者可以在其游戏中展示激励广告、插页式广告等,并从中获得广告收入。

Vungle 广告公司的 Android SDK 中的一个类。Vungle 是一家移动广告公司,专注于提供视频广告解决方案。

AppLovin 是一家广告技术公司,提供广告中介和广告媒体解决方案。

bytedance字节跳动是一家中国的科技公司,旗下拥有多个知名的移动应用,如抖音和头条。

InMobi 是一家全球性的广告技术公司,专注于提供移动广告解决方案和数据分析服务。

Google AdMob 是 Google 的移动广告平台,专门用于在移动应用中展示广告。AdMob SDK 提供了一组用于在 Android 和 iOS 应用中集成广告的 API,包括横幅广告、插页式广告、激励式广告等。

详情的话的可以自己接入几个广告进行尝试,这样的话有助于我们以后分析代码。

2. 某广告sdk的分析实战

这里使用objection进行分析

多观察日志和关键词查找类似“rewardad”"showad"这种关键词的hook,在熟悉了广告的一些常用的api之后,我们可以迅速找到关键的方法,寻找其调用关系和产品代码的逻辑,如果比较熟悉游戏引擎的框架可以从c#开发的角度出发,自己写个游戏,自己接一套广告,可以直接从so中将广告破解掉。

​游戏广告sdk分析浅析
​游戏广告sdk分析浅析
​游戏广告sdk分析浅析

播放广告时:

​游戏广告sdk分析浅析

播完广告后:

​游戏广告sdk分析浅析

通过监控几个api我们可以得到一个完整的广告播放流程,接下来就是寻找广告实例和广告实例的参数和一些类的实例,我们来进行模拟它广告的播放流程。

Class<?> cls = getClass("此代码仅交流学习");
Method declaredMethod = cls.getDeclaredMethod("onRewardedVideoAdOpened"new Class[0]);
 Method declaredMethod2 = cls.getDeclaredMethod("onRewardedVideoAdStarted"new Class[0]);
 Method declaredMethod3 = cls.getDeclaredMethod("onRewardedVideoAdEnded"new Class[0]);
Method declaredMethod4 = cls.getDeclaredMethod("onRewardedVideoAdRewarded", String.class);
Method declaredMethod5 = cls.getDeclaredMethod("onRewardedVideoAdClosed"new Class[0]);
declaredMethod.invoke(rewardListener, new Object[0]);
declaredMethod2.invoke(rewardListener, new Object[0]);
declaredMethod3.invoke(rewardListener, new Object[0]);
declaredMethod4.invoke(rewardListener, "{'placement_reward_name':'Virtual Item','placement_name':'rewardedVideo','placement_reward_amount':'1','placement_id':'2'}");
declaredMethod5.invoke(rewardListener, new Object[0]);

这样我们就可以让其直接模拟广告播放完,到达了我播放广告获得奖励的目的。其实我们还可以从so文件中进行模拟,套路其实是一样的。

效果:

​游戏广告sdk分析浅析

当然我们会遇到很多问题,比如混淆,服务器验证实例广告,网络问题等等一系列广告问题,逐渐深入理解游戏引擎,会发现更多有意思的大陆,发现它和安卓虚拟机有着很多地方设计上相同的设计模式,值得我们学习和研究。

喜欢的可以加入以下星球,嗷嗷分享干货,和大佬们一起学习交流讨论。

​游戏广告sdk分析浅析

​游戏广告sdk分析浅析

   喜欢的话一键四连,您的支持就是动力❥                                                                     ​游戏广告sdk分析浅析

原文始发于微信公众号(移动安全星球):​游戏广告sdk分析浅析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月13日01:18:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ​游戏广告sdk分析浅析http://cn-sec.com/archives/1938487.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息