Android apk 反编译

本文介绍了如何对Android APK进行反编译,以获取源文件和资源文件。通过使用dex2jar和JD-GUI工具可以导出Java源代码,而使用android-apktool可以解包并重新打包APK,实现对应用的定制化修改。同时,文中还提到了签名APK的步骤。
摘要由CSDN通过智能技术生成

目前没有找到完美的解决方案,能够把apk直接编译成原始文件夹


下面两种侧重点

一、编译源文件

A、基本工具 dex2jar、JD-GUI

下载地址:
dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip
JD-GUI下载地址:
windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip
Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz

B、编译步骤

1.首先找到Android软件安装包中的classes.dex
把apk文件改名为.zip,然后解压缩其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件

2、把classes.dex拷贝到dex2jar.bat所在目录。
windows系统下:在命令行模式下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex ,生成classes.dex.dex2jar.jar
Ubuntu系统下:在终端下定位到dex2jar.sh所在目录,运行
sh dex2jar.sh classes.dex   则可生成classes.dex.dex2jar.jar

3.运行JD-GUI工具(它是绿色无须安装的)
打开上面的jar文件,即可看到源代码


二、编译资源文件

A、编译工具

android-apktool
访问http://code.google.com/p/android-apktool/
下载apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包 (现在版本有更新,下载最新的就是)
apktool-1.0.0.tar.bz2解压出来apktool.jar
apktool-install-windows-2.1_r01-1.zip解压出来aapt.exe和apktool.bat,将这三个文件放到一个目录,加入系统环境变量。

B、编译步骤

1、apktool d “C:\LiveWallpapersPicker.apk” “C:\LiveWallpapersPicker”

将apk编译成资源,输出到文件夹

2、apktool b “C:\LiveWallpapersPicker”  target.apk

将文件夹编译出来的资源重新编译成apk


这样的一个重要用途是,如果对于某些网上下载的应用,你可以修改其背景颜色布局等,做基本的定制化操作。

3、签名

//aapt apktool apktool.jar libhgl.so README signapk.jar Sign.bat testkey.pk8 testkey.x509.pem xxx.apk xxx

java -jar signapk.jar testkey.x509.pem testkey.pk8 xxx1.apk xxx.apk

adb install -r shenqi_sign.apk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值