用到的工具
AndroidKiller、雷电模拟器
知识补充
了解安卓开发的知道,AndroidManifest文件是配置文件。
像什么activity,广播,服务,权限等,都需要在这里面配置。
下面也标识出来了,主启动activity的特征是啥。
注:一个apk只能有一个主启动activity!
破解思路
1.app拖入AndroidKiller进行反编译
2.修改AndroidManifest.xml文件
通过知识补充我们知道,AndroidManifest里面配置了主启动activity是什么特征。
那我们来看一下这个火柴人app的主activity吧!
通过查看,可以发现主activity是com.mosads.adslib.Splash.MosSplashActivity
,那该怎么证明呢?
可以通过cmd命令adb shell dumpsys window | findstr mCurrentFocus
命令查看当前的activity验证。
但是这个app不太好验证,开屏广告蹦的有点快!
。。。
可以换个思路,看看广告之后是哪个activity,然后将它设置为主activity。
通过命令可以发现,主activity是org.cocos2dx.lua.AppActivity
。
然后我们在AndroidManifest.xml中发现,它还真存在,但是它并不是主activity。
然后我们将他修改一下,将它设置成主activity,将原来的删除,进行Ctrl+s。
3.回编译
将原来的app卸载掉,安装回编译后的app,你就会发现,好了,广告没了!!!
人间正道
可能这时候你一看,wc,这也不难啊,基本会安卓的都能看懂,不就是利用的安卓的AndroidManifest.xml配置文件原理吗?
我行我也上,然后逮着其他大厂app一波操作,然后。。。反编译失败,哈哈哈!
这是因为一些app可能加壳了或者做了其他操作,所以导致反编译失败,不用担心,随着水平升级,都会解决的!
总结
根据我的猜测,如果能反编译并且回编译成功,80%的app都是可以通过修改AndroidManifest.xml文件来实现app开屏去广告的,并且操作不算太难!
注:篇幅有限,资料已整理成文档,加微信xcx10211004领取