为了账号安全,请及时绑定邮箱和手机立即绑定

这是什么迷惑

这是什么迷惑

冉冉说 2021-10-13 11:02:10
我看到一些 Java 应用程序的代码如下:public class Test {  public Test();    Code:       0: aload_0              1: invokespecial #1                  // Method     java/lang/Object."":()V   4: return          public static void main(java.lang.String[]);    Code:       0: invokestatic  #2                  // Method     printOne:()V       3: invokestatic  #2                  // Method     printOne:()V       6: invokestatic  #3                  // Method     printTwo:()V       9: return          public static void printOne();    Code:       0: getstatic     #4                  // Field     java/lang/System.out:Ljava/io/PrintStream;       3: ldc           #5                  // String Hello World       5: invokevirtual #6                  // Method     java/io/PrintStream.println:(Ljava/lang/String;)V       8: return          public static void printTwo();    Code:       0: invokestatic  #2                  // Method     printOne:()V       3: invokestatic  #2                  // Method     printOne:()V       6: return        }我想知道这是一种什么样的混淆,有什么工具可以混淆这样的 JAR 文件。
查看完整描述

2 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

javap -c在已编译的 java 类上运行,您将获得 java 字节码。这不是混淆,而是反编译。


查看完整回答
反对 回复 2021-10-13
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

这就是javac生成的 - java代码的编译器。将其转换为代码实际上非常容易:


public class Test {

   // an implicit constructor:

   public Test(){


   }


   public static void testOne(){

      System.out.println("Hello World");

   }


   public static String testTwo(){

      testOne();

      testOne();

   }


}


查看完整回答
反对 回复 2021-10-13
  • 2 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信