APK编译过程,反编译工具

1、APK编译主要分以下几步:

编译资源文件:

主要负责编译XML,图片等一些资源文件。通过aapt工具,生成resources.arsc索引和res文件夹,同时aapt工具还负责把所有的资源文件生成二级制文件,以便程序访问。

编译java源代码:

通过javac编译,把所有的.java文件生成.class文件

生成Dex文件:

通过dx工具,把所有的.class文件统一生成可供Dalvik虚拟机运行的.dex文件。

生成APK文件:

通过apkbuilder把dex和资源文件打包,生成APK文件


2、反编译

利用系统的dexdump -d classes.dex > test.txt,这种形式只是生成了smali语言的文档,作用不大。

apktool+dex2jar+jd_gui来反编译

(1)首先在http://code.google.com/p/android-apktool/downloads/list

下载两个文件:apktool1.4.3.tar.bz2 apktool-install-windows-r04-brut1.tar.bz2

(2)把两个文件夹里的jar包和apktool.bat放到SDK的platform-tools文件夹里。

(3)命令行执行apktool d E:\XX.apk test,这样就会生成test文件夹,里面的XML格式文件就是源文件。

(4)下载dex2jar工具,把XX.apk直接解压得到的classes.dex文件放到该文件夹底下,命令行定位到该文件夹,执 行dex2jar classes.dex。结果就会生成一个jar包

(5)利用工具jd_gui,导入jar包就能看到源代码


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值