安卓的大范围普及,导致软件鱼龙混杂,一些小软件恣意添加广告,本来就不大的屏幕就让广告霸占了快一半。而傻瓜式的去广告几乎没有,除了断网还没有其他更傻瓜的处理办法。对于安卓的广告,需要我们亲自操刀,对软件进行反编译破解。

需要的工具:WinRAR或者好压(推荐后者)、Xtemp(解压打包dex的,网上很多,可以自己去下)、Notepad++(一款很强大的开源编辑器)、APKSign(APK的签名软件)

系统要求:配置好Java环境变量(详情请点我

首先,用压缩打开软件,把classes.dex拖出来。注意,是打开软件,而不是解压缩。

用Xtemp解压classes.dex文件,注意,不一样的Xtemp方式不一样。一般有一个dex.bat,把classes.dex拖到dex.bat上,按照提示解压缩。此时,会得到一个classes文件夹。

打开Notepad++,Ctrl+F文件查找,显示如图:

QQ20130715184534

查找目标填关键词(稍后介绍),替换为填一些无意义的字母,目录为classes文件夹目录。剩下的是全词匹配,模式选择普通,填好之后点在文章替换,会问Are you sure?点确定,然后会蹦出来一个对话框,此时不要点确定

介绍一下关键词(没兴趣的可以直接忽略这一段,不影响我们去广告)。现在软件里的广告不是软件开发者自己的广告,而是广告商提供的。软件开发者利用广告商提供的SDK,在软件里内置广告。当你打开软件时,软件通过广告商的网址,下载广告,并予以显示。如果,我们把广告商的网址改了,那么软件就无法通过网址下载广告了。而这些信息就是存在classes.dex文件里。

常见的广告商有这么几个——Admob、Google Ads、domon(多盟)、youmi(有米)等,关键词就是这些,其中用前两个的国外软件居多。通过查找替换掉关键词,我们就可以屏蔽掉广告了。

将修改好的classes文件夹重新压缩成dex文件,我们依旧用Xtemp,不同的版本压缩方式不同,不过都大同小异,最后会得到一个old.dex文件,我们将old.dex重命名为classes.dex。

我们用好压打开APK软件,将新的classes.dex拖进去,覆盖原来的classes.dex,并删除META-INF文件夹里CERT两个文件,关闭好压。注意,这一步整个过程,我们并没有解压缩,直接在好压目录里操作的。

最后,为APK签名。打开APKSign软件,点“选择APK或者ROM文件”,选择我们修改好的APK包,点“签名文件保存目录”,选择我们要保存的地方。最后点制作签名,会在保存目录下生成文件名_signed.apk的一个签好名的安装包。至此,去广告成功结束。

注1:关键次有很多,要首先知道用的哪家的广告商,这是最麻烦的,要多试几个。如果Notepad++搜索框左下角显示蓝色“Replace in Files: 0 occurrences replaced”则说明,该关键词不存在,应该多试几个。

注2:软件重新签名后安装,会删除原有数据,如登陆信息、账户数据等,请妥善保管数据。

作者 hsyyf

《APK去广告方法》有2条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注