자료실 ^^
Community 자료실 입니다
많은 자료 공유해 주세요 ^^
java decompile 하위 디렉토리까지 한꺼번에 디컴팔 하기
이미지 슬라이더 보기


jad -o -r -sjava -d디컴파일될타겟디렉토리 클래스파일소스디렉토리/**/*.class

예) jad -o -r -sjava -src unicorn/**/*.class



This is README file for Jad - the fast Java Decompiler.
Jad home page:
Copyright 2001 Pavel Kouznetsov (

0. Please read the disclaimer on the Jad home page.

1. Installation.

Unzip file into any appropriate directory on your hard drive.
This will create two files:

    - an executable file named 'jad.exe' (Windows *)
      or 'jad' (*n*x)

    - 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 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 <ext> allows to change output file extension:

     jad -sjava example1.class

This command creates file ''. 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 >

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/'.

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.

3. List of the command-line options.

Jad accepts the following options:

   -a       - annotate the output with JVM bytecodes (default: off)
   -af      - same as -a, but output fully qualified names when annotating
   -clear   - clear all prefixes, including the default ones (can be abbreviated as -cl)
   -b       - output redundant braces (e.g., if(a) { b(); }, default: off)
   -d <dir> - directory for output files (will be created when necessary)
   -dead    - try to decompile dead parts of code (if any) (default: off)
   -disass  - disassemble method bytecodes (no JAVA source generated)
   -f       - output fully qualified names for classes/fields/methods (default: off)
   -ff      - output class fields before methods (default: after methods)
   -i       - output default initializers for all non-final fields
   -l<num>  - split strings into pieces of maximum <num> chars (default: off)
   -lnc     - annotate the output with line numbers (default: off)
   -lradix<num> - display long integers using the specified radix (8, 10 or 16)
   -nl      - split strings on newline character (default: off)
   -nocast  - don't generate auxiliary casts
   -nocode  - don't generate the source code for methods
   -noconv  - don't convert Java identifiers (default: convert)
   -noctor  - suppress the empty constructors
   -nodos   - do not check for class files written in DOS mode (CR before NL, default: check)
   -nofd    - don't disambiguate fields with the same names by adding signatures to their names (default: do)
   -noinner - turn off the support of inner classes (default: 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: off)
   -p       - send decompiled code to STDOUT (e.g., for piping)
   -pi<num> - pack imports into one line after <num> imports (default: 3)
   -pv<num> - pack fields with identical types into one line (default: off)
   -pa <pfx>- prefix for all packages in generated source files
   -pc <pfx>- prefix for classes with numerical names (default: _cls)
   -pf <pfx>- prefix for fields with numerical names (default: _fld)
   -pe <pfx>- prefix for unused exception names (default: _ex)
   -pl <pfx>- prefix for locals with numerical names (default: _lcl)
   -pm <pfx>- prefix for methods with numerical names (default: _mth)
   -pp <pfx>- prefix for method parms with numerical names (default: _prm)
   -r       - restore package directory structrure
   -radix<num> - display integers using the specified radix (8, 10 or 16)
   -s <ext> - output file extension (by default '.jad')
   -safe    - generate additional casts to disambiguate methods/fields (default: off)
   -space   - output space between keyword (if/for/while/etc) and expression (default: off)
   -stat    - display the total number of processed classes/methods/fields
   -t       - use tabs instead of spaces for indentation
   -t<num>  - use <num> spaces for indentation (default: 4)
   -v       - display method names being decompiled
   -8       - convert UNICODE strings into 8-bit strings
              using the 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'

You can specify the options you want to be set by default in the environment variable
JAD_OPTIONS. For example:

JAD_OPTIONS=-ff+ -nonlb+ -t+ -space+

2007-03-30 09:48:56


좋은생각 ^^

첨부파일 (총 1개)
  1. 233.01 KB (288 다운로드)
0점 (0명)
덧글 0개 | 태그 2개
쉽표(,)구분으로 한번에 여러 태그를 입력할수 있습니다
decompile (1) jad (1)
이름 비밀번호
Community 자료실 입니다
많은 자료 공유해 주세요 ^^
! 번호 제목 글쓴이 일자 조회
자료실 입니다 ^^ 1 GoodBug 2005-04-21 8,268
62 [일반] (IE7)'창 닫으시겠습니까' 메시지 없애는 방법 1 오라클자바 2012-02-06 3,481
61 한글 귀화인 증가로 인한 한글Character Set 문제 1 1 Na~ 2010-03-16 5,938
60 Input XSS Code Gubug 2009-09-07 5,242
59 [웹하드]공유온1.0 beta(무료버젼) 너굴대마왕 2009-01-22 8,016
58 Struts/JSP Simple게시판-Bright-Module사용(20081213) Brown Khan 2008-12-13 8,859
57 무료 오라클 관리 툴 DBany/2008 주요화면 소개 ... 박희성 2008-06-10 10,979
56 무료 오라클 관리 툴 DBany/2008 주요기능 소개 ... 박희성 2008-06-10 6,033
55 폰트 맑은 고딕 폰트 공개 1 1 kaiser 2008-05-29 8,916
54 더 이쁜 마우스 커서 1 kaiser 2008-03-07 10,337
53 윈도우즈 마리오손 커서 4 kaiser 2007-12-05 9,103
52 K snagit 7.2.5 버전을 무료로 사용해보세요.(화면캡춰프로그램) 2 2 kaiser 2007-11-27 8,986
51 color color 피커 (flash) 3 2 pearl짓거리 전문 2007-11-12 6,708
50 iBATIS - PreparedStatement - ? 바인딩로그처리 2 idhacker 2007-11-06 10,055
49 암호화 html 소스 암호화 시키기 1 1 GoodBug 2007-09-24 10,723
48 음악듣기 게시판 1 기사도 2007-04-11 8,581
decompile java decompile 하위 디렉토리까지 한꺼번에 디컴팔 하기 2 GoodBug 2007-03-30 11,922
46 [영문] 인터넷 익스플러로 7 정식버전(레지포함) 1 kaiser 2006-10-24 11,594
45 Snoop Monitor GoodBug 2006-10-17 8,740
44 프로세스 모니터링 툴 GoodBug 2006-10-17 11,435
copyright 2005-2018 by Unicorn