安卓逆向006之修改APK资源去广告

文章目录

前言

打开,APP总是有开屏广告,比如下边:

在这里插入图片描述

好不容易进来,发现刚刚只是冰山一角等等,后边不做演示了。

在这里插入图片描述


这里有一点,要说一下,我们每隔一段时间打开游戏,广告内容都是不同的。

且紧跟时代的“ 潮流 ”,这里就可以说明问题了,这是软件联网自动获取的。

既然这样,我们就直接从软件的“ 网络 ”开刀。

分析


反编译APK,打开AndroidManifest.xml查看权限,发现下边都是网络的关键词。

如internet、network、wifi等等。

在这里插入图片描述


这里一般有两个办法:
	
	~留下Internet,删除network与WiFi(这两个是获取网络权限的)

	~留下Internet,其他全删(方便,但是有可能出问题)

为什么要留下Internet?
	
	~因为在游戏中还有需要网络的地方,就由他去完成了,所谓“ 做人留一线 ”哈哈。



先试试,方便快捷的办法。

在这里插入图片描述


记得先卸载掉原本的APK,在将上述修改的APK回编译回去,安装。

发现开屏广告还在,但是5秒的倒计时没了,且内容没了。

在这里插入图片描述

后边也比较的干爽,也是没有广告了。

完善


这里“ 一打开 ”APP就有广告,还是让人微微不爽。

猜测一下这个一打开就弹得广告是什么?

嗯嗯,没错,是打开APP的第一时间,先加载的广告“ activity ”(活动或者说界面)。

现在的问题是:

	我们怎么知道打开APP首先打开的activity是哪个呢,

	毕竟这个AndroidManifest文件那个多的activity标签。

即如何寻找APP的入口点。

在这里插入图片描述

思路:


第一种:

	只要是在activity中,“ MAIN ”与“ LAUNCHER ”一起出现,那个此activity就是入门点。

在这里插入图片描述


第二种:
	
	打开cmd,输入“ adb devices ”获取当前电脑与模拟器的连接状态。

	假如一次获取不到,就多输入几次。

	出现类似这个“ 5570 ”的字眼就说明,链接成功。
	

在这里插入图片描述

	
	此时输入“ adb shell dumpsys activity top ”来获取模拟器最顶层的活动页面。

	一个回车,什么也没有。

在这里插入图片描述


为什么没有?因为模拟器此时,还没有运行APK。

当程序运行的时候,再次执行,直接破获到。

在这里插入图片描述

对比一下,没得问题。

在这里插入图片描述


此时的思路就比较明确了,直接获取游戏运行的界面,

将游戏界面的属性设置为“ MAIN ”与“ LAUNCHER ”。

获取得到游戏运行界面的名字为“ org.cocos2dx.lua.AppActivity ”

在这里插入图片描述

在代码中寻找,发现就在他原来的下边;

在这里插入图片描述

对比发现,缺失的属性仅仅是“ LAUNCHER ”,

在这里插入图片描述

删除广告属性,替换游戏界面属性,当然直接将上边广告的activity干掉也可以。

在这里插入图片描述


保存修改后直接回编译。再次安装打开,开屏广告也不见了。

完结撒花。

猜你喜欢

转载自blog.csdn.net/weixin_43970718/article/details/119116521