一、APK Multi-Tool介绍
    APK Multi-Tool 是APK Manager的升级版,是一个强大的APK反编译工具,集多种功能于一身,是居家必备、做ROM必选的工具!
    这是一个比较方便的适合非开发者的小工具,可以对一些APK程序做自己喜欢的修改!
    目前官方最新版是APK Multi-Tool 1.0.3 ,官方网站是:http://apkmultitool.com

二、汉化说明
    此版本基于官方 APK Multi-Tool 1.0.3 (05/17/2012) 汉化,完全尊重原版,但去除了在线更新功能。官方英文原版每次执行脚本的时候都会先在线检查更新,这可能因为网络问题导致长久等待,而且在线更新将会覆盖汉化脚本,使汉化失效。
    此版本为绿色版,免安装,解压后双击Script.bat就能直接运行,不会对注册表进行任何操作。如果你不再使用此软件,直接从计算机删除程序目录即可,不会留任何垃圾。
    此汉化版本仅供学习交流之用,请不要用于商业目的。鉴于本人英语水平有限,不足之处还望指出!

三、下载地址
    1. CSDN:  http://download.csdn.net/detail/manction/4339688
    2. 微盘:  http://vdisk.weibo.com/s/66HqH
    3. 115网盘:  http://115.com/file/c25dzz18
    4. 趣盘:  http://manction.qupan.cc/7122347.html

四、前提条件
    要正常使用APK Multi-Tool ,您的计算机必须满足以下两个条件:
    1. JDK (Java Development Kit)
    2. Adb (Android SDK tools And platform-tools)

(1) JDK的安装及环境变量的配置
    1. 去Oracle官方网站下载并安装JDK,下载地址:
    http://www.oracle.com/technetwork/java/javase/downloads
    注意是下载JDK,而不是JRE

JDK (Java Development Kit,Java开发工具包)
    JRE (Java Runtime Environment,Java运行环境)

你也可以点击以下链接直接下载JDK:
    32位:http://download.oracle.com/otn-pub/java/jdk/6u32-b05/jdk-6u32-windows-i586.exe
    64位:http://download.oracle.com/otn-pub/java/jdk/6u32-b05/jdk-6u32-windows-x64.exe

2. 配置环境变量
    下载并安装JDK之后,你需要在计算机的“系统属性”里配置以下环境变量:

(步骤:在计算机的桌面上右击“我的电脑”,点击“属性”-“高级”-“环境变量”)

变量名:JAVA_HOME
    变量值:D:\java\jdk1.6.0_32 (JDK安装目录)

3. 测试JDK是否安装成功
    在计算机的“运行”(Win+R)里打开 CMD

输入 java – version 命令,如果出现以下提示,表示JDK安装成功!

C:\Documents and Settings\Administrator>java -version
    java version "1.6.0_20"
    Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
    Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode)

(2) ADB的安装及环境变量的配置
    1. 首先要去Google官方下载Android SDK,下载地址是:
    http://developer.android.com/sdk/index.html

你也可以点击以下链接直接下载Android SDK:
    http://dl.google.com/android/installer_r18-windows.exe

2. 下载并安装Android SDK之后,打开SDK Manager,勾选Packages下面的Tools,只需要下载Android SDK Tools和Android SDK Platform-tools,大小为78MB,其他的不用下载。

3. 设置Android SDK环境变量
    1) 新建环境变量
    (步骤:在计算机的桌面上右击“我的电脑”,点击“属性”-“高级”-“环境变量”)

变量名:ANDROID_SDK_HOME
    变量值:D:\Android\android-sdk    (SDK安装目录)

2) 添加Path路径
    (一般来讲系统上默认都会有Path变量,我们只需要找到并编辑即可,直接在变量值后面添加以下变量值;如果不存在Path变量,那就新建一个吧)

变量名:Path
    变量值:;%ANDROID_SDK_HOME%\tools;%ANDROID_SDK_HOME%\platform-tools (注意前面的分号)

4. 测试Android SDK和ADB是否安装成功
    在计算机的“运行”(Win+R)里打开 CMD,输入 adb 命令,如果出现以下提示,表示Android SDK和ADB安装成功!

五、使用教程
    完成了JDK和SDK的安装和配置,现在终于可以开始使用APK Multi-Tool反编译APK程序了!

友情提示:
    如果你使用的是官方原版APK Multi-Tool,在完成了JDK和SDK的安装和配置之后,你还必须把Android SDK安装目录android-sdk\platform-tools文件夹的以下3个文件拷贝到APK Multi-Tool目录APK Multi-Tool\platform-tools文件夹下,否则程序不能正常运行。

adb.exe
    AdbWinApi.dll
    AdbWinUsbApi.dll

PS: 本人提供的汉化版已经包含这3个文件,无需修改。

APK是Android Package的简称,是安卓的安装文件。通过APK Multi-Tool这款软件,先解压apk文件然后对其进行编辑,然后再打包,最后签名。这样就可以安装自己修改过的apk文件了。

文件夹说明:
    keep 保存修改前文件
    projects 包含反编译出来的文件
    place-apk-here-for-modding 存放待修改的文件(文件名一定不要有空格,最好用英文命名)
    place-apk-here-for-signing 存放待签名的文件
    place-apk-here-to-batch-optimize 存放批量处理的文件(可以多个)
    place-ogg-here 存放待OGG优化的文件

具体步骤是这样的:

1) 普通apk文件
    普通apk文件就是从各种网站上下载下来的第三方软件,比如我们从腾讯网下载一个Android版手机QQ : mobileqq_2012_android_build0130.apk

(1) 把需要反编译的APK文件放到place-apk-here-for-modding文件夹里面;
    (2) 运行Script.bat,在CMD窗口中输入23,设置当前项目,选择要编辑的apk文件,回车确认;
   

(3) 在CMD窗口中输入9,apk文件就被反编译到projects文件夹了;
    

(4) 我们对project文件夹中的文件进行编辑,一般APK的图片文件放在XXX.apk\res\drawable-hdpi文件夹里面,我们可以通过Photoshop等图像处理软件对其中的图片包括软件的图标进行编辑替换;而APK的语言文件一般是在XXX.apk\res\values文件夹的strings.xml文件里面,我们可以使用EditPlus等文字编辑工具对里面的文字进行编辑;
    

(5) 在CMD窗口中输入11,重新编译apk,这个过程花费的时间肯可能比较长,请耐心等候。编译成功之后,你可以看到place-apk-here-for-modding文件夹里面出现了一个unsignedXXX.apk,当然,没有签名的APK还是不能安装的;
   

(6) 在CMD窗口中输入12,进行apk签名,你可以看到place-apk-here-for-modding文件夹里面出现了一个signedXXX.apk,APK修改成功,这样就可以拿过来安装了;
   

(7) 如果你手机连接着数据线可以在CMD窗口中输入6,直接用adb安装编辑好的apk文件到手机里。

2) 系统apk文件
    系统apk文件一般是手机system/路径里面的,像/system/app/xxx.apk(自带应用程序)还有像/system/framework/framework-res.apk都可以编辑。

注意:
    1. 系统文件的编辑有些风险的,就像你用R.E管理器删除系统应用一样,搞不好就变成循环重启。所以编辑之前还是用recovery做个当前系统的Backup备份;

2. 注意要保证你的System文件夹里有足够大的空间,不然改好了push不进去。

(1) 手机仅充电状态连接电脑,在CMD窗口中输入0(提取系统apk文件),然后输入提取路径例如/system/app/xxx.apk,接着重新命名,这个名字可以随意取,建议不要有空格;
    (2) 在CMD窗口中输入1,apk文件就被解压到projects文件夹了;
    (3) 我们对project文件夹中的文件进行编辑,一般APK的图片文件放在XXX.apk\res\drawable-hdpi文件夹里面,我们可以通过Photoshop等图像处理软件对其中的图片包括软件的图标进行编辑替换;而APK的语言文件一般是在XXX.apk\res\values文件夹的strings.xml文件里面,我们可以使用EditPlus等文字编辑工具对里面的文字进行编辑;
    (4) 在CMD窗口中输入3,重新压缩成apk,你可以看到place-apk-here-for-modding文件夹里面出现了一个unsignedXXX.apk;
    (5) CMD窗口中输入8(把编辑好的系统apk文件重新push到系统里面),然后输入路径,比如输入/system/app/xxx.apk,这个一定要跟你push出来的路径和文件名完全一样才能被替换。

汉化: Manction
    主页: http://blog.sina.com.cn/manction
    微博: http://t.qq.com/manction
    日期: 2012年5月28日

APK Multi-Tool强大的APK反编译工具终极教程的更多相关文章

  1. .NET Reflector 8.3.3.115 官方最新版+注册机(强大的.NET反编译工具破解版)

    Lutz Roeder’s .NET Reflector,是一个可以将以.NET Framework为基础开发出来的的DLL或EXE文件,反编译为原始程序的工具软件..NET Reflector 工具 ...

  2. Reflector8.5 .net反编译工具 破解教程

    一.断网 二.打开软件.打开注册机 三. 四. 五. 六. 七. 八.

  3. ILSpy,DLL反编译工具,学习与了解原理的好帮手

    你是否一直苦于找到了好的dll却只知道怎么使用而不知道其原理. 你是否在使用一个dll的时候发现它在一些参数时报错了却没法解决. 你是否想成为一个优秀的.net开发,成为一个优秀的系统制造者. 那你需 ...

  4. Atitit.反编译apk android源码以及防止反编译apk

    Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool  apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用 ...

  5. andriod的apk文件相关的编译反编译工具

    1.smali-1.2.6.jar 用途:.smali文件 转成 classes.dex文件 说明:.smali文件,类似于.class文件,可以用普通文本编辑器查看和修改. 用法举例:命令行:jav ...

  6. apk反编译工具

    反编译工具: apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui:查看APK中 ...

  7. apk反编译工具-apktool

    apk很easy被反编译,关于这篇文章apktool反编译工具. (一)优势反编译 1.能学习别人优秀代码 看看优秀apk他们的string.color命名规则,看看布局排版等都能学习到东西. 2.进 ...

  8. Unity3D 导出的apk进行混淆和加固防止反编译

    前言: 对于辛辛苦苦完成的apk程序被人轻易的反编译了,那就得不偿失了,这篇文章就是解决Unity打包出来的apk进行代码加固和混淆. 准备资料: 1:Obfuscator.zip  作用是代码混淆, ...

  9. apk 反编译工具的使用

    在学习android 开发的时候,我们经常回尝试使用到别人的apk,希望能了解别人怎么编写的代码,于是想要一个能实现其反编译的软件,将软件反编译出来,查看其代码. 工具/原料 反编译软件dex2jar ...

随机推荐

  1. VxWorks中的中断应用设计要点

    硬件中断处理是实时系统设计中的关键性问题,设计人员有必要对其作深入研究,以更好地满足开发工作需要.文中以VxWorks操作系统为软件平台,讨论了在实时系统中进行中断应用设计时要注意的一些问题.由于软硬 ...

  2. DML触发器1

    数据库触发器是特殊的存储程序.通常不直接调用它们,而是由数据库的事件触发. 触发器分类: >DML触发器 >instead-of触发器 >系统事件触发器,还可以是DDL 一. DML ...

  3. freemarker自定义标签(二)

    freemarker自定义标签 1.自定义标签 通过自定义标签,写一个重复指定字符串 2.实现源码 <html> <head> <meta http-equiv=&quo ...

  4. javax.el.PropertyNotFoundException:Property 'statisDate' not found on type java.lang.String

    1.错误描述 javax.el.PropertyNotFoundException:Property 'statisDate' not found on type java.lang.String 2 ...

  5. 芝麻HTTP:爬虫之设置Selenium+Chrome代理

    微博登录限制了错误次数···加上Cookie大批账号被封需要从Cookie池中 剔除被封的账号··· 需要使用代理··· 无赖百度了大半天都是特么的啥玩意儿???结果换成了 Google手到擒来 分分 ...

  6. Java 8 Date-Time API 详解

    从Java版本1.0开始就支持日期和时间,主要通过java.util.Date类. 但是,Date类设计不佳. 例如,Date中的月份从1开始,但从日期却从0开始.在JDK 1.1中使用它的许多方法已 ...

  7. 用css以写代码形式画一个皮卡丘

    我的个人网站是通过写代码的形式来形成一个网站的,前一阵子在某个大神的github上看到他用写代码的形式来完成一个皮卡丘,于是心血来潮花了半个小时,也完成了一个作品. 这其中涉及到的知识点也不是很复杂, ...

  8. Bzoj4555: [Tjoi2016&Heoi2016]求和

    题面 Bzoj Sol 推柿子 因为当\(j>i\)时\(S(i, j)=0\),所以有 \[\sum_{i=0}^{n}\sum_{j=0}^{n}S(i, j)2^j(j!)\] 枚举\(j ...

  9. Kruskal重构树(货车运输)

    ... 和Kruskal生成树一样 本来是u,v连一条f的边 现在变成新建一个点,点权为f,u v都像它连无边权的边 (实际上应该是u的根和v的根) 这样树有一些性质: 1.二叉树 2.原树与新树两点 ...

  10. [THUWC 2017]在美妙的数学王国中畅游

    bzoj5020 \[答案误差只要小于 10^{-7}\] 题解 Taylor展开式: \[若f(x)的n阶导数在[a, b]内连续,则f(x)在x_{0}\in[a, b]可表示为\] \[f(x) ...