apktool反编译详细使用教程

来源:互联网 发布:mac book air常用软件 编辑:程序博客网 时间:2024/06/06 08:57
apktool反编译详细使用教程,包括每个细节。还有为什么反编译不成功,反编译出现的各种情况将为大家详细写出来,如有写的不好的地方还请见谅,这些都是本人自学的,曾经请教过大神,让我悲剧的是尽然无一人为我解答,后只有自己琢磨,所以本人看不惯那些大神的高傲姿态,不就会个反编译,会做美化包,整个内核,相信我写完教程后大家都将会自己制作美化包。学完反编译后你们就可以自己制作美化包了。当然有一些大神除外....就不举例说明了。整内核的教材我就不写了,有时间在写把
    在这里借用了KANE的 APKTOOL使用教程,和
Catro教程】反编译美化后出错的APK 

补充:
注释一下 http://115.com/file/anqkn93s#

http://115.com/file/dpn3ikiz#


刚刚帮别人试了反编安卓4.0系统文件,发现,4.0系统的不能此方法解包,4.0于2.3的大不相同,4.0的反编我上XDA网站看,随后在为大家带来教程。一下的适合安卓2.3及2.3一下系统的。4.0的解包http://forum.xda-developers.com/showthread.php?t=1427959,上有详细,我就不在写了,以后有时间在写。其实4.0的解包的下新版的反编译工具编译就行,编译步骤还是和原来一样。4.0编译工具地址http://115.com/file/dpn3ikiz#
apk.rar

下面将正式开始讲解apktool反编译(如有不好请大家见谅这是本人第一次写教程)


 
安装   翻遍工具地址apktool工具包下载地址http://115.com/file/c2ry7yoh#
apktool.rar 
1.首先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步
java JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html
java JRE:http://www.oracle.com/technetwork/java/javase/downloads/jre-7u1-download-513652.html+ T$ u! W! [/ K

还得设置JAVA环境变量
CLASSPATH     .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
JAVA_HOME     C:\Program Files\Java\jdk1.6.0_10     解释JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径
Path    %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

环境变量配置好了,我们就可以反编译了,(如果有不明白的有两种方法,1,请教我,2在论坛搜搜怎么设置JAVA环境变量)

反编译的使用反编译工具,网上有很多,有APKTOOL,Doapk ,apkmanage..........,

你们可以随便下载一个,地址我就不提供了,你们自己搜索一下,上百度,上论坛上搜都有的,但apkTOOL工具必须包含一下几个 

下载完成反编译工具后,验证是否安装成功,点击开始菜单,运行,输入CMD回车
 

按一下回车出现

 ,

在输入APKTOOl,输入apktool,要看腻把apkTOOL安装在哪个盘,举例我的,我是安装在D盘APkTOOL文件下,先在cmd下输入D:回车,在输入CD apktool,转入apktool文件夹下,输入apktool 出现如下反应, ,

说明你安装成功了,可以进行APK反编译了,下面我已反编译SystemUI.apk为例。

首先的知道一下几条指令的意思
1,apktool d SysteUI.apk 12意思是将SystemUI.apk解包到12文件下,12文件夹不用创建,会自动生成

2,apktool b 12打包12文件夹(将会自动把12文件夹里的修改过得APK解包后修改完后自动打包,

生成resources.arsc,文件,这就是我们反编译的主要目的,

当然还有其他目的,后面将会说明怎么apktool需要反编译的目的,生成的文件。

3,apktool if framework-res.apk这条语句很重要很多时候我们容易忽略这条语句导致打包不成功,这句语句的意思是,有些时候我们解包apk文件需要用framework-res.apk(framework是指系统框架。有时也会用到apktool if twframework-res.apk,同样我们只需在前面输入就行。当然得把framework-res.apk 这个文件目录下。
4,apktool if twframework-res.apk ,当然 twframework-res.apk 也应该放在文件目录下,不如反编译Mms.apk.....会用到
知道这四条语句我们就可以进行反编译了。
已反编译SystemUI.apk为例,,下面开始讲解

现在cmd下输入apktool if framework-res.apk(并把framework-res.apk 放在文件目录下)apktool if twframework-res.apk( twframework-res.apk 也应该放在文件目录下 )其实这两部就是搭建安卓系统环境  ,输入完后在解包,apktool d SystemUI.apk 12就行了    

  这句话很关键要不然你解包会出现如下问题,

 

这也是我曾经遇到过得问题。疑惑了我好久,终于找到原因了。

当然还有一些人会遇到

APK中有美化过得图片反编译中有时会出错,
后再把官方APK得drawable-hdpi文件覆盖到你要打包的那个apk中那反编译就不会出错了,或者把不会出错的图片的替换到出错的就行了,不用管是什么图片,替换到里面去就行,因为最后我们不需要用到这里的图片,所以只要它不出错就行。

(这里参照CATRO里的反编译出错调转http://bbs.lidroid.com/t-62397-1-3.html)当遇到这种问题是
1:直接用压缩软件打开这个APK,从里面提取一个没有报错的9png,这里选取btn_default_small_normal.9.png。复制一份原始的SystemUI.apk。
2,、将刚刚提取的btn_default_small_normal.9.png重命名为APKTOOL里报告有问题的文件名。第一个为title_bar_portrait.9.png,然后用这个title_bar_portrait.9.png替换SystemUI.apk里对应的文件。
重复上面第3步直到所有APKTOOL里报错的文件都被替换完成
3 、再次用APKTOOL反编译SystemUI.apk,可以看到这次反编译就正常了
4.。。按自己想做的进行修改

5、编译修改后的SystemUI文件夹,,.修改你想修改的东西。
6,apktool b 12打包编译的文件夹,编译完成后产生12\build\apk 文件夹,找改动后的文件替换到SystemUI.apk里面。其中resources.arsc必须选择仅存储的压缩方式,其他文件无所谓。
7。替换完成后SystemUI.apk就可以用了。
到这里反编译就基本完成了,大家想要学美化的可以上9000论坛,他们那里挺多美化的。
在说一下反编译其他的,替换,图片是可以随便替换的,APK文件里多图片是无所谓的,还是可以用的,
关于替换XML文件的问题,XML文件有些情况是可以随便替换的,有些确实不能替换。XML在不可读的情况下,即用记事本打不开的时候是可以替换的,原因是因为这种XML文件已就编译完成后将里面的内容设置为不可读的(是为了预防中病毒,要不然很容易是文件重病毒),想要读得必须先apktook工具解包,解包完成后就可读取XML文件。可读得即可用记事本打开的是不可以替换的,要不然会出问题的。所以有些时候我们可以用现成的已编译完成的XML文件直接替换,比如时间居,或状态栏透明替换system/app/SystemUI.apk里的res/layout/status_bar_tracking.xml和res/layout/quickpanel_quick_settings.xml和res/layout/status_bar_expanded.xml和systemui\res\layout\status_bar.xml文件就行,当然这里是替换别人已经制作好的透明栏,省的每次都要重新修改XML文件,工作量大呀!
在这里教程就已经写得差不多了,如有写得不好的地方请见谅,在此希望大家反编译成功,如果有不懂得地方可以联系我,本人
.非诚勿扰。上面是说会出现的错误,
具体使用步骤(先搭建环境,解包,修改,在打包)第二次讲解,简略了没有出现错误的完整反编译流程
那么我们怎么去使用呢?
1.我们需要在windows下搭建安卓系统环境
把你romframework-res.apktwframework-res.apk提取出来,相信root过的,和会用re管理器的就不用我说怎么提取了!把framework-res.apktwframework-res.apk放到(如图)

我系统是kph2.3.4的!那么我现在就可以在windows下搭建框架了!
进入CMD,操作如下图!

那么在windows下安装framework框架完成!搭建完成了!那么我们开始反编译Systemui.apk                                                  
反编:cmd在输入apktool d Systemui.apk 34   (34就是你将Systemui.apk反编出来的文件夹)E:\12\>apktool d Systemui.apk 34
I: Baksmaling...test
I: Loading resource table...
I: Loaded.
I:loading resource table from C:\Documents and Settings\Administrator\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources..
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...(成功)可以进行你的修改了!  解包完后再修改你想修改的就行,修改完后再回编。                                                   回编:cmd在输入apktool b 34   (从文件夹34重建APK,输出到34)E:\12\>apktool b 34
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...(回编成功!)                                                                                                                                         
回编译成功后会在大写APK 文件夹里多个build文件夹我的是E:\12\APK\build在上面的build文件夹里有个小写英文的apk文件夹打开它E:\12\APK\build\apk里面有1resources.arsc文件将它复制到E:\12下,用wrar软件打开E:\12 下的systemui.apk(还是原来那个)点选里面的resources.arsc文件然后在wrar软件菜单上选择添加  弹出的压缩模式对话框中E:\12下的resources 记得选择存储模式 确定后 退出wrar 把修改的systemui.apk 上传到手机卡中 用手机中的RE文件管理复制它替换掉system/app/systemui.apk,替换前用re管理器修改权限
原创粉丝点击