注:后有文中所提到的需下载的文件
通过dex2jar和jd我们可以反编译apk中的dex,可以比较完美的查看java源文件;通过apktool可以反编译apk中的xml等资源文件,然后通过apk-sign签名,可以制作成修改版的可发布apk文件。
1.dex2jar反编译dex文件:
a.下载文件见附件:apktool-1.3.1.tar.bz2,jd-gui.zip,或点击这里下载;解压;
b. 把apk文件后缀名改为.zip,然后解压缩其中的class.dex文件,它是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件;
c.把class.dex拷贝到dex2jar.bat所在目录,运行dex2jar.bat class.dex,生成classes.dex.dex2jar.jar ;
d.运行jd-gui工具(绿色无须安装),打开上面生成的jar文件,即可看到源代码;
2.Android反编译工具:Apktool,支持Linux 、Windows。
Android apktool是一个用来处理APK文件的工具,可以对APK进行反编译生成程序的源代码和图片、XML配置、语言资源等文件,也可以添加新的功能到APK文件中。用该工具来汉化Android软件然后重新打包发布是相当简单的。
1.安装
1).首先安装需要JAVA环境,先下载JDK/JRE,请下载,已经有JAVA环境的可跳过此步
2).到code.google上下载apktool.jar以及相关文件:http://code.google.com/p/android-apktool/downloads/list
点击下载apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip
3).解压apktool-install-windows.zip到任意文件夹,然后解压apktool.jar 到apktool-install-windows.zip所在的文件夹下。
4).点击开始菜单,运行,输入CMD回车,用cd命令转到刚刚解压apktool-install-windows所在的文件夹,输入apktool,出现一些命令说明即成功安装。
C:\android\android-apktool\apktool-install-windows-r04-brut1>apktool.bat
Apktool v1.4.1 - a tool for reengineering Android apk files
Copyright 2010 Ryszard Wi?niewski <brut.alll@gmail.com>
Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
Usage: apktool [-v|--verbose] COMMAND [...] -- 熟悉dos命令的很容易可以看懂
COMMANDs are:
d[ecode] [OPTS] <file.apk> [<dir>]
Decode <file.apk> to <dir>.
OPTS:
-s, --no-src
Do not decode sources.
-r, --no-res
Do not decode resources.
-d, --debug
Decode in debug mode. Check project page for more info.
-f, --force
Force delete destination directory.
-t <tag>, --frame-tag <tag>
Try to use framework files tagged by <tag>.
--keep-broken-res
Use if there was an error and some resources were dropped, e.g.:
"Invalid config flags detected. Dropping resources", but you
want to decode them anyway, even with errors. You will have to
fix them manually before building.
b[uild] [OPTS] [<app_path>] [<out_file>]
Build an apk from already decoded application located in <app_path>.
It will automatically detect, whether files was changed and perform
needed steps only.
If you omit <app_path> then current directory will be used.
If you omit <out_file> then <app_path>/dist/<name_of_original.apk> -- 这个需要注意,生成新的apk所在的目录
will be used.
OPTS:
-f, --force-all
Skip changes detection and build all files.
-d, --debug
Build in debug mode. Check project page for more info.
if|install-framework <framework.apk> [<tag>]
Install framework file to your system.
For additional info, see: http://code.google.com/p/android-apktool/
2、使用
apktool d XXX.apk ABC 反编译XXX.apk到文件夹ABC
apktool b ABC 从文件夹ABC重建APK,输出到ABC/dist/out.apk
例子:
C:\android\android-apktool\apktool-install-windows-r04-brut1>apktool d C:\android\参考\simple.apk SIMPLE
I: Baksmaling...
testI: Loading resource table...
I: Loaded.
I: Loading resource table from file: C:\Documents and Settings\Administrator\apk
tool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
C:\android\android-apktool\apktool-install-windows-r04-brut1>apktool b SIMPLE
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
OK,这样包就重新打好了,可能你并没有直接看到什么东西产生,不过这个时候你看一下 SIMPLE\dist 文件夹的SIMPLE\dist里,已经产生了一个我们修改后的APK,就是它了,但是这个文件目前还不能安装,需要一个签名!下一步就是关于软件签名的,早在09年就已经有老外研究过了,我们现在用的只是人家当年的技术了。
4 D/ z/ U H4 C) d! r4 A
签名程序名为 Autosign ,你可以自己去google搜索.
这个的安装很简单吧,原作者都写了,其实你要做的就是解压,然后使用就OK,当然如果你跟我一样使用Ubuntu/FreeBSD等系统,就执行下面的命令
java -jar signapk.jar (网上有教程)
v& }+ B6 H. k" j
Windows用户只要双击exe执行即可,操作已经很简单,不必多说了。Ubuntu/FreeBSD用户可以自己写一个小脚本,很简单也不用多说了。
好了,经过了以上的操作,你的作品就可以公布了。
3.apk-sign签名apk文件:
1). 下载文件件附件apk-sign.rar,解压到任意文件夹;
2).将XXX.apk文件解压到XXX文件夹,然后将XXX文件夹直接拖到apk-sign文件中的sign_pack.bat批处理文件上以执行,弹出cmd执行窗口,等待执行完即可;
3).生成新文件夹XXX_signed中的apk文件即为已签名;
4)在apk-sign文件夹中会多出一个文件夹,里面就是签名过的Apk
分享到:
相关推荐
通过对 Android APK 的反编译和安全检测,我们可以看到混淆代码和防二次打包已经无用,而 DEX、RES、SO 库等文件的加密是有效的,因为我们根本无法拿到里面的代码,无法进行任何修改。这是我的 Android APK 防止破解...
安卓apk反编译工具,android app反编译工具。用于学习
Apktool是一款开源的Android APK反编译工具,由IzzySoft开发。它能够解包APK文件,将二进制的.dex字节码文件转换为人类可读的Smali代码,并且可以重新打包和签名APK。Apktool的主要功能包括资源解析、框架重建以及...
安卓Android APK反编译是开发者或逆向工程师为了查看、分析或修改APK内部代码和资源的一种技术。以下是一个详细的步骤,帮助你理解如何进行这个过程: 1. **准备工作**:首先,你需要下载两个关键工具,分别是`dex2...
Android APK反编译是一个复杂而重要的过程,它涉及到对Android应用程序的源代码进行逆向工程,以便理解其内部工作原理、提取资源或者进行修改。在Android应用开发中,APK文件是应用程序的打包形式,包含了所有的代码...
本文将深入探讨“Android APK反编译文件”这一主题,包括如何进行反编译,以及反编译过程中的关键知识点。 首先,让我们了解什么是APK反编译。APK反编译是将已编译的APK文件转换回其源代码形式,以便分析和理解其...
总的来说,"Android apk反编译工具集"为Android开发者和安全研究人员提供了一个强大的工具链,可以帮助他们深入理解APK的内部构造,实现代码分析、漏洞检测和定制化修改等任务。正确使用这些工具,可以提升开发者的...
Apk反编译工具包括了apktool、dex2jar和jd-gui三个工具,apktool用于apk反编译获取资源文件等,dex2jar用于分析classes.dex文件,jd-gui可以用于打开dex2jar分析生成的classes-dex2jar.jar文件从而查看源代码。
"Android APK反编译"是一个针对APK文件进行逆向工程的过程,旨在揭示其内部工作原理,理解代码逻辑,或者进行二次开发。这个过程通常用于安全分析、漏洞挖掘、学习和调试。下面我们将深入探讨APK反编译的相关知识点...
"androidAPK反编译工具32/64"提供了解决这一需求的工具,它包括了32位和64位版本,适应不同的操作系统环境。 首先,让我们来了解一下APK反编译的基本概念。反编译是将已编译的二进制代码转换回源代码的过程。对于...
本文将详细介绍Android APK反编译的三个核心工具:ApkTool、dex2jar以及JD-GUI,并探讨它们的工作原理和使用方法。 首先,让我们来看看ApkTool。ApkTool是一款由IzzySoft开发的开源工具,主要用于反编译和重新打包...
教程中可能涵盖的内容包括如何使用APK Multi-Tool,这是一个集成了上述部分功能的工具,可能提供了一站式的APK反编译解决方案。使用此类工具时,需要注意: - **遵守法律**: 反编译他人应用应仅限于学习和研究目的...
这个“Android APK反编译工具反编译工具包”就是为了这些目的而准备的。它包含了三个核心工具:apktool、dex2jar和jd-gui,这些都是Android反编译流程中的关键组件。 首先,`apktool`是一个开源工具,用于解包和...
Android反编译工具合集,APK反编译工具合集 apktool dex2jar jd-gui,全是开源项目下载,工具无一漏,百分百实用,Android必备。 啥,不会用? 百度,Google教你~~~
然而,需要注意的是,未经授权的APK反编译和修改可能涉及到版权和法律问题,因此在进行此类操作时,必须确保遵循合法和道德的准则,尊重软件开发者的知识产权。此外,对于商业项目,了解并掌握这些工具的使用也是...
"Android APK反编译工具"正是为这个目的而存在的,其中最常用的一款工具就是`apktool`。 `Apktool`是一款由IzzySoft开发的开源工具,主要用于反编译APK文件。它能够解码APK中的资源文件(如XML布局、图片、字符串表...
### Android APK反编译知识点详解 #### 一、概述 Android平台因其开源性与灵活性而备受开发者喜爱。但在实际使用过程中,用户可能会遇到各种各样的问题,比如软件中烦人的广告或者游戏中的某些设定(如经验金币获取...
在Android开发领域,APK反编译是一种常见的技术手段,用于理解、分析或者修改已有的应用程序。本资源包集合提供了一系列的Android APK反编译工具,帮助开发者或安全研究人员深入洞察APK文件的内部结构,了解其工作...
本文将详细讲解如何使用完整的APK反编译工具及步骤,帮助你从零开始了解这一过程。 首先,你需要一套完整的反编译工具,这通常包括但不限于以下组件: 1. **Apktool**:这是一个用于解包和重新打包Android APK文件...