Android逆向工程 实践篇 三

news/2024/7/5 5:55:37 标签: 移动开发

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



分析:

如何去除呢./? 类似这个类型的广告只需要分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之类的单词.

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


图片描述


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


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






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

再修改一下....


好拉. 终于编译成功了.


图片描述





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

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

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



http://www.niftyadmin.cn/n/842063.html

相关文章

运行Vue在ASP.NET Core应用程序并部署在IIS上

前言 从.NET Core 1.0开始我们就将其应用到项目中,但是呢我对ASP.NET Core一些原理也还未开始研究,仅限于会用,不过园子中已有大量文章存在,借着有点空余时间,我们来讲讲如何利用ASP.NET Core结合Vue在IIS上运行。 ASP…

eclispe设置workspace text file encoding

在windows下开发,经常会遇到eclipse新导入的工程 java代码中的注释或者字符串中文显示乱码,每次都要一个个项目更改麻烦,特地找了下,可通过如下方法一次性设置。

Unable to process parts as no multi-part configuration has been provided错误的解决

出现Unable to process parts as no multi-part configuration has been provided错误,解决方法如下: 文件解析器的配置ID必须等于multipartResolver,不能是其他值

谈谈 js 深浅拷贝 那点事(一)

深拷贝与浅拷贝 不知道大家是咋理解的 有没有从内存空间角度去理解 前天看了一个内存空间 堆栈 下面卖弄下 在学习数据结构时候 堆栈是很熟悉了 在一端去对数据的操作 简单说 栈为自动分配内存空间 由系统自动释放堆是动态分配的内存 大小不定也不会自动释放 栈数据结构网上好的…

Kafka 学习笔记之 删除Topic

删除Topic 1. 显示所有Topic信息,testTopic是我们将要删除的Topic 2. 首先确认server.properties下面配置是否已经加上delete.topic.enabletrue 3. 我们来验证是否test topic已经被真正的删除了。 a. 验证Kafka log: b. 验证Zookeeper 连接Zookeeper zkCli.sh -serv…

编码对象

要被写入和读取的对象必须继承NSObject,,并且实现NSCoding关键还要实现NSCoding 的两个必要的方法public func encode(with aCoder: NSCoder)public init?(coder aDecoder: NSCoder) 格式如下: // 编码的时候调用这个方法func encode(with aCoder: NSCo…

物联网如何跳出“看起来很美”?

摘要: 物联网市场正处在大爆发的前夜。今年2月,思科宣布14亿美元收购物联网公司Jasper,4月底Cypress宣布以5.5亿美元收购博通的无线物联网业务,其后不到一周时间,微软宣布收购意大利物联网平台Solair。 物联网市场正处…

Eclipse Maven创建项目失败的解决办法

eclipse重新配置maven环境后,无法创建项目,错误如下: 网上的解决办法一般有以下几种: 1.修改maven的配置文件,将settings文件中的默认镜像修改为国内的镜像仓库,比如阿里的镜像仓库 在mirror节点下添加 …