还是吾爱破解提供的教程第三课主要有4个广告,分别是启动app时候加载的广告,进入页面的弹窗广告以及在页面内的横幅广告,为了方便分别叫广告1-4。
广告1是个activity,我们通过NP管理器的activity记录找出是哪个activity ,可以看到有个叫Adactivity的,应该就是这个。然后我们用NP管理器,找到并修改dex文件,通过搜索类名快速定位该activity的位置
通过阅读代码,找到activity加载的地方,把加载时间修改为0,保存并退出,重新编译后重新安装。这里奇怪的是我改成0会一直卡在广告界面。后来把这个时间改成0x010,则可以快速的跳过广告加载界面。这里还有其他思路:通过读代码知道调用的jump函数跳出广告。可以直接调用jump函数;也可以强行调转都jump执行的地方;教程里还介绍修改xml的方法,这个不推荐,我就不展示了。这是在AdActivity中修改跳过的方法。
还可以看看是哪里调用的AdActivity,从而跳过。我们在NP管理器中搜索代码,可以看到Adapter中调用了AdActivity,我们把这里修改为直接调用ChallengeThird
广告2和广告3是个弹窗广告,我们搜素广告的关键字,可以找到弹出显示的逻辑,给注释掉即可。以广告2为例,为了看着方便,我用jadx展示一下
广告4是一个横幅广告,我们利用开发助手找到各个横幅的资源,然后修改xml属性来关掉该广告。可以看到这个横幅广告的Name和ID属性。教程里反编译之后还是ID,但是用NP反编译之后看不到十六进制的ID,倒是Name还保留着。找到之后,我们把高度或宽度设置为0,或者把显示属性设置为不可见,横幅广告就被消除了。