ubuntu 12.04 apk反编译工具

弄了个开源项目,想看看其中是怎么实现的一个过程,于是开始反编译其apk。以下为测试过程

创建一个反编译文件目录,这个目录存放反编译工具

cd



mkdir  Decompilation



cd Decompilation

下载工具,完整的过程,工具需要4个包。

首先,如果要对源代码进行查看的话:

先下载一个把apk还原成.jar的工具。名字叫 dex2jar

http://code.google.com/p/dex2jar/downloads/list

进入这里点击下载,一般情况是如下操作

cd 

cd Download

unzip dex2jar-0.0.9.14.zip

mv dex2jar-0.0.9.14 /(your path)/Decompilation

这个时候自己找了一个测试文件  test.apk,取出这个test.apk中的classes.dex,并将classes.dex放入dex2jar-0.0.9.14之下,并执行相关命令,如下:

mkdir test

cp (your path)/test.pak   (your path)/test

cd (your path)/test

file test.apk

unzip test.apk

ls 

cp classes.dex (your path )/Decompilation/dex2jar-0.0.9.14

cd (your path)/Decompilation/dex2jar-0.0.9.14



./d2j-dex2jar.sh classes.dex test.jar

这个时候就生成了test.jar的java包了吧,那就用另外一个软件打开这个包,进行代码的阅读即可,这个是jd-gui

http://java.decompiler.free.fr/?q=jdgui

下载属于linux版本的。

下载完毕后,也将它解压缩,放进Decompilation目录吧,这样用起来就方便一些。但是注意的是,它这个软件解压后外面没有文件夹,所有的文件加压出来后就散放在外面的,如果为了整洁,就自己mkdir 一个目录吧。

mkdir jdGUI

cd jdGUI

tar -xvf jd-gui-0.3.5.linux.i686.tar.gz

那么接下来就可以使用jdgui打开test.jar文件了

./jd-gui test.jar

是吧,这个就很熟悉了

----------------------

但是光源代码不行啊,还需要其源代码的资源配置文件啊,好吧,下载另外2个包。这里说明的是,为啥要下载两个包呢?因为有一个包工作的时候,需要另外一个包中的一个软件,也就是.jar格式的。当然,就是传说中apktool工具

----------------------

http://code.google.com/p/android-apktool/downloads/list

这个下载链接中有4个包,因为是在linux下面的,那就下载linux对应的两个包就OK了

-----------------------

这两个包最平凡的解压等等工作,不再赘述。

----------------------

把解压后的apktool1.5.2 中的apktool.jar 拷贝进 apktool-install-linux-r05-ibot 目录下,并把要进行资源反编译的test.apk也放到apktool-install-linux-r05-ibot目录下,OK,执行以下命令:

./apktool d test.apk

然后就生成了test目录了,在test目录下,作为一名android开发人员,那些东西是最熟悉的了。当然,可以适当的进行资源的修改什么的,那都是自己私下里的事情了,或者说怎么把弄到eclipse里面去,那也就是非常容易的了。

如果替换资源后,还想弄回apk文件的话,执行下面的语句

./apktool b test

然后cd 进入 test,在test目录下的某个角落,会有自己期望的test.apk文件出现的。---估计是在dist目录下吧~v~

---------------------------------------

整个过程是,自己得有java环境,不知道是否需要android SDK环境不,因为我pc里本身就有,所以无法知道是否必须要,但java是肯定需要的。

这个过程就是一个测试的过程,测试的时候,不要用hello world测试,因为这个似乎是空的,没有意义;并且,如果一个apk被别人故意以各种"不同寻常"的方式加密后,能否反编译出来还需要验证一下--幸好自己的这个项目是拿的开源社区的,应该不存在这一个问题。

同时,上面的这些工具其实可以配置成全局工具,那么就是需要小小的修改下环境变量就OK了。

--------------------------------

当然,这个过程,整体是有缺陷的,就是说太麻烦了,接下来寻找一个更方便的方法。

 

over

 

你可能感兴趣的:(ubuntu 12.04)