Android Apk解密工程初探(5)--广告和弹窗
2010-11-24 12:16
399 查看
在网络上很多Apk应用程序中,作者会对免费的版本加入广告,然后理所当然的网络上也出现了大量的去广告版。另外,也有一些软件,启动时会弹个窗口出来,要么是一些无用的提示,要么是建议你去注册。各大Android爱好者热衷于去下载这些无广告版无弹窗的Android软件,理由也很简单,看起来和用起来都舒服。
在这小节里,我们简单的研究下,这些广告和弹窗是如何被去掉的。
当然,这里所有的修改都建立在apktool反编译的基础上。前面的文章已经阐述过了,我们直接讲核心的部分。
实验的对象,也是一个简单的自己写的apk。图片如下:
这种方法原理是把显示广告的部分长度和宽度改为零。这样做优点是简单,缺点当然其实这个图片还是存在,还会占资源,如果是网络广告,那么还会从网络上下载,理所当然的,图片的下载会消耗你的一定得流量。
相对彻底的去广告方法:以ImageView显示图片为例, ImageView中加载图片(或动画)的方法有setImageBitmap、setAnimation、setBackgroundDrawable、draw等,在smali中找到这些函数,然后使用#号注释掉该部分。如下
然后,再把layout中ImageView相应的width和height设置为0dip,就可以了(为避免程序出错,不太建议删除掉)
如果是网络图片,那么则会存在一个网络下载的步骤,把相应的一系列的步骤全部注释掉就可以。简单的点的改法,可以把Url置为空。本例中,我把
const-string v6, "http://www.baidu.com/img/logo-yy.gif "
改为
const-string v6, ""
这样,apk就无法从指定地址下载到图片了。
最后就是测试一下!
在这小节里,我们简单的研究下,这些广告和弹窗是如何被去掉的。
当然,这里所有的修改都建立在apktool反编译的基础上。前面的文章已经阐述过了,我们直接讲核心的部分。
实验的对象,也是一个简单的自己写的apk。图片如下:
去广告
最简单的去广告方法:修改layout中的ImageView的width和height属性为0dip。这种方法原理是把显示广告的部分长度和宽度改为零。这样做优点是简单,缺点当然其实这个图片还是存在,还会占资源,如果是网络广告,那么还会从网络上下载,理所当然的,图片的下载会消耗你的一定得流量。
相对彻底的去广告方法:以ImageView显示图片为例, ImageView中加载图片(或动画)的方法有setImageBitmap、setAnimation、setBackgroundDrawable、draw等,在smali中找到这些函数,然后使用#号注释掉该部分。如下
然后,再把layout中ImageView相应的width和height设置为0dip,就可以了(为避免程序出错,不太建议删除掉)
如果是网络图片,那么则会存在一个网络下载的步骤,把相应的一系列的步骤全部注释掉就可以。简单的点的改法,可以把Url置为空。本例中,我把
const-string v6, "http://www.baidu.com/img/logo-yy.gif "
改为
const-string v6, ""
这样,apk就无法从指定地址下载到图片了。
去弹窗
以本例为背景,本例的弹窗是出自AlertDialog,可以把相应的整块Builder, AlertDialog相关的代码注释掉,简单点的改法,把show事件注释就可以。如下:最后就是测试一下!
相关文章推荐
- Android Apk解密工程初探(1)——简单的例子
- Android Apk解密工程初探(2)--代码注入
- Android Apk解密工程初探(3)--序列号保护方式简析
- Android Apk解密工程初探(4)-- Bao力破解与简单逆变换
- Android Apk解密工程初探-前言、关键字、解密环境
- 用eclipse给cocos2d-x工程打android的apk包常见问题
- Android:apk反编译步骤,打包、签名和逆向工程经验总结
- html5游戏移植到android并打包成apk,加广告《二》
- android工程中引入第三方JAR包后安装APK时老是提示找不到库文件 || Android如何将程序打成jar包 || 运行java.lang.noclassdeffounderror错误
- Android 反编译初探 应用是如何被注入广告的
- Android--入门---8---(详解申请证书并将Android的工程打包为APK手机应用软件)
- Android 反编译初探 应用是如何被注入广告的
- cocos2dx 命令创建各平台工程,并自动打包Android apk的方法
- android工程转换到apk
- android 原生工程中集成第三方so动态库和.a静态库和apk
- 在eclipse中将android工程打包成apk
- 在eclipse中将android工程打包成apk
- 在eclipse中将android工程打包成apk
- Android 反编译初探 应用是如何被注入广告的
- 在eclipse中将android工程打包成apk