demo3
第三关
最初广告界面:
实验过程
定位方法之 Activity
这个方法在这里就略了,加入下面去开屏广告的里面
开屏广告
当前的开屏广告有一个特点,那就是等待三秒就自动跳过,思路一般是把3秒改成0就可以了
Activity 定位
activity 定位需要用到一个工具,MT/NP 都自带了这个功能
如下图,大框是 MT 管理器的 Activity 记录表,蓝色字符则是当前应用和当前的 Activity
我们记录到,这里有两个跳转,所以下面的com.zj.wuaipojie.ui.AdActivity 就是开屏广告的活动
来都 MT 管理器对dex 文件用 dex++编辑器打开,搜索com. zj. wuaipojie. ui. AdActivity
进入这个文件,发现找不到刚刚的活动名,不急,右上角打开三个点,转成 java
这时候,我们就会看到上面引入了一个库,最后有个3000,在代码中一般都用毫秒,所以这里的3000ms 是3s,当然不能在这里修改,需要返回到 smali 文件下修改
在这里,我们看到了v2 寄存器中存入了0xbb8 这个十六进制的数值,那么他是多少呢?
我们可以看到,0xbb8 转换成十进制是3000
所以我们把0xbb8 修改为0x0 就可以了
注意啊,这个时候转换成 java 的时候,需要打开左上角的三杠,把原来转换的 java 的删了,因为有缓存
当我们重新安装打开以后,就会发现,开屏广告没了,直接跳转了
弹窗广告
方法一:文字定位法
正如,上个图片,一号弹窗已就位 就是一种弹窗广告,回到 MT 管理器,dex 文件使用 dex++编辑器,搜索一号广告弹窗,转换成 java 模式,会找到一个 show 显示,那么在 smali 代码中,注释掉这段show 就可以了
当我们搜索 show 的时候,会发现有两个
分别对应的是第一个弹窗广告和第二个弹窗广告,对两个 show 分别注释掉以后
对两个 show 分别注释掉以后,再次安装打开软件,就发现没有弹窗了
方法二:算法助手跳过弹窗
上面的方法是通过字符定位到代码位置,再注释掉。这个方法是通过算法助手来实现
步骤流程可以观看这个视频,在这里就不多说了 【工具】算法助手的激活与使用_哔哩哔哩_bilibili
方法三:算法助手+堆定位法
采用这个方法去除掉更新弹窗广告,如果直接修改xml不显示,屏幕还是变成黑色无法点击。!!!!
在算法助手中启动教程 Dome
走到这里,返回算法助手
点击日志
在这里我们会看到三条信息, 分别是算法助手注入代码成功提示,和两条弹窗提示
点开信息,我们就可以看到运行逻辑,以及调用的堆栈,当然前面的几条实际上是 LSP 以及算法助手的
对对应的栈长按,复制类名,再到 MT 管理器中dex 文件搜索类名,找 show,注释掉就可以了
横幅广告
横幅广告一般都是图片,文字定位的方法多半不奏效,所以使用界面分析 APP 获取其 IDhex
使用 xml 搜索,找都位置以后,将宽高设置为0即可