一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java防反編譯最簡單的技巧分享

java防反編譯最簡單的技巧分享

2020-12-24 12:04jijs Java教程

這篇文章主要給大家分享了關于java防反編譯最簡單的技巧,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。

前言

本文主要跟大家介紹了關于java防反編譯的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

示例代碼:

源碼使用try-catch代碼包裝下,如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class CompileForbid {
 
  public static void main(String[] args) {
    try {
      System.out.println("-------");
      //防止反編譯的處理
      if (654789 == new Random().nextInt()) {
        throw new Exception("fewt43");
      }
    } catch (Exception ex) {
      ex.printStackTrace();
    } finally {
      try {
        //防止反編譯的處理
        if (654789 == new Random().nextInt()) {
          throw new Exception("fewt43");
        }
      } catch (Exception ex) {
        System.out.print(ex);
      }
    }
  }
}

使用 jd 反編譯工具翻遍后的效果,別的反編譯可能會反編譯出來,效果不是很好,但是簡單實用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
public class CompileForbid
{
 // ERROR //
 public static void main(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:<init> ()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:<init> (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:<init> ()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:<init> (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:<init> ()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:<init> (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:<init> ()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:<init> (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
 }
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:http://blog.csdn.net/jijianshuai/article/details/75219946

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天天操天天爽天天射 | 亚洲成人免费 | 32d乳白色的奶罩未删除 | 97se亚洲国产综合自在线观看 | 精品一区heyzo在线播放 | 波多野结衣女老师 | 国产高清不卡码一区二区三区 | jizzjizz大学生| 亚洲视频一区二区在线观看 | 大香线一本 | 精品无人区麻豆乱码无限制 | 女生被草 | 好大好爽好舒服视频 | 日本免费播放 | 调教全程肉动画片在线观看 | 青苹果乐园影院免费观看完整版 | 国产高清精品自在久久 | 男人捅女人漫画 | 九九99精品 | 国产播放啪视频免费视频 | 农村妇女野外性生话免费视频 | 久久精品亚洲精品国产欧美 | 俄罗斯13一14处出血视频在线 | 边摸边吃奶又黄激烈视频韩国 | 30分钟的高清视频在线观看 | 日韩在线视频免费不卡一区 | 九九热视频 这里有精品 | 大片毛片女女女女女女女 | 98成人网| 免费在线公开视频 | 国产成人精品视频一区二区不卡 | 天美麻豆| av91在线 | 波多野结衣在线免费观看 | 好大夫在线个人空间 | 性xx色3d动画xx无尽 | 免费看3d小舞被躁视频网站 | 国产欧美一区二区三区免费 | 亚洲精品123区在线观看 | 69一级毛片 | bt国产|