打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
apk软件去广告 傻瓜教程
第一部分:软件准备。

1.apktool————对apk执行分解(反编译)和合成(编译)的工具
2.dex————对classes.dex分解(dump)和合成(build)的工具
3.APKsign————apk签名工具
4.notepad++或者Em edit————文本编辑工具
5.java环境变量配置————apk签名需要

前三个工具打包为a.d.cn文件如下可下载
本帖隐藏的内容需要回复才可以浏览
  a.d.cn.zip (4.08 MB) 
  notepad 5.9_installer.zip (5.18 MB)


第二部分:去广告原理。

先简单了解下软件的广告原理(可参考apk文件的组成,见帖http://android.d.cn/bbs/thread-38605-1-1.html
一个软件若要显示广告,需要先导入SDK,并在AndroidManifest.xml中注册。
Res\layout内的xml文件就包含有广告界面的配置代码,修改这些代码改变广告显示的大小就可以去除广告界面。
只是单单不显示广告,软件还会下载广告所需的数据,那么就要修改代码来屏蔽广告下载源。

目前Android的广告供应商有两个,一个是Admob,一个是Google Ads,前者已被后者收购,但两者SDK依然独立。
另外国内还有casee.cn,但十分不常见。


Res\layout内的xml文件广告代码一般格式如下:
Admob的广告代码为:
<com.admob.android.ads.AdView android:id=”@+id/ad” android:layout_width=”fill_parent” android:layout_height=”wrap_content” />

Google Ads的广告代码为:
<com.google.ads.GoogleAdView android:id=”@+id/adview” android:layout_width=”wrap_content” android:layout_height=”wrap_content” />

广告下载源
Admob的广告下载源:
http://r.admob.com/ad_source.php
http://mm.admob.com
http://api.admob.com
Google Ads的广告下载源:
http://pagead2.googlesyndication.com/pagead/afma_load_ads.js

以上广告源是比较规范的广告源,但是现在市面的软件广告源十分不规范,即使屏蔽了上述广告源,软件还是可能显示广告的。

第三部分:实际操作

1.准备apk
将apk文件放入apktool文件夹内(可改名,改得简单易于操作)。
 

2.反编译
运行run.bat文件,cmd窗口中输入命令 apktool_d_*.apk 如图(解释:d为dump缩写,反编译的意思。)

 
如下图为反编译成功。
 
然后将在apktool文件夹中生成一个文件夹,名称为apk的名称,这个文件夹里的文件就是组成apk的文件。

本帖隐藏的内容需要回复才可以浏览
3.修改
打开 notepad++,ctrl+F调出搜索对话框,如图:
 
记得要搜索目录,选第三个选项卡。
我们需要搜索的关键词一般主要有以下几个:
admob.com admob google.com http://
如下图:notepad++下面会显示搜索出来的文件位置,点击跳转到相应的文件,一般为*.smali文件。
 
然后我们将http:// 开头的字符串改成0.0.0.0或者127.1.1.1等无效的ip。使广告源无法访问。改完记得保存文件。

如果搜索的是非IP地址,那么将字符串该乱即可,例如google.com改成a.com等,个人经验而谈。
 

4.编译
保存文件后将进行编译。在CMD命令提示符后输入命令  apktool_b_文件夹名_*.apk (解释:b为build缩写,编译的意思。)
 
如上图过程为编译成功,此时将在apktool文件夹中生成一个 *.apk文件,这个就是编译后得到的文件。


5.签名
运行APKsign目录下的APKsign.exe,得到窗口:
 
选择好APK所在目录,签名后文件爱你保存的目录,点击制作签名。稍片刻会有个签名成功的确认按钮,点击确认结束。
得到签名后的apk文件。接下来安装测试即可。
 

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

至于前面提到的Res\layout内的xml中的代码处理:简单介绍下:

Admob的广告代码为:
<com.admob.android.ads.AdView android:id=”@+id/ad” android:layout_width=”fill_parent” android:layout_height=”wrap_content” />

Google Ads的广告代码为:
<com.google.ads.GoogleAdView android:id=”@+id/adview” android:layout_width=”wrap_content” android:layout_height=”wrap_content” />


通过notepad++将搜索路径定位到res文件夹(就是反编译后的res文件夹),代码只搜索开头就行了,如:com.admob.android.ads.AdView 和 com.google.ads.GoogleAdView。android:layout_width='fill_parent' 修改为 android:layout_width='0.0dip' 
android:layout_height='wrap_content' 修改为 android:layout_height='0.0dip'

此过程就是将广告显示的位置缩小到0像素,即可完成不显示广告,但现在广告源泛滥,可能有时不奏效的,所以还要按照上述操作进行。


———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

本帖隐藏的内容需要回复才可以浏览
关于无法通过apktool反编译,或者编译不成功,或者编译成功安装出错的软件,去广告的办法。(其实去广告完全可按以下操作完成)

直接解压缩软件(rar,7z等)打开apk,提取其中的classes.dex文件。
 

放入a.d.cn/dex/文件夹中,如图
 

然后运行dump.bat对classes.dex文件反编译,得到out文件夹,如下图
 
然后进行上述教程中的“ 3.修改”部分。但是搜索的目录要改成这个out文件夹。

修改完毕后保存文件,运行build.bat,稍等片刻会生成out.dex文件,如下图

 
然后将out.dex重命名为classes.dex,用解压缩软件替换到APK中,进行签名即可。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android安全攻防战,反编译与混淆技术完全解析(上)
android: 使用android逆向助手反编译APK
APK反编译过程及用到的工具
apk反编译问题总结(转)
Android APK反编译详解(附图)
Android 反编译
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服