【技术贴】Android反编译教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【技术贴】Android反编译教程
近来一直在学习安卓(android)编程,有时候需要很多精美的图片来美化程序。很多时候都是把别人应用里面的图片截取出来后进行PS处理,对于我这个PS技术小白来说,是一件头痛的问题。我以前不知从哪里得知:【.apk】格式其实就是一种压缩格式。于是就想:既然【.apk】格式是一种压缩格式,何不解压试一试?于是用【好压】进行了解压,果不其然,结果令人很吃惊,于是就有了下面的内容……
说明:
这个教程演示了安卓手机应用反编译的过程。小白个人觉得最大的作用有两点:
1.去除应用中的广告;
2.汉化。
当然,个人觉得还是要支持一下广告,毕竟应用开发者不是那么容易的,广告费可能是部分个人开发者最主要的收入来源。同时,小白最反感的是把别人的应用进行反编译后当做自己的应用或者直接在应用上加入自己的广告,这种行为【……】(此处略去999999个字O(∩_∩)O)
不多说了,以下是正文内容。
步骤:
1.准备一些工具软件,网上很容易找到。
a.JRE(或JDK)提供Java运行环境
b.ApkTool apk打包工具
c.AutoSign 数字签名工具
2.安装JRE(或JDK),并配置环境变量(网上教程很多,自己去找一些)。(配置成功后方可进行下一步哦。。。)
3. 对【ApkTool】进行解压。
进入【ApkTool】的目录下,并把需要反编译的apk放在这个目录下,如下图所示:
说明:【test.apk】是需要重新打包的文件。
4.打开系统的控制台【命令提示符】
方法有很多,这里只推荐一种比较简单的方式,方便理解。
推荐方式:
【开始】->【所有程序】->【附件】->【命令提示符】如图所示:
其他方式:
a.【开始】->(搜索栏)->输入【cmd】->【确定】;
b.【开始】->【运行】->输入【cmd】->【确定】;
c.【win+R】->(运行)->输入【cmd】->【确定】.
截图如下:
5.转到【ApkTool】目录下,我的目录是【D:\Softwares\系统工具\ApkTool】,方法主要有两种。
方法一:通过命令提示符来实现,截图如下:
方法二:找到对应的目录,按住【shift】,【鼠标右键】->【在此处打开命令窗口】,截图如下:
【注意】一定要按住【shift】键,否则没有这个选项。
6.解压apk文件,我这里是:【test.apk】
输入命令:【apktool d demo.apk ABC】
这里“d”表示要解码。demo.apk是要解包的APK文件。ABC 是子目录名。所有解包的文件都会放在这个子目录内。
所以我的命令可以是:
【apktool dtest.apk D:\directory】
把文件解压到了【D:\directory】目录内。
如图所示:
7.对解压后的文件进行处理,如【去广告】,【汉化】等等。(郑重声明:请勿应用非正当手段对别人的apk进行处理,
否则后果自负)
8.把解压后的文件重新封装成apk文件。
使用命令:
apktool b ABC newtest.apk
这里“b”表示要打包
ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。newtest.apk是打包后产生的新的APK文件。
所以我的命令可以是:
【apktool bD:\directory newtest.apk】
如图所示:
【注意】新生成的文件是【newtest.apk】
到这一步是不是就结束了呢?还没有。。。是不是有一点失望呢?^_^别急,还差最后一步,就是为新生成的文件添加数字签名。(没有数字签名的apk是无法安装在android系统上的,具体原因可以百度一下)
9.使用【AutoSign】对新生成的apk文件进行数字签名。
a.将AutoSign解压到任意目录(需要自己能找到);
b.将改好的包【newtest.apk】改名为update.zip;(注意:文件后缀修改为【apk】)
c.将update.zip 文件复制到签名工具的目录下;
d.双击Sign.bat 运行Sign.bat命令。需要一点时间,目录下会多出一个update_signed.zip文件
e.修改【update_signed.zip】文件的文件名(文件后缀改为【apk】),例如【MyApp.apk】。
10.安装测试成功。
艾明
2014年4月16日星期三