일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 우분투
- 보안
- Linux
- IPTV
- Algorithm
- Eclipse
- 안드로이드
- 작성중
- unix
- KOSPI
- 주식
- java
- conemu
- Android
- IT 키워드
- uml example
- ubuntu
- Audacity
- 기술사
- 공매도
- 코스피
- Qmail
- adb
- LDAP
- 알고리즘
- 태터수정
- UX
- 도서
- eclipse35
- Today
- Total
Do diffence
Java Decompiler 본문
Java Decompiler
http://java.decompiler.free.fr/
-
Eclipse plugin : 윈도우, 리눅스 등 지원
- JD-Eclipse : http://java.decompiler.free.fr/jd-eclipse/update
- preferences -> General -> Editor -> File associations -> Class file editor 를 default 로 지정해 주어야
이클립스에서 .calss 파일을 즉시 볼 수 있다.
-
JD-GUI: 윈도우, 리눅스 등 지원
- 와우 Nautilus 지원.
- JAD에 비해 좀 더 깔끔한 코드 추출로 가독성이 좋아 보인다.
JAD
JAD UI : FrontEnd Plus
Jad eclipse plugin
http://jadclipse.sourceforge.net/
JadClipse 3.3.0와 Eclipse 3.3.x Europa가 잘 동작함. ganymede 는 안됨...
참조
jadclipse error - default class viewer
3.4.x에서 문제 발생
Go to Window > Preferences... > General > Editors > File Associations and make sure that the JadClipse Class File Viewer has the default file association for *.class files.
Jad Usage
'example1.class' 의 역컴파일
- jad example1.class
'example1.jad'을 현재 디렉토리에 만들어지고, -o 옵션은 강제 덮어쓰기를 한다.
-s <ext> 으로 결과 파일 확장자 변경
- 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'
이 글은 스프링노트에서 작성되었습니다.