APK 去广告(修改代码级)
来源:互联网 发布:朋友印象是什么软件 编辑:程序博客网 时间:2024/06/05 05:46
APK去广告(修改代码级)
作者:PeerLessSoul
时间:2016-07-24
转载请注明版权
准备工具
Java SE Development Kit (JDK)(下载地址)
安装完成后设置全局路径变量 (参考文章)
apktool.jar (下载地址)
dex2jar (下载地址)
JavaDecompiler(JD-GUI) (下载地址)
Notepad++ (下载地址)
操作流程
解包
命令提示行执行:java -jarapktool.jar d "XYZ.apk";
找到解包后文件夹中的classes.dex,并使用dex2jar中的d2j-dex2jar.bat进行dex文件转换成jar文件;
命令如下:d2j-dex2jar.bat “classes.dex”
最终生成classes-dex2jar.jar文件;
破解准备
使用jd-gui(上述装备工具5),打开并加载classes-dex2jar.jar文件;
如下图所示;(此环节只是作为后面直接修改smali代码作为参考)
这里可以看到是google的广告,google的SDK可以看到主要在APP里面调用是采用
com.google.android.gms.ads.AdView类 及InterstitialAd类,这点可以查阅Google广告SDK的API文档;
去除其他广告,建议先看广告SDK的API,这样就知道APK里面的写法;
开始破解
使用Notepad++查询刚才解包后的路径中AdView作为关键字,如下图所示;(这里也就是刚才提到的Google广告SDK的主要类的关键字)
下面查询到的结果可以看到很多地方有调用或者引用的地方;基本可以对查询中的结果进行区分,如何区分的办法,我是正向的会写APP所以定位很清楚,如果不清楚可以找一些APP编程的书籍看一些,这些代码就很清晰和简单;
破解的思路:有些破解是直接隐藏现实广告的窗体,基本上不用动流程代码;成功率比较高,因为核心业务代码没有去改动,只是改动布局页面中的窗体高度、宽度等等显示级别的属性,从而达到去广告的效果;广告代码还是在调用和执行,效率是肯定会有一些影响。我们这次要干的是直接修改业务代码,直接从代码级别去掉广告;
我们点击一个Notepad++所找到的文件代码段;如下图所示:
Notepad++上面所显示的就是对应文件的代码段;这个时候打开刚才打开的JD-GUI -并找到对应的类文件;
我截取的对照代码段;这里找很需要耐心和方法;
在jd-gui中要看关键代码段的上下行,不仅仅看调用行;
在Notepad++中,按照.line进行比较核对;
并删除相对应的调用代码;
重新封包
APP解包后的文件需要重新打包并且签名才能复制到设备上进行安装和应用,当完成了修改工作,就可以进行重封包的工作;
重新把文件夹打包执行命令:
java -jar apktool.jar b "XXXX" “XXXX.apk";
重新签名APK包,执行命令:
jarsigner -verbose-keystore android.keystore -signedjar XXXX_signed.apk "XXX.apk"android.keystore
(android.keystore为自己创建的签名文件)
最终生成的XXXX_signed.apk就可以复制到设备安装了.
附:自己生成签名文件命令
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000-keystore android.keystore
其中:signedjar、keytool命令 均来自JDK文件夹下面bin,如果配置好操作系统全局变量,直接在命令提示行下是可以直接调用;
注意事项
在不熟悉的情况下修改代码,,切忌一次修改很多地方,刚开始时候修改少部分代码,重新打个包安装上去试试,验证一下自己修改的效果。因为很有可能删了不该删除的代码段,造成APP无法启动;
- APK 去广告(修改代码级)
- android-----apk去广告
- android-----apk去广告
- apk反编译去广告
- apk去广告
- apk 去广告
- Android apk去广告
- 【图文并茂】人人都会修改APK,美化,汉化,去广告
- android apk 去广告教程
- waggo去广告代码
- apk软件去广告 傻瓜教程
- apk软件去广告 傻瓜教程
- APK反编译去广告大揭秘
- 自助去除APK的广告!(整理、修改、简化版)
- 自助去除APK的广告!(整理、修改、简化版)
- 免费空间去广告(统计代码)方法:
- 教你用安卓神器-APK编辑器(手机端)改程序名+去程序广告!
- Android 的 ApkTool 反编译 apk xml 和去广告
- 和尚练猪练丹经验贴——从入门到精通
- 【学习笔记】Android-打造炫酷进度条(条形)
- Bootstrap
- 【题】【线段树(不用lazy的区间修改)】NKOJ 2997 狗 【nodgd造水题】
- JAVA面向对象-----接口的特点
- APK 去广告(修改代码级)
- C++类和new、delete操作符和堆和栈内存的分配
- JAVA面向对象-----接口与类、接口之间的关系
- FastDFS特性及问题思考
- 深入浅出 消息队列 ActiveMQ
- 在Qt中读写INI配置文件
- 有 Return 的情况下 Try Catch Finally的执行顺序(详细的代码以及解释)
- List的类类型排序
- 深入理解java反射机制