Bootstrap

反编译工具dava的使用

      找到一个比较好的java反编译工具,就是使用起来比较麻烦。        

DAVA不是一个独立的JAVA反编译器,而是JAVA代码优化工具Soot的一部分。Soot和JODE一样是纯JAVA开发的,也是一个独立的JAR包,但却不能通过双击直接运行,而是象JAD一样在命令行状态运行。

 

以下内容为转载:

 

dava是soot的一部分使用它就要下载soot。
下载 最新版 2.5.0 http://www.sable.mcgill.ca/soot/soot_download.html

下面是运行命令有点长先来张图。后面慢慢解释

点击图片以查看大图

图片名称:	1.png
查看次数:	36
文件大小:	43.1 KB
文件 ID :	77760

指令解释
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

;