> CentOS > CentOS教程 >

CentOS下搭建Apk反编译环境

windows下反编译就不说了,百度一下多如牛毛.下面说说Linux下的Apk反编译.
反编译分为两种,一是获取应用的资源文件,二是获取应用的源代码.
1.获取资源文件
   Apk中的资源文件除了图片最多的就属xml文件了,在解压apk文件后,xml文件显示的都是乱码,有很多方法可以解决,在这里介绍一种我最喜欢用的.
   apktool----Apk打包工具 下载地址:https://code.google.com/p/android-apktool/downloads/detail?name=apktool1.5.2.tar.bz2&can=2&q=
解压后只有一个文件: apktool.jar

  1. [root@fedora apktool1.5.2]# java -jar apktool.jar d ../AnZhi.apk

  2. I: Baksmaling...

  3. I: Loading resource table...

  4. I: Loaded.

  5. I: Decoding AndroidManifest.xml with resources...

  6. I: Loading resource table from file: /root/apktool/framework/1.apk

  7. I: Loaded.

  8. I: Regular manifest package...

  9. I: Decoding file-resources...

  10. W: Cant find 9patch chunk in file: "drawable-hdpi/ab_menu_item_focused.9.png". Renaming it to *.png.

  11. I: Decoding values */* XMLs...

  12. I: Done.

  13. I: Copying assets and libs...

   执行后在apktool1.5.2目录下自动生成了apk对应的文件夹.其中就包含图片和xml文件,就可以好好研究了
下载apktool-install-linux-r05-ibot.tar.bz2文件,提取apktool文件和apktool.apk文件一起放在/bin目录下,这样就可以在任意位置运行了
apktool-install-linux-r05-ibot.tar.bz2下载地址:https://code.google.com/p/android-apktool/downloads/list

2.获取源代码
A. 将Apk文件解压,里面有class.dex文件,
B. 下载dex2jar: https://code.google.com/p/dex2jar/downloads/detail?name=dex2jar-0.0.9.15.zip&can=2&q=
            解压进入目录, 运行dex2jar.sh  classes.dex 即可
C. JD-gui 查看生成的jar文件.

(责任编辑:IT)