本文目录一览:
javap可以反编译pak文件吗
概述:
javap是 Java class文件分解器,可以反编译,也可以查看java编译器生成的字节码,从而对代码内部的执行逻辑进行分析。
语法:
把java文件编译为class文件:javac Test.java
(Test.java为java文件名) 生成对应的 .class
文件 Test.class
执行javap操作:javap
命令行 class文件名称(不加 .class
后缀)
例如: javap -c Test
命令行
-help
输出 javap 的帮助信息。-l
输出行及局部变量表。-b
确保与 JDK 1.1 javap 的向后兼容性。-public
只显示 public 类及成员。-protected
只显示 protected 和 public 类及成员。-package
只显示包、protected 和 public 类及成员。这是缺省设置。-private
显示所有类和成员。-J[flag]
直接将 flag 传给运行时系统。-s
输出内部类型签名。-c
输出类中各方法的未解析的代码,即构成 Java 字节码的指令。-verbose
输出堆栈大小、各方法的 locals 及 args 数,以及class文件的编译版本-classpath[路径]
指定 javap 用来查找类的路径。如果设置了该选项,则它将覆盖缺省值或 CLASSPATH 环境变量。目录用冒号分隔。-bootclasspath[路径]
指定加载自举类所用的路径。缺省情况下,自举类是实现核心 Java 平台的类,位于 jre/lib/rt.jar 和 jre/lib/i18n.jar 中。-extdirs[dirs]
覆盖搜索安装方式扩展的位置
jdk是什么
JDK(Java Development Kit)是Sun微系统针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit)。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。 JDK包含了一批用于Java开发的组件,其中包括:
javac
:编译器,将后缀名为.java的源代码编译成后缀名为“.class”的字节码java
:运行工具,运行.class的字节码jar
:打包工具,将相关的类文件打包成一个文件javadoc
:文档生成器,从源码注释中提取文档,注释需符合规范jdb debugger
:调试工具jps
:显示当前java程序运行的进程状态javap
:反编译程序
怎样使用javap来反编译class文件
当然可以了。在java软件包的bin文件夹下有一个javap程序,就是用来反编译的。 用法如java一样。就是先用javac变成字节码文件就是.class文件后,用javap 加上文件名就可以反编译了。 举个例子test.class,反编译用javap test就行了。