首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是什么样的混淆?

这是什么样的混淆?
EN

Stack Overflow用户
提问于 2018-09-26 12:51:11
回答 2查看 121关注 0票数 1

我看到了一些具有如下代码的Java应用程序:

代码语言:javascript
复制
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文件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-26 12:55:51

在编译后的java类上运行javap -c,您将得到java字节代码。那不是混淆,而是去编译。IBM的一个很好的资源是Java字节码:理解字节码使您成为更好的程序员。

票数 4
EN

Stack Overflow用户

发布于 2018-09-26 13:07:34

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

代码语言:javascript
复制
public class Test {
   // an implicit constructor:
   public Test(){

   }

   public static void testOne(){
      System.out.println("Hello World");
   }

   public static String testTwo(){
      testOne();
      testOne();
   }

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52518192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档