转着记


转着记
2011年10月23日
  要想apk去广告,先了解下apk软件游戏的内置广告原理,一个软件若要显示广告,需要先导入SDK,并在AndroidManifest.xml中注册。
  res\layout目录内的xml文件就包含有广告界面的配置代码,修改这些代码就可以去除广告界面。
  另外还要屏蔽广告下载源,不然只是单单不显示广告界面而已,软件还会下载广告所需的数据,耗费流量。
  目前Android的广告供应商有两个,一个是Admob,一个是Google Ads,前者已被后者收购,但两者SDK依然独立。
  广告代码
  Admob的广告代码为:
  
  Google Ads的广告代码为:
  
  广告下载源
  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、去除广告下载源
  - 解包classes.dex(方法上面已讲过),用Notepad++ Portable搜索广告下载源地址(若不知道软件用的是哪个供应商的广告的话,最好两家的下载源都搜索下)
  搜索结果如下:
  - 将广告下载源地址修改成无效的地址(例如0.0.0.0、192.168.1.1等):
  - 完成后保存,重新打包classes.dex,拖回apk安装包替换原文件。
  2、去除广告界面
  ① 将刚刚已经替换了classes.dex文件的apk安装包用APKTool反编译。
  ② 用Notepad++ Portable搜索广告代码(上面已列出)
  - 如图,将搜索路径定位到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"
  修改后:
  - 将所有搜索到的代码按照上面修改,完成后保存,用APKTool重新编译打包,可签,安装即可。
  再作下解释:
  android:layout_width="fill_parent" 修改为 android:layout_width="0.0dip"
  android:layout_height="wrap_content" 修改为 android:layout_height="0.0dip"
  之所以这么修改,是因为要让广告窗口不显示,android:layout_width定义的是广告窗口的宽度,android:layout_height定义的是广告窗口的高度,0.0dip代表0像素,将两者后面的值修改为0.0dip,那么高和宽都是显示0像素,等于不显示,达到了去广告窗口界面的目的。
  apk去广告所需的软件工具:
  APK反编译工具apktool
  apk文件解包打包工具smali
  查询文件关键字并替换notepad
  WIN7系统/windows7系统apk签名工具Auto-sign
  下载地址:
  apk去广告工具  点此下载
  apk去广告教程方法一:
  Android软件、游戏等应用装了不少,大多数优秀的免费软件中,真正完全免费的应用确是不多,有不少游戏和软件中内置了广告。这些广告对于开发者而言,是维持开发运营的收益的一种体现,不过对于用户来说,一些过分的广告,却适得其反,增大了用户的反感,减少了用户体验,这种应用其实也不在少数,废话不多说了,开始进入正题,怎么样才能快速的去除那些顽固的广告呢?接下来看看就知道。
  注意:此文仅作为技术交流讨论所用,请勿用于其他用途!
    由于很多软件内置广告的形式不一,此次寒星仅以最为简单的形式开始我们的教程。当然要先准备一个APK反编译工具对APK进行解包。为了方便大家,还是提供一下主要的好了。
  apktool下载地址:
  APK反编译工具apktool  点此下载
    搜索和替换工具很重要,寒星使用的是Search and Replace,此工具不仅速度快,重要的是支持对文件和文件夹搜索和替换,当然EmEditor也是个不错的选择,这个主要看大家习惯而定。
    现在最为简单的广告是以嵌入式为主,即在主程序标签浮动加载一个广告条,知道了原理去除也就容易了,我们在解开APK到的文件夹,搜索“http://”,在搜索结果列表框内,我们可以看到很多搜索到的内容,搜索到的结果中有一个文件很醒目:AdView,此文件中包含的既是加载广告的脚本,将其中的四行脚本"http://schemas.android.com/apk/lib/com.google.ads"替换为"",既可以屏蔽掉广告的加载和显示。
    当然,最后一步就是编译一下然后重新签名,这样便得到了一个无广告的应用。其他更为复杂的方法我们会做后期介绍。
  apk去广告教程方法二:
  Android平台虽然号称免费程序多过app store,但是几乎个个都有广告,看了让人着实不爽。下面就教大家怎么用最简单的步骤把广告通通都去掉!
  首先电脑上安装java环境
  请下载最新的java环境,并安装。这一步就不详细叙述了,跟普通程序的安装过程是一样的
  下载所需工具
  下载地址:
  APK反编译工具apktool  点此下载
  包含以下三个工具:
  smali ―― 解包、打包apk文件
  notepad ―― 查询文件关键字并替换
  apk签名工具
  将所有工具解压缩待用
  用电脑上的解压缩软件WinRAR打开需要去广告的apk文件,提取classes.dex
  将classes.dex拖到smali文件夹中的解包.bat上
  得到classes文件夹
  打开notepad(也可以使用editplus)
  按Ctrl+F打开搜索替换
  选择 在文件中搜索 (Find in Files)
  在浏览目录(Directory)里选择classes文件夹
  搜索内容(Find what) 填写http://
  这时可以看到有很多搜索到的链接 其中有很多就是广告链接
  将广告链接删除(只删除引号内的部分)
  notepad++会自动保存你做的修改
  将classes文件夹拖动到打包.bat上 自动打包
  得到修改完成后的classes.dex
  将classes.dex拖到apk文件(用winrar打开)里替换原文件
  删除apk文件中META-INF里的除MANIFEST.MF外的两个文件
  将apk文件移动到拖动到签名工具所在文件夹sign里
  拖动到Sign.bat上自动签名
  如果 .bat不能正常工作, 手动输入
  D:\PSP\Milestone\no AD\smali1.1>java -jar baksmali.jar classes.dex   ――解包  (出现 out文件夹),
  D:\PSP\Milestone\no AD\smali1.1>java -jar smali.jar out      ――打包 out文件夹
  D:\PSP\Milestone\no AD\sign>java -jar sign.jar testkey.x509.pem testkey.pk8 nj_signed.apk signed.apk     ――生成sign
  大功告成,同步到你的安卓手机里试试效果吧!
  该文章转自[灵通163-LT163.com] 原文链接:http://www.lt163.com/jc/linux/diy/201109/7550_2.html
  以上是电脑端操作的两个方法,现在有一个直接在手机端操作的APK去广告软件-广告免疫
  Android去除软件自带广告的好软件――广告免疫:
  下载地址:
  广告免疫  点此下载
  去除广告不用愁!杀掉软件和游戏里的广告!
  该文章转自[灵通163-LT163.com] 原文链接:http://www.lt163.com/jc/linux/diy/201109/7550.html
  相信看到软件名字,大家就可以猜出此软件的功能。虽然Android平台里的移动广告烦人,但现在终于有了解决的方法。用户通过选择软件中的“下载与安装主机”,将免疫补丁安装到手机中,然后重启手机以便清除DNS缓存,达到屏蔽广告的目的。
    这里要说明的是,由于谷歌的广告程序经常更新,所以用户打了一次免疫并不会终身受益。大家需要定期或者不定期地更新软件。在打好免疫补丁重启手机后,用户在运行软件时会看到广告条的位置变为白色矩形条,这说明该广告已经被成功免疫。
  现在好了,因为有了广告免疫!特拿来和大家一起分享~!
  Adfree这款小软件能让某些免费程式里面自带的广告失效。
  基本原理大概是将广告服务器的地址指向别处或本地;这样可以省下下载广告的流量并且更美观;可能对某些程序会留下一个空白,不过大多数不会。
  使用后重启一下手机,就会发现~~啊~~世界终于清净了!
  注意:本软件需要获得ROOT权限,未ROOT的手机就不要用啦,用了也没用。
  另:如果之后又装了新的有广告软件,需再使用一次本软件。
  该文章转自[灵通163-LT163.com] 原文链接:http://www.lt163.com/jc/linux/diy/201109/7550_3.html

猜你喜欢

转载自mcstn61x.iteye.com/blog/1358601
今日推荐