Android反编译

1. 拿到Here.apk
2. 改为Here.zip
3. 解压
4. 用dex2jar工具将解压后的文件夹中的classes.dex转换成jar文件
    dex2jar.sh classes.dex(Linux)
    或者
    dex2jar.bat classes.dex(Windows)
    
    生成
    classes_dex2jar.jar

    dex2jar的下载地址如下:
    http://code.google.com/p/dex2jar/

#if First
5. 用jd-gui.exe打开上面生成的jar包classes_dex2jar.jar 即可看到源代码了
#else
5. XJad打开上面生成的jar包classes_dex2jar.jar 反编译后会保存到~...的文件夹里,即可看到源代码了
#endif

6. 用AXMLPrinter反编译xml文件
   java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest2.xml
 
   AXMLPrinter的下载地址如下:
    http://android4me.googlecode.com/files/AXMLPrinter2.jar

另外还有两种方法
1. 反编译的方法主要是利用SDK自带的一个dexdump
用法:dexdump是Android SDK里面自带的命令,看参数说明来使用想要获取的内容。
dexdump -d -f -h xxx.dex > xxx.txt
                指令参数解释:-d : disassemble code sections
                              -f : display summary information from file header
                              -h : display file header details
                              -C : decode (demangle) low-level symbol names
总结:可以有时候调试的时候用一下,对于想很清晰地看到别人的整个源码,感觉没啥用
2. apktool
apktool.bat d -f Here.apk A
将反编译完的文件重新打包成apk,很简单,输入apktool.bat A d:/Tool( apktool.bat   b    abc123

则d:/Tool下面将会出现dist的目录,打包好的apk就在里面

还得签名,请参考:http://blog.csdn.net/androiddeveloper_lee/article/details/9170731

工具下载地址:http://download.csdn.net/detail/lijinwei_123/6773261

你可能感兴趣的:(Android反编译)