反编译工具apktool详细教程
转帖注明原帖地址。此系列帖子系HIAPK版权所有。伸手党人人的而诛之。
看到群里这么多孩子疯狂的迷恋美化,为了把美化进行到底,在此发反编译教程一枚。教程区人气太低,我把这帖子发到这里以便更多的同学能看到。
一、工具介绍以及下载
-1)搭建jdk环境是必须的。详细教程见这里。
-2)Apktool:
apktool是众多apk反编译工具里的佼佼者了,个人感觉操作比较简单。还有像apkmanager这样的这里就不做介绍了。
apktool下载点我。
-3)Notepad:
小巧且有效率的代码编辑器,这里我们用来查看和修改xml文件。
Notepad汉化版点我下载。
到此,工具的介绍就告一段落。
二、Apktool的使用方法。
-1)把下载好的apktool解压缩。放到F盘根目录(我这里拿F盘举例,放到C、E、D盘随你们大小便。都可以)。如图:
-2)Apktool反编译命令:
首先提取rom包里的framework-res.apk。拉到apktool文件夹里(这里可以把它重命名为f,以便接下来反编译的时候少打写字-_-)
然后把你想反编译的apk文件同样拉过来。
- xp系统:开始-运行-输入cmd
- win7系统:开始-搜索程序和文件夹对话框-输入cmd
- -
- f: 回车
- -
- cd apktool 回车
- -
- apktool if f.apk 回车
- 这是安装搭建框架
- -
- apktool d x.apk x
- d是反编译命令, x.apk是反编译的apk文件,x是反编译后文件所在文件夹。
- -
- apktool b x
- b是回编译命令 x是回编译到的文件夹。回编译的apk会生成到xdistx.apk。
三、Apktool反编译实例。
下面我们举个实例,拿SystemUI.apk开刀。实现状态栏半透明的效果。以便同学们更好地学习。
-1)把framework-res.apk和SystemUI.apk(这里需要把包里的SystemUI.apk和SystemUI.odex合并,记得军好像发过合并的教程,百度也可以找到)托到apktool文件夹内。
分别重命名为f.apk和s.apk(你们懂的,只是为了少打几个字符而已-_-,你也可以不选择重命名。)如图:
-2)win+R运行CMD
f:回车
cd apktool回车
apktool iff.apk 回车
apktool ds.apk s
如图:
在apktool文件夹里出现了名为s的文件夹。
在ssmalicomandroidsystemuistatusbar文件夹下找到StatusBarService.smali文件。用Notepad++打开。如图:
- 搜索 const/4 v5, 0x2
- 改成const/4 v5, -0x3
回到CMD界面,输入apktool b s回车 执行回编译,在文件夹sdist下生成了s.apk文件。如图:
到这里反编译SystemUI.apk已经完成,进入收尾阶段,如果你反编译的不是系统文件,就可以直接签名安装了,这里我们反编译的是系统文件,所以还要有如下步骤。
用压缩程序打开没有经过修改的SystmUI.apk。把修改过的状态栏图像替换掉,然后把刚才反编译过的S.apk同样打开,把里面的classes.dex同样替换。这里主要是为了不破坏签名。
至此SystemUI.apk全部修改完成。可以替换到手机里了。