最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java防反编译最简单的技巧分享
时间:2022-06-29 01:22:02 编辑:袖梨 来源:一聚教程网
本文主要跟大家介绍了关于java防反编译的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
示例代码:
源码使用try-catch代码包装下,如下:
publicclassCompileForbid {
publicstaticvoidmain(String[] args) {
try{
System.out.println("-------");
//防止反编译的处理
if(654789==newRandom().nextInt()) {
thrownewException("fewt43");
}
}catch(Exception ex) {
ex.printStackTrace();
}finally{
try{
//防止反编译的处理
if(654789==newRandom().nextInt()) {
thrownewException("fewt43");
}
}catch(Exception ex) {
System.out.print(ex);
}
}
}
}
使用 jd 反编译工具翻遍后的效果,别的反编译可能会反编译出来,效果不是很好,但是简单实用
publicclassCompileForbid
{
// ERROR //
publicstaticvoidmain(java.lang.String[] args)
{
// Byte code:
// 0: getstatic 16 java/lang/System:out Ljava/io/PrintStream;
// 3: ldc 22
// 5: invokevirtual 24 java/io/PrintStream:println (Ljava/lang/String;)V
// 8: ldc 30
// 10: new 31 java/util/Random
// 13: dup
// 14: invokespecial 33 java/util/Random: ()V
// 17: invokevirtual 34 java/util/Random:nextInt ()I
// 20: if_icmpne +90 -> 110
// 23: new 38 java/lang/Exception
// 26: dup
// 27: ldc 40
// 29: invokespecial 42 java/lang/Exception: (Ljava/lang/String;)V
// 32: athrow
// 33: astore_1
// 34: aload_1
// 35: invokevirtual 44 java/lang/Exception:printStackTrace ()V
// 38: ldc 30
// 40: new 31 java/util/Random
// 43: dup
// 44: invokespecial 33 java/util/Random: ()V
// 47: invokevirtual 34 java/util/Random:nextInt ()I
// 50: if_icmpne +93 -> 143
// 53: new 38 java/lang/Exception
// 56: dup
// 57: ldc 40
// 59: invokespecial 42 java/lang/Exception: (Ljava/lang/String;)V
// 62: athrow
// 63: astore_3
// 64: getstatic 16 java/lang/System:out Ljava/io/PrintStream;
// 67: aload_3
// 68: invokevirtual 47 java/io/PrintStream:print (Ljava/lang/Object;)V
// 71: goto +72 -> 143
// 74: astore_2
// 75: ldc 30
// 77: new 31 java/util/Random
// 80: dup
// 81: invokespecial 33 java/util/Random: ()V
// 84: invokevirtual 34 java/util/Random:nextInt ()I
// 87: if_icmpne +21 -> 108
// 90: new 38 java/lang/Exception
// 93: dup
// 94: ldc 40
// 96: invokespecial 42 java/lang/Exception: (Ljava/lang/String;)V
// 99: athrow
// 100: astore_3
// 101: getstatic 16 java/lang/System:out Ljava/io/PrintStream;
// 104: aload_3
// 105: invokevirtual 47 java/io/PrintStream:print (Ljava/lang/Object;)V
// 108: aload_2
// 109: athrow
// 110: ldc 30
// 112: new 31 java/util/Random
// 115: dup
// 116: invokespecial 33 java/util/Random: ()V
// 119: invokevirtual 34 java/util/Random:nextInt ()I
// 122: if_icmpne +21 -> 143
// 125: new 38 java/lang/Exception
// 128: dup
// 129: ldc 40
// 131: invokespecial 42 java/lang/Exception: (Ljava/lang/String;)V
// 134: athrow
// 135: astore_3
// 136: getstatic 16 java/lang/System:out Ljava/io/PrintStream;
// 139: aload_3
// 140: invokevirtual 47 java/io/PrintStream:print (Ljava/lang/Object;)V
// 143: return
//
// Exception table:
// from to target type
// 0 33 33 java/lang/Exception
// 38 63 63 java/lang/Exception
// 0 38 74 finally
// 75 100 100 java/lang/Exception
// 110 135 135 java/lang/Exception
}
}
相关文章
- 致命公司铲子可攻击怪物类型汇总 12-05
- 星球重启20级头盔制作方法详解 12-05
- 星球重启分解废品任务完成方法 12-05
- 星球重启偶像任务攻略 偶像任务过法 12-05
- 星球重启9个酸液腺体获取攻略 12-05
- 星球重启采集工具制作方法 采集工具怎么做 12-05