Android APK反编译相关工具下载及使用

概述

Android APK反编译是个有趣的事情。我们可以对APK反编译进行汉化破解工作等。

Android APK反编译主要涉及三个工具的使用,分别是

  • apktool
  • dex2jar
  • jd-gui(即jad)

本文附带工具整理下载

Android-ApkTool

功能: 可以反编译成smali的中间代码文件和可人类友好的XML资源文件如AndroidManifest.xml

项目地址:原地址:https://code.google.com/p/android-apktool/,但是该项目已经搬迁至http://ibotpeaches.github.io/Apktool/

使用说明:

官方文档地址:http://ibotpeaches.github.io/Apktool/documentation/

项目最新版本为2.0,与1.x版本的使用差异:

Examples of new usage in 2.0 vs 1.5.x
Old (Apktool 1.5.x)	<span style="white-space:pre">			</span>New (Apktool 2.0.x)
apktool if framework-res.apk tag	<span style="white-space:pre">	</span>apktool if framework-res.apk -t tag
apktool d framework-res.apk output	<span style="white-space:pre">	</span>apktool d framework.res.apk -o output
apktool b output new.apk	<span style="white-space:pre">		</span>apktool b output -o new.apk
下面为具体使用

基本:
apktool d testapp.apk

Decoding反编码:
$ apktool d foo.jar
// decodes foo.jar to foo.jar.out folder

$ apktool decode foo.jar
// decodes foo.jar to foo.jar.out folder

$ apktool d bar.apk
// decodes bar.apk to bar folder

$ apktool decode bar.apk
// decodes bar.apk to bar folder

$ apktool d bar.apk -o baz
// decodes bar.apk to baz folder

构建Building
$ apktool d foo.jar
// decodes foo.jar to foo.jar.out folder

$ apktool decode foo.jar
// decodes foo.jar to foo.jar.out folder

$ apktool d bar.apk
// decodes bar.apk to bar folder

$ apktool decode bar.apk
// decodes bar.apk to bar folder

$ apktool d bar.apk -o baz
// decodes bar.apk to baz folder

dex2jar

简介 :dex文件转换成jar文件
项目地址:原地址:https://code.google.com/p/dex2jar/,最新项目地址:http://sourceforge.net/p/dex2jar/
使用:
文档地址:http://sourceforge.net/p/dex2jar/wiki/UserGuide/; http://sourceforge.net/p/dex2jar/wiki/Faq/
版本:原地址版本为0.0.9.5,新地址版本为2.0
要求环境:JDK7
// For Linux, Mac OSX, Cygwin
sh /home/panxiaobo/dex2jar-version/d2j-dex2jar.sh /home/panxiaobo/someApk.apk
// For Windows
C:\dex2jar-version\d2j-dex2jar.bat someApk.apk
然后可以使用jd-gui查看产生的jar文件

jd-gui

介绍:直接通过jar查看源码
项目地址:http://jd.benow.ca/
使用:略

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。