'decompile'에 해당되는 글 3

  1. 2010.04.14 Java Decompiler
  2. 2009.08.04 javap로 클래스 파일 버전 확인
  3. 2009.03.01 jad

Java Decompiler

http://jd.benow.ca/

http://java.decompiler.free.fr/

일반 어플리케이션과 이클립스 플러그인이 있음.
쓸만하다.

jad와 비교했을때 장단점이 있는거 같다.


2016-08-03 디컴파일된 결과를 한번에 자바 소스 파일로 저장할 수도 있다.
2021-02-21 캐시를 먹는지 jar 내용이 변경되어도 이전 내용이 보임. 프로그램을 종료시켜서 다시 시작해야 함.

 

javap로 클래스 파일 버전 확인

> javap -verbose EDIReply
Compiled from "EDIReply.java"
public class com.edi.intra.EDIReply extends com.edi.intra.EDIBase
  SourceFile: "EDIReply.java"
  minor version: 0
  major version: 46
  Constant pool:
const #1 = class    #2;    //  com/edi/intra/EDIReply
const #2 = Asciz    com/edi/intra/EDIReply;

- ClassNotFoundException이 발생했음. 웹로직에서 런타임 버전과 컴파일된 클래스의 버전이 다른 경우에 발생하였다는 말에 javap 명령으로 버전 확인

[todo] os, 자바 시스템 프로퍼티를 확인해 볼 것. 현재 서버에 구동되고 있는 클래스파일의 버전 확인해 볼것.

jad

> jad -sjava -8 -lnc CLASS

-프로그램 연결
제어판/폴더 옵션



- 한꺼번에 여러개의 클래스를 디컴파일하기[각주:1]
classes> jad -sjava -r -dsrc **/*.class //디컴파일된 소스는 src/에 패키지구조대로 저장한다.

  1. 2009-09-11 [본문으로]