用例 APK
用例 APK 版块:爱奇艺TV版 v12.1.0
原 APK 汇注:https://pan.baidu.com/s/1zNKk662TvoNoSA8NFSWdTQ?pwd=0esa
修改 APK 汇注:https://pan.baidu.com/s/16xo6FN_o284lAUNThlpdrQ?pwd=94jt
本东说念主测试环境
告白的明白格局好多,可能是一个界面(activity),可能是局部在上方或下方的一个区域视图(view)等。以下是常见告白格局:
不管奈何格局、奈何开端的告白,在腹地一定需要展示出来,展示就需要告白执行载体,如界面、视图等,关于这些容器,即不错欺诈静态的布局,也不错动态生成布局。若是能移除这些容器、能够纷扰容器生成条款就不错达到去告白的地步。
本次案例是来自于第三方 SDK 软件的告白投放,通过发送苦求包,从而获得相对应的告白 ID 与资源,关于这种情况,咱们不错通过定位 SDK 的运行化、告白苦求、告白展示等代码,来分析其逻辑,从而找到破碎点。
当先对开屏告白页面进行分析,通过MT不休器发现该告白是处在 WelcomeActivity 类中,咱们凯旋hook 类,得到其函数调用栈。
不错估计 showHomePage() 等于展示咱们的主页了,咱们逐条分析告鹤发生前的函数:
不错看到当刻下Activity数目不等于1时,就凯旋调 showHomePage 函数,咱们不错将这个判断改为永真,让其凯旋显露主页。
重打包编译签名,运行要领,已去除开屏告白:
萝莉爱色网
关于开屏告白,咱们不错不雅察应用启动的 Acitivity 划定 (先从主进口切入Main),寻找其函数调用划定,找到其广播告白的页面,将其逻辑鼎新,就不错屏蔽掉开屏告白。
当先对视频告白页面进行分析,有暂停键、静音键、确信键、执续工夫、会员关闭教唆…,咱们不错思到:
……
本东说念主禁受剩余工夫当作破解进口,通过迷惑者助手查到显露工夫的资源 ID 是 R.id.account_ads_time_pre_ad,搜索资源ID可得三处援用该资源。
通过 hook 分析发面前视频启动时的告白,调用的是 aux 类的函数:
分析 aux 类里使用了R.id.account_ads_time_pre_ad 的方法,找到三处,分裂分析:
第一、二处均用在 Xi() 函数中,该函数主要建造告白成就及嘱咐告白界面。
第三处位于 Xc() 函数中,阐发 hook 到的函数调用栈,分析其运行过程:
上头两个函数齐是对布局文献进行操作,建造其 text 能够是否可显,并莫得判断去掉告白的处所,咱们还有连接寻找。
对比两个函数发现,获得执续工夫的函数是 getAdDuration(),咱们去寻找该函数声明,发面前 com.iqiyi.video.qyplayersdk.player.QYMediaPlayerProxy 类中:
跟进到 com.mcto.player.nativemediaplayer.NativeMediaPlayerBridge 咱们就不错发现,该软件是在Native层欺诈 mediaplay 获得视频工夫信息。到这里获得剩余工夫的 Java 层分析就差未几不错了。咱们不错看到的是在 NativeMediaPlayerBridge 这个类中调用了繁密 native 方法去获得告白的多样信息供后续操作,然而将统统的方法全修改一遍不太现实,咱们需要寻找判断是否显露告白界面的处所。
阐发 hook 表层类的方法调用发现,QYMediaPlayerProxy 类中存在一些可能是与加载告白界面关连的函数。
几个热切的函数分析:
咱们重心分析 performBigCorePlayback 函数:
咱们不错发现这个函数等于判断是否显露告白界面的函数,不错估计唯一当是VIP账户时,播放数据(playData)才为空,才会使 i = 0(告白ID为0)。
到这里咱们就不错尝试进行破解了,将 if 判断修改,使之干涉 i=0 的分支中。
重打包编译签名,运行要领,已去除视频告白:
分析代码后发现,告白的生成、调用、成就大部分齐是在 QYMediaPlayerProxy 类中完成的,而况播放器的中枢功能也有一部分在代理类中调用。
关于第三方SDK动态导入视频告白,时时和会过网络苦求向告白业绩器发送苦求以获得告白,经由参考下方 android 告白 SDK 旨趣经由图,常用方法使通过动态代理,通过动态代理这么的方法有一定的自制:
进一步分析,咱们不错思到告白不太会是在软件刚出来时就加上,一定是后续附加上去的功能。后续除了告白除外确信也会赓续附加其他功能,怎样作念到这些功能膨大呢?这就不错用 proxy 代理类了,将播放器中枢功能(播放视频)融入到代理类中,让其谨慎对中枢功能进行膨大(如在播放视频之前添加告白)。这么既便捷后续软件更新,也会使逻辑愈加了了、出错时能快速定位。
android 告白 SDK 旨趣经由图
[参考汇注]:
Android反编译实战-去告白_安卓反编译去除告白_sam.li的博客
android告白SDK旨趣详解(附源码) - 爱码网 (likecs.com)
[提神]传递专科常识、拓宽行业东说念主脉——看雪讲师团队等你加入!萝莉爱色网