[原创]反编译工具dava的使用,个人觉得效果比jad/jd-gui效果好
使用过ded进行dex反编译的同学应该知道dava是个神马东西。他是ded中实现class->java的反编译工具
个人觉得他的解析效果比jad/jd-gui要好,美中不足的是稳定性不够好。
ded是linux下的,对于使用windows的同学来说只能单独使用dava来反编译了。dava使用起来真是好蛋疼。相信有同学已经尝试过了。经过一番努力终于成功了。
dava是soot的一部分使用它就要下载soot。
下载 最新版 2.5.0 http://www.sable.mcgill.ca/soot/soot_download.html
下面是运行命令有点长先来张图。后面慢慢解释

指令解释
cmd 输入指令cd 到你soot-2.5.0.jar的 目录然后继续输入下面的指令
(1)设置依赖库路径。 Java –cp soot-2.5.0.jar
(2)启动soot 。 soot.Main
(3)设置soot的classpath 。
-cp C:\Java\jdk1.6.0_21\jre\lib\jce.jar;(你jdk/jre中的jce,这个是反编译必须要的)
C:\Java\jdk1.6.0_21\jre\lib\rt.jar;(你jdk/jre中的rt,这个是反编译必须要的)
D:\adt-bundle-windows-x86\sdk\platforms\android-4.2\android.jar;(你android sdk所在的)
yourdir(你要反编译的文件所在的目录)
特别注意 yourdir 中不要包含包名 比如你的文件夹为workspace/bin/com/XX…..class
而你的包名为com。那么这里设置的yourdir应为workspace/bin
(4)反编译选项 。-f dava
(5)输出目录。 -d output
(6)要反编译的文件
目录下的所有文件 -process-path yourdir(yourdir 的设置跟上面一样 不要包括包名)
单个文件 package.XX package为包名,XX为要反编译的文件名 不需要.class的后缀
最后给出整条指令
反编译 目录下的文件
java -cp soot-2.5.0.jar soot.Main -cp C:\Java\jdk1.6.0_21\jre\lib\jce.jar;C:\Java\jdk1.6.0_21\jre\lib\rt.jar;D:\adt-bundle-windows-x86\sdk\platforms\android-4.2\android.jar;D:\Soot\test16 -f dava -process-path D:\Soot\test
反编译反编译单个文件
java -cp soot-2.5.0.jar soot.Main -cp C:\Java\jdk1.6.0_21\jre\lib\jce.jar;C:\Java\jdk1.6.0_21\jre\lib\rt.jar;D:\adt-bundle-windows-x86\sdk\platforms\android-4.2\android.jar;D:\Soot\test16 -f dava com.example.myfish.Enemy
