apk反编译去广告

前言

今天有人求助想把“简网”生成的app中的广告去除掉→_→忍不住感叹下:现在科技就是发达,app都可以自动生成了。不过免费还是有代价的,那就是有广告。正好我也想试试手,今天就来开始学习一下如何反编译apk去掉其中的广告内容吧~

工具

Apktool  不用多说,反编译必备工具
dex2jar 同上,都是必备工具
JD-GUI   反编译工具,和上面的dex2jar配合使用
fiddler    抓包软件,可以获取测试机的数据包

这些东西都是最基础的东东哦,可以百度下就能找到具体的安装步骤了

开始

1.通过二维码下载获得apk文件,然后拿出Apktool来进行解压(使用apktool d “app文件名.apk” “输出目录”  命令)得到了解压后的文件夹
apk反编译去广告_第1张图片
2.一开始我想到的是通过修改XML文件讲广告的view文件修改掉,,但是打开res→layout我便放弃了这种方式。因为文件命名上没有明显的AD(广告的缩写)标示,而且文件数量很多根本不可能一个一个来看(由此可见自动生成的app还是比较臃肿的)。
3.那就放弃了这种想法,还是从代码入手吧。将apk用过解压软件打开取出其中的classes.dex文件,dex2jar把它反编译成jar文件,再利用JD-GUI打开。
apk反编译去广告_第2张图片
本想着从目录结构来看,应该会很好找到吧。结果当我点开之后就失望了。
apk反编译去广告_第3张图片
没想到免费生成的app也会进行代码混淆⊙﹏⊙(再看看引用的lib,基本上好多在实际app中都没有用到,果然自动生成的就是有臃肿的问题)对代码进行全文检索“ad”这个关键词发现搜索到的大部分都是“add”。好失望,难道要从代码里一点一点找了么(还是技术不够,哪位有什么好的方法还请留言指教)。忽然想起来简网生成的app广告是他们自己的,而非调用第三方的,那就直接抓包看他广告调用的url是什么直接禁用掉好啦\(^o^)/
打开fiddler→修改下平板的网络设置(具体步骤)→打开APP→OK终于看到了希望的东西啦

请求的URL就是“zhiyue.cuut.com/api/ad”→_→那就不废话了,直接灭掉。打开JD-GUI,全文检索“zhiyue.cuut.com
一下子就找到想要的东西啦adDomainUrl()这个方法应该就是最终目标了。呦西,打开Apktool解压好的文件,找到对应目录下的ZhiyueUrl文件,用记事本打开后搜索到
该方法然后将”ad“删除掉

apk反编译去广告_第4张图片
实施结果如何吧,利用Apktool的打包功能将修改好的文件打包成apk(apktool b  “文件目录” “APP名称”),最后不要忘记了给apk签名啊,不然是无法安装的。

最后

安装成功了,广告内容不再显示→_→大功告成。

你可能感兴趣的:(Android技术,Android,反编译,去广告,抓包)