IT

사람이 읽을 수있는 방식으로 Java .class 파일을 열려면 어떻게해야합니까?

lottoking 2020. 8. 9. 09:13
반응형

사람이 읽을 수있는 방식으로 Java .class 파일을 열려면 어떻게해야합니까?


Java 애플릿의 클래스 파일이 내부에서 수행하는 작업을 수행합니다. 메모장이나 Textpad로 열면 엉망진창이 많이 축구.

내가 무슨 일을하는지 알아낼 수 다소 읽기 쉬운 형식으로 다시 엉키는 방법이 있습니까?

  • 환경 == VS 2008이 균형 Windows.

jd-gui 는 현재 최고의 디 컴파일러입니다. 점점 더 많은 JAD에 비해 Java의 새로운 기능을 처리 할 수 ​​있습니다.


바이트 코드를 읽는 데 신경 쓰지 자바 p가 잘 작동합니다. 표준 JDK 설치의 일부입니다.

Usage: javap <options> <classes>...

where options include:
   -c                        Disassemble the code
   -classpath <pathlist>     Specify where to find user class files
   -extdirs <dirs>           Override location of installed extensions
   -help                     Print this usage message
   -J<flag>                  Pass <flag> directly to the runtime system
   -l                        Print line number and local variable tables
   -public                   Show only public classes and members
   -protected                Show protected/public classes and members
   -package                  Show package/protected/public classes
                             and members (default)
   -private                  Show all classes and members
   -s                        Print internal type signatures
   -bootclasspath <pathlist> Override location of class files loaded
                             by the bootstrap class loader
   -verbose                  Print stack size, number of locals and args for methods
                             If verifying, print reasons for failure

자바 디 컴파일러를 원하면 명령 줄 도구 javap사용하여 수행 할 수 있습니다 . 또한 Java Decompiler HOWTO 는 클래스 파일을 디하는 방법을 설명합니다.


@MichaelMyers가 지적했듯이

javap -c <name of java class file> 

JVM 어셈블리 코드를 얻을 수 있습니다. 더 나은 가시성을 위해 출력을 텍스트 파일로 리디렉션 할 수도 있습니다.

javap -c <name of java class file> > decompiled.txt

당신이 찾고있는 자바 디 컴파일러입니다. 나는 JAD http://www.kpdus.com/jad.html을 추천 한다 . 그것은 비 상업적 사용을 위해 무료이며 작업을 완료한다.

참고 : 이것은 똑같은 코드를 만들지는 만드는 코드입니다. 즉, 주석과 변수 이름을 잃게 될 것 일반 소스 코드를 읽는 것보다 조금 더 어려울 것입니다. 개발자가 가족 비밀 스럽다면 코드도 난독 화하여 읽기가 더 어려워 질 것입니다.


cpuguru, 애플릿이 javac 1.3 이하로 사용할 경우 가장 좋은 옵션은 Jad를 사용하는 것입니다.

안타깝게도 JAD 1.5.8 (2001 년 4 월 14 일)에서 지원하는 마지막 JDK는 JDK 1.3입니다.

애플릿이 최신 컴파일러로 컴파일 된 경우 JD-GUI를 사용해 볼 수 있습니다 .이 디 컴파일러는 개발 중이지만 JDK 1.4, 1.5 또는 1.6으로 컴파일 된 클래스에 대해 대부분의 경우 올바른 자바 소스를 생성합니다.

DarenW, 귀하의 게시물에 감사드립니다. JD-GUI는 아직 최고의 디 컴파일러는 ... 작업 중입니다. :)


jd-gui " http://code.google.com/p/innlab/downloads/detail?name=jd-gui-0.3.3.windows.zip&can=2&q= "는 .class를 디하는 데 가장 적합하고 사용자가 아닌 인 옵션입니다. 파일 ....


Jad사용 하여 디 선택할 것이 아마도 최선의 선택 일 것입니다. 코드가 난독 화되지 않은 경우 괜찮은 결과를 생성합니다.


있습니다. JAD와 같은 디 컴파일러를 사용합니다. http://www.kpdus.com/jad.html


디 컴파일러를 사용합니다. 다른 사람들은 JAD를 제안하는 다른 옵션이 있고 JAD가 최고입니다.

원본 소스 코드에 비해 약간 잃어 버릴 수있는 댓글을 반향하겠습니다. 삭제로 인해 코드가 제네릭을 사용하면 특히 재미있어 보일 것입니다.


물론 JAD 및 JADclipse Eclipse 플러그인입니다.


버전 보려는 클래스 파일이 오픈 소스 인 경우 디 선택하지 말고 소스 파일을 IDE에 직접 첨부해야합니다. 이렇게하면 라이브러리 클래스의 코드를 마치 자신의 것처럼 볼 수 있습니다.


제안 된대로 JAD를 사용하여 디 선택하고 파일을 볼 수 있습니다. 더 쉽게 읽을 수있는 Eclipse 용 JADclipse 사용하기를 사용하여 JAD를 Eclipse에 직접 통합하거나 명령 줄 JAD보다 훨씬 사용하기 쉬운 쉬운 DJ Java Decompiler를 사용할 수 있습니다.


결과적으로 읽을 수있는 Java 코드를 원하는 경우 JAD는 훌륭한 옵션입니다. .class하지만 파일 형식 의 내부를 아버지 헤 치고 치고 javap. JDK와 함께 더 많은 것을 제공하고 16 개의 진수 바이트 코드를 읽을 수있는 ASCII로 "디 선택할 수 있습니다." 그것이 생성하는 언어는 여전히 바이트 코드 (Java와 같은 것은 아님)이지만 상당히 읽기가 매우 유익합니다.

또한 정말로 원한다면 .class16 진 편집기에서 파일을 열고 바이트 코드를 직접 읽을 수 있습니다. 결과는를 사용하는 것과 동일합니다 javap.


Applet.class를 디 컴파일 할 필요가 없습니다. 공용 Java API 클래스 소스 코드는 JDK (설치하기로 선택한 경우)와 함께 제공되며 디 컴파일 된 바이트 코드보다 더 읽기 쉽습니다. src.zip (JDK 설치 폴더에 있음)에서 압축 된 파일을 찾을 수 있습니다.


CFR-또 다른 자바 디 컴파일러 는 i Java 6으로 작성된 최신 자바를위한 훌륭한 디 컴파일러입니다.


사용 가능한 온라인 자바 디 컴파일러를 사용할 수도 있습니다. 예 : http://www.javadecompilers.com

참고 URL : https://stackoverflow.com/questions/76314/how-can-i-open-java-class-files-in-a-human-Readable-way

반응형