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安装好了木有 呵呵