安卓逆向012之逆向文件管理器(去广告)

需求


安装完毕后,正常打开貌似没什么广告资源要去除的需要,

界面也比较简单,貌似很完美,但是等我们退出的时候,

就会弹出下面的广告界面,如何去广告就是本章的内容。

在这里插入图片描述


按照之前的逻辑,我们现在应该获取顶层的activity。

直接在CMD输入“ adb shell dumpsys activity top ”。

在这里插入图片描述

动态Activity


Activity分为静态的和动态的区分,

静态的就是很多配置都直接写死到标签内的,

而动态的是可以被继承的。

在这里插入图片描述


使用jadx打开该软件,在这个代码中,

稍微往下看看就翻到了一个显眼的东西,一个URL网址。

在这里插入图片描述


复制打开一波,哦呼,就是刚刚看到的广告。

在这里插入图片描述

去广告思路


打开AK,直接搜索对应的网址,

在这里插入图片描述


直接将代码中的url删除,回编译,安装。在退出试试。

没有广告,但是还存在白框。

小思路,换url为自己的广告,似乎又发现一条发财致富的路子,手动滑稽。

在这里插入图片描述


回到JDAX中继续看看代码,

这个网址下边存在一个重点,即45行,开启/启动服务。

在这里插入图片描述


现在的重点,就是不让程序“ startService”(启动服务)。

其实,当看到这个关键点的时候,也就意味着定位到了突破点。

AK搜索“startService”,发现结果有点多,

在这里插入图片描述


结合获取的地址“com.AddDouDouWall2.WebPageDownLoadMainActivity”,

可以定位到具体的地址。

在这里插入图片描述


找到了调用的地方,invoke-virtual是调用的意思。

在这里插入图片描述


直接注释掉197行,回编译回去试试能不能达到去广告的情况。

经过测试不行。

返回jadx,直接回去查找StartServer所属于的类的“用例”,向上翻。

在这里插入图片描述


找到后类名字“WebPageDownLoadMainActivity”,直接右击,选择“查找用例”。

在这里插入图片描述

一眼就看到这个“startActivity”。

在这里插入图片描述


4946行,假设有网络,就执行4947行的代码。

看看上下代码,大概意思是,假设没网络就关闭程序,但是有网络就加载广告。

所以上边的注释没什么用,先取消刚刚上边的注释。

在这里插入图片描述


去AK中找到此类,com.speedsoftware.rootexplorer。

在这里插入图片描述

找到,选择“onDestroy”方法,

在这里插入图片描述


22780行,这个V0就是代表网络的意思,

假设有网络则跳转到“  :cond_0  ”(即广告)去。

所以我们直接将判断的地方,改为“ if-nez ”,

在这里插入图片描述


回编译安装,点击退出,没有跳转到广告节目,直接退。

注意的是:

不要直接注释掉22780行,因为直接注释掉的话,

他都不判断是否存在网络直接跳转到广告界面去。

Guess you like

Origin blog.csdn.net/weixin_43970718/article/details/119941713