Android逆向工程 实践篇 三
2017-07-17 本文已影响177人
Ojie
今天就说下给应用去除广告把.在使用一个应用的时候有个广告弹出. 非常恶心. (有些应用是自带广告的, 有些是后来被人加进去的.) 怎么进去的都好. 只要我安装了那个应用, 觉得不爽. 我就立马把广告清除.
上一张没有去除广告的样子把.
分析:
如何去除呢./? 类似这个类型的广告只需要分4步走(不敢说所有的广告都类似.):
- 反编译, 拿到smali.
- 通过AndroidManifest 找到MainActivity入口.这个应用的入口是:MainActivity_.smali
- 找到MainActivity_的onCreate方法.
- 阅读代码进行爆破.(因为有些广告直接在onCreate方法里面初始化, 而有部分广告会在application类里面初始化.在那初始化都好,必须在一个地方显示, 那么就肯定会有显示的代码.)
反编译
通过ide我们得到了smali代码.
通过AndroidManifest 找MainActivity入口###
图片圈出来的地方就是入口, 那么下一步我们就要找到对应的主Activity.再找到onCreact方法.
看到图片的左边,我们选MainActivity_.smali .打开后, 找到onCreact方法. 仔细研究发现. 这里并没有看到有关于广告的信息. 那么着广告去哪了?
去看看这个Activity是否有继承某些接口或方法.
果然不出我所料, 这个类居然还继承了一个MainActivity. 那么随我一起去看看.
步骤:
- 打开MainActivity.smile
- 找到onCreate方法./看完整个类/搜索关键词 这个3个方法都可以试试.一般广告搜索AD之类的单词.
经过一番争扎(争扎过程我就不写了,痛苦), 我终于发现了他启动广告的方法. 做的真隐秘.
把这行代码删除掉. 运行一下.
玩蛋了...怎么失败了??看看什么原因..####
貌似说, 我刚才修改地方出问题了.
再修改一下....
好拉. 终于编译成功了.
广告已经不见了. 我们成功了.!!
恩. 这个教程到此. 我们已经成功把广告删除了. 看着界面就是清爽.....
这个应用主要目的就是把现有应用备份, 然后在已备份里面把应用直接传送到电脑.