Android逆向工程 实践篇 三

723 阅读2分钟

今天就说下给应用去除广告把.在使用一个应用的时候有个广告弹出. 非常恶心. (有些应用是自带广告的, 有些是后来被人加进去的.) 怎么进去的都好. 只要我安装了那个应用, 觉得不爽. 我就立马把广告清除.
上一张没有去除广告的样子把.



分析:

如何去除呢./? 类似这个类型的广告只需要分4步走(不敢说所有的广告都类似.):

  1. 反编译, 拿到smali.

  2. 通过AndroidManifest 找到MainActivity入口.这个应用的入口是:MainActivity_.smali

  3. 找到MainActivity_的onCreate方法.

  4. 阅读代码进行爆破.(因为有些广告直接在onCreate方法里面初始化, 而有部分广告会在application类里面初始化.在那初始化都好,必须在一个地方显示, 那么就肯定会有显示的代码.)

反编译

通过ide我们得到了smali代码.




通过AndroidManifest 找MainActivity入口






图片圈出来的地方就是入口, 那么下一步我们就要找到对应的主Activity.再找到onCreact方法.





看到图片的左边,我们选MainActivity_.smali .打开后, 找到onCreact方法. 仔细研究发现. 这里并没有看到有关于广告的信息. 那么着广告去哪了?
去看看这个Activity是否有继承某些接口或方法.





果然不出我所料, 这个类居然还继承了一个MainActivity. 那么随我一起去看看.

步骤:

  1. 打开MainActivity.smile

  2. 找到onCreate方法./看完整个类/搜索关键词 这个3个方法都可以试试.一般广告搜索AD之类的单词.

经过一番争扎(争扎过程我就不写了,痛苦), 我终于发现了他启动广告的方法. 做的真隐秘.





把这行代码删除掉. 运行一下.


玩蛋了...怎么失败了??看看什么原因..






貌似说, 我刚才修改地方出问题了.

再修改一下....


好拉. 终于编译成功了.








广告已经不见了. 我们成功了.!!

恩. 这个教程到此. 我们已经成功把广告删除了. 看着界面就是清爽.....

这个应用主要目的就是把现有应用备份, 然后在已备份里面把应用直接传送到电脑.