apktool 是android 手机下的apk应用的反编译的一个主流工具,并且是开源软件,主要是针对dalvik虚拟机要求运行的dex文件,进行一次逆向解析。本身这个逆向解析过程还是很复杂的,并且开发这个软件又没有特别多的利益(我指的是提供这个工具的大牛),所以目前市场上好像只有这么一个工具。当然肯定有隐藏高手用更顺手的工具,但是在众多小白实力没有进阶的前提下,只能使用这个工具了。


apktool 这个工具在windows下使用是相当的方便,但是linux下虽然有sh脚本,但是感觉木有windows下顺手,但是为了装逼,现在博主的工具重心逐渐从windows向linux下转移,原则是只要是windows和linux下都能实现功能,就一定用linux而不用windows,为了装逼不怕麻烦,哪怕用的web qq 呵呵。


好了,在ubuntu下安装使用apktool 首先要下载相应的工具,工具见下面的链接


http://down.51cto.com/data/1002869



下载后,解压缩相应的目录,我解压缩的目录是

/home/apktool-install-linux


里面有几个工具比较重要,

apktool 反编译apk的工具,命令是 ./apktool d SBGameHacker_2.4.1.apk sbgamehack

其中 mpcGameHacker.apk 和 mpcgamehack 根据不同应用而不同

apktoolnew 我在apktool 基础上修改的,这个命令运行以后就可以完成打包,签名,安装整个过程了,具体命令运行的方式是

./apktoolnew b mpcgamehack/ update.zip

最后的update.zip 这个名称不要改变


这里有两种签名方式,一个是用Auto-sign,一个是dex2jar,对应的apktoolnew 脚本是


dex2jar方式

cp update.zip dex2jar/
./dex2jar/d2j-apk-sign.sh --force update.zip
rm dex2jar/update.zip
adb install -r update-signed.apk


Auto-sign方式

#cp update.zip Auto-sign/
#cd Auto-sign
#java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip
#adb install -r update_signed.zip
#rm update.zip
#cd ..


同时为了能够让这些命令能够让sh找到,需要修改一下/etc/bash.bashrc 这个文件,在最后加上

export ANDROID_APKTOOL_PATH=/home/apktool-install-linux
export PATH=$ANDROID_APKTOOL_PATH:$PATH

也就是将路径给加进入好了


如果运行的时候有神马问题,看看java jdk安装好了木有 呵呵