Java 检查.class文件中的内容
假设有人了解到某个开发人员将一组用户名和密码硬编码到应用程序中,从而使其进入生产环境。噢Java 检查.class文件中的内容,java,class,file,bytecode,Java,Class,File,Bytecode,假设有人了解到某个开发人员将一组用户名和密码硬编码到应用程序中,从而使其进入生产环境。噢 您知道用户名和密码-有没有办法扫描字节码并确定用户名、密码是否是硬编码的?您可以使用java反编译器来反编译类(并检查类是否包含硬编码的用户名/密码) 看看: 您调查过吗?您可以在那里看到它是否已硬编码到任何类文件中。查看“.class”文件中使用的字符串文本的一种简单方法是使用JDK安装中的实用程序,使用“-v”选项转储文件。然后grep查找类似的文本,其中..是您要查找的字符串 更新 javap的
您知道用户名和密码-有没有办法扫描字节码并确定用户名、密码是否是硬编码的?您可以使用java反编译器来反编译类(并检查类是否包含硬编码的用户名/密码) 看看:
grep
查找类似
的文本,其中..
是您要查找的字符串
更新
javap
的最新文档是,但旧版本在我看来更好。将来可能对其他人有所帮助。(来自)
用法:javap。。。
其中包括:
-c反汇编代码
-类路径指定查找用户类文件的位置
-extdirs覆盖已安装扩展的位置
-帮助打印此使用信息
-J直接传递到运行时系统
-打印行号和局部变量表
-公共仅显示公共类和成员
-受保护显示受保护/公共类和成员
-包显示包/受保护/公共类
和成员(默认)
-私人秀所有班级和成员
-s打印内部类型签名
-bootclasspath覆盖加载的类文件的位置
通过引导类装入器
-详细打印堆栈大小、局部数和方法的参数数
如果正在验证,请打印失败原因
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