资源发布:Jad-the fast Java Decompiler

CSDN 2000-07-29 12:04:00
资源下载,详细资料请访问:http://www.csdn.net/develop/resource.asp?ID=27
Jad is a Java decompiler, i.e. program that reads one or more Java class files and converts them into Java source files which can be compiled again.

Jad is a 100% pure C++ program and it generally works several times faster than decompilers written in Java.
Jad doesn't use the Java runtime for its functioning, therefore no special setup is required (like changes to the CLASSPATH variable).

Jad can be used:

for recovering lost source codes;
for exploring the sources of Java runtime libraries;
as a Java disassembler;
as a Java source code cleaner and beautifier :).

Jad expects that supplied Java class files are valid ones, i.e. they can pass the Java Virtual Machine (JVM) verification successfully.

The Jad main features:

Enhanced readability of the generated source code.
Ability to comment Java source code with JVM bytecodes. Useful for verification and educational purposes.
Full support for inner and anonymous classes.
Fast decompilation and simple setup.
Automatic conversion of identifiers garbled by Java obfuscators into valid ones.
Free for non-commercial use. If you would like to use Jad for commercial purposes, please contact me for conditions.
...全文
393 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
o decompile a single JAVA class file 'example1.class' type the following: jad example1.class This command creates file 'example1.jad' in the current directory. If such file already exists Jad asks whether you want to overwrite it or not. Option -o permits overwriting without a confirmation. You can omit .class extension and/or use wildcards in the names of input files. Option -s allows to change output file extension: jad -sjava example1.class This command creates file 'example1.java'. Be careful when using options -o and -sjava together, because Jad can accidentally overwrite your own source files. Jad uses JAVA class name as an output file name. For example, if class file 'example1.class' contains JAVA class 'test1' then Jad will create file 'test1.jad' rather than 'example1.jad'. If you want to specify your own output file name use the output redirection: jad -p example1.class > myexm1.java Option -d allows you to specify another directory for output files, which are created, by default, in the current directory. For example: jad -o -dtest -sjava *.class (or jad -o -d test -s java *.class, which has the same effect) This command decompiles all .class files in the current directory and places all output files with extension .java into directory 'test'. If you want to decompile the whole tree of JAVA classes, use the following command: jad -o -r -sjava -dsrc tree/**/*.class This command decompiles all .class files located in all subdirectories of 'tree' and creates output files in subdirectories of 'src' according to package names of classes. For example, if file 'tree/a/b/c.class' contains class 'c' from package 'a.b', then output file will have a name 'src/a/b/c.java'. Note the use of the "two stars" wildcard ('**') in the previous command. It is handled by Jad rather than the command shell, so on UNIX the last argument should be single-quoted: jad -o -r -sjava -dsrc 'tree/**/*.class' In a case you want to check the accuracy of the decompilation or just curious, there is an option -a which tells Jad to annotate the output with JAVA Virtual Machine bytecodes. Jad supports the inner and anonymous classes. When Jad expands wildcards in the input file names, it automatically skips matching inner classes. On UNIX Jad skips inner classes if there is more than one class specified in the command line. Jad looks for inner classes in the directory of their top-level container class.
Java反编译软件JAD1 ad -sjava example1.class生成example1.java文件,十分准确。 This is README file for Jad - the fast Java Decompiler. Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html Copyright 1997-99 Pavel Kouznetsov (kpdus@geocities.com). 0. Please read the disclaimer on the Jad home page. 1. Installation. Unzip jad.zip file into any appropriate directory on your hard drive. This will create two files: - an executable file named 'jad.exe' (Windows 95/NT) or 'jad' (Linux) - this README file No other setup is required. 2. How to use Jad To decompile a single JAVA class file 'example1.class' type the following: jad example1.class This command will create file 'example1.jad' in the current directory. If such file already exists Jad asks if you want to overwrite it. Option -o allows overwriting without confirmations. You can omit .class extension and/or use wildcards in the names of input files. Option -s allows to change output file extension: jad -sjava example1.class This command will create file 'example1.java'. Be careful when using options -o and -sjava together, because Jad can accidentally overwrite your own source files. Jad uses JAVA class name as an output file name. For example, if class file 'example1.class' contains JAVA class 'test1' then Jad will create file 'test1.jad' rather then 'example1.jad'. If you want to specify your own output file name use output redirection: jad -p example1.class > myexm1.java Option -d allows you to specify another directory for output files, which are created, by default, in the current directory. For example: jad -o -dtest -sjava *.class (or jad -o -d test -s java *.class, which has the same effect) This command will decompile all .class files in the current directory and place all output files with extension .java into directory 'test'. If you want to decompile the whole tree of JAVA classes, then use the following command: jad -o -r -sjava -dsrc tree/**/*.class This command will decompile all .class files located in all subdirectories of 'tree' and create output files in subdirectories of 'src' according to package names of classes. For example, if file 'tree/a/b/c.class' contains class 'c' from package 'a.b' then output file will have a name 'src/a/b/c.java'. Note the use of 'two asterisks' wildcard ('**') in the previous command. It is handled by Jad rather then command shell, so on UNIX the last argument should be single-quoted: jad -o -r -sjava -dsrc 'tree/**/*.class' In case you want to check the accuracy of the decompilation or just curious, there is an option -a which tells Jad to annotate the output with JAVA Virtual Machine bytecodes. Jad supports inner and anonymous classes. When Jad expands wildcards in the input file names, it automatically skips matching inner classes. On UNIX Jad skips inner classes if there is more than one class specified in the command line. Jad looks for inner classes in the directory of their top-level container class. 3. List of the command-line options. Jad accepts the following options: -a - annotate the output with JVM bytecodes -af - same as -a, but outputs fully qualified names when annotating; -clear - clears all prefixes, including the default ones (can be abbreviated as -cl) -b - output redundant braces (e.g., if(a) { b(); }, default: no) -d - directory for output files (will be created when necessary) -dead - try to decompile dead parts of code (if any) (default: no) -disass - disassemble method bytecodes (no JAVA source generated) -f - output fully qualified names for classes/fields/methods -ff - output class fields before methods (default: after methods) -i - output default initializers for all non-final fields -l - split strings into pieces of maximum chars (default: no) -nl - split strings on newline character (default: no) -nodos - do not check for class files in DOS mode (default: check) -nocast - don't generate auxiliary casts -nocode - don't generate the source code for methods -noconv - don't convert Java identifiers (default: do) -noctor - suppress the empty constructors -noinner - turn off the support of inner classes (default: turn on) -nolvt - ignore Local Variable Table information -nonlb - don't output a newline before opening brace (default: do) -o - overwrite output files without confirmation (default: no) -p - send decompiled code to STDOUT (e.g., for piping) -pi - pack imports into one line after imports (default: 3) -pv - pack fields with identical types into one line (default: no) -pa - prefix for all packages in generated source files -pc - prefix for classes with numerical names (default: _cls) -pf - prefix for fields with numerical names (default: _fld) -pe - prefix for unused exception names (default: _ex) -pl - prefix for locals with numerical names (default: _lcl) -pm - prefix for methods with numerical names (default: _mth) -pp - prefix for method parms with numerical names (default: _prm) -r - restore package directory structrure -s - output file extension (by default '.jad') -stat - display the total number of processed classes/methods/fields -t - use tabs instead of spaces for indentation -t - use spaces for indentation (default: 4) -v - display method names being decompiled -8 - convert UNICODE strings into 8-bit strings using current ANSI code page (Win32 only) -& - redirect stderr to stdout (Win32 only) All single-word options have three formats: -o - 'reverses' value of an option -o+ - set value to 'true' or 'on' -o- - set value to 'false' or 'off'
DJ Java Decompiler ver. 2.9.9.60 for Windows 95/98/Me/NT/2000 THE PURPOSE: DJ Java Decompiler is decompiler for Java which reconstructs the original source code from the compiled binary CLASS files (applets). DJ Java Decompiler is able to decompile the most complex Java applets and binaries, producing accurate source code. This latest release is able to compile, run, create JAR archives and run applets outside of the context of a Web browser when JDK is installed. INSTALLATION: The program is for Windows 95, Windows 98, Windows Millennium Edition, Windows NT and Windows 2000. Uninstall previos version of DJ (if there are any). Unzip djdec299.zip file into any appropriate directory on your hard drive. This will create file SetupDJ.exe. To install or re-install DJ Java Decompiler run SetupDJ.exe To run DJ Java Decompiler setup you must have MS Windows Installer v.1.00 or above installed. (see your \Windows\SYSTEM folder - MSIEXEC.EXE and MSI.DLL). This files are about 2MB. For this reason I don't include MSIEXEC in setup program. If you have Win9x, you can download MSIEXEC from: http://download.microsoft.com/download/platformsdk/wininst/1.1/W9X/EN-US/InstMsi.exe or from: http://www.microsoft.com/downloads/release.asp?ReleaseID=17343 If you have WinNT, you can download MSIEXEC from: http://download.microsoft.com/download/platformsdk/wininst/1.1/NT4/EN-US/InstMsi.exe or from: http://www.microsoft.com/downloads/release.asp?ReleaseID=17344 And you can learn more about MSIEXEC from: http://msdn.microsoft.com/library/officedev/off2krk/45ct_2.htm or from:http://www.microsoft.com/msdownload/platformsdk/instmsi.htm HOW TO USE DJ JAVA DECOMPILER: To decompile a single JAVA class file you can: 1.Select Open and load your desired class file. 2.Double-click the CLASS file you want to decompile. 3.Drag-and-drop your desired class file on the DJ Java Decompiler window. DJ Java Decompiler supports drag-and-drop functions for OLE. 4.In Windows Explorer Right mouse-button pop-up menu available too. NEW IN THIS VERSION: 1. Some bugs fixed. 2. New decompiler options added. 3. "Refresh" and "Toggle to Sourcecode/Bytecode View" buttons added. 4 Changes in "Recent Files..". 5. New features in "Settings" - "Configurations". Users can change the default font name and size. 6. Changes in DJ icon in the system tray. 7. "Opened Files History" form added. 8. "Processor Usage (%)" information added in "System Information" form. THE STATUS OF DJ JAVA DECOMPILER: DJ Java Decompiler is Freeware. COPYRIGHT INFORMATION: The program uses Jad as its Java decompiling engine. Home Page of Jad-the fast Java Decompiler: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html The decompiled Java code is provided "as is", for your information only, without warranty of any kind, either expressed or implied. You assume all risks concerning the suitability and accuracy of the decompiled code. The decompiled code may contain inaccuracies or errors. CONTACT: Home page: http://members.fortunecity.com/neshkov/dj.html Email: nasko_1999@yahoo.com

4,164

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 一般软件使用
社区管理员
  • 一般软件使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧