最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年09月01日 09:16:14   作者:jijs  
這篇文章主要給大家分享了關(guān)于java防反編譯最簡單的技巧,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

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

示例代碼:

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

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 反編譯工具翻遍后的效果,別的反編譯可能會反編譯出來,效果不是很好,但是簡單實用

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
 }
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • IDEA提示 add *** to custom tags問題及解決

    IDEA提示 add *** to custom tags問題及解決

    文章介紹了如何在文檔注釋中添加自定義注解(@xxx),并提供了添加和刪除注解的方法,總結(jié)了個人經(jīng)驗,希望對大家有所幫助
    2024-12-12
  • Java多線程編程之ThreadLocal詳解

    Java多線程編程之ThreadLocal詳解

    這篇文章主要介紹了Java多線程編程之ThreadLocal詳解,ThreadLocal是Java中的一個線程局部變量,該變量在多線程并發(fā)執(zhí)行時,為每個線程都提供了一個獨立的副本,簡單來說,ThreadLocal提供了一種在多線程環(huán)境中,使每個線程綁定自己獨立的變量的方法,需要的朋友可以參考下
    2023-09-09
  • 讓Java程序自動重啟的實現(xiàn)方法(推薦)

    讓Java程序自動重啟的實現(xiàn)方法(推薦)

    下面小編就為大家?guī)硪黄孞ava程序自動重啟的實現(xiàn)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Spring+SpringMVC+Hibernate項目環(huán)境搭建的步驟(圖文)

    Spring+SpringMVC+Hibernate項目環(huán)境搭建的步驟(圖文)

    這篇文章主要介紹了Spring+SpringMVC+Hibernate項目環(huán)境搭建的步驟(圖文),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Java關(guān)于數(shù)組的介紹與使用

    Java關(guān)于數(shù)組的介紹與使用

    數(shù)組(Array)是有序的元素序列。 若將有限個類型相同的變量的集合命名,那么這個名稱為數(shù)組名。組成數(shù)組的各個變量稱為數(shù)組的分量,也稱為數(shù)組的元素,有時也稱為下標(biāo)變量
    2021-09-09
  • 詳解Spring Bean 之間的特殊關(guān)系

    詳解Spring Bean 之間的特殊關(guān)系

    在 Spring 容器中,兩個 Bean 之間除了通過 <ref> 建立依賴關(guān)系外,還存在著一些特殊關(guān)系。這篇文章給大家想想介紹了Spring Bean 之間的特殊關(guān)系,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2018-05-05
  • 一文帶你深入了解Guava的緩存機制

    一文帶你深入了解Guava的緩存機制

    緩存在現(xiàn)代編程中的作用非常大,它能提高應(yīng)用性能,減少數(shù)據(jù)庫壓力,簡直就是性能優(yōu)化的利器,本文主要來和大家聊聊Google?Guava的緩存機制,感興趣的小伙伴可以了解下
    2023-12-12
  • 使用?Spring?AI?+?Ollama?構(gòu)建生成式?AI?應(yīng)用的方法

    使用?Spring?AI?+?Ollama?構(gòu)建生成式?AI?應(yīng)用的方法

    通過集成SpringBoot和Ollama,本文詳細介紹了如何構(gòu)建生成式AI應(yīng)用,首先,介紹了AI大模型服務(wù)的兩種實現(xiàn)方式,選擇使用ollama進行部署,隨后,通過SpringBoot+SpringAI來實現(xiàn)應(yīng)用構(gòu)建,本文為開發(fā)者提供了一個實用的指南,幫助他們快速入門生成式AI應(yīng)用的開發(fā)
    2024-11-11
  • SpringBoot入門之集成JSP的示例代碼

    SpringBoot入門之集成JSP的示例代碼

    這篇文章主要介紹了SpringBoot入門之集成JSP的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Spring Cloud 如何保證微服務(wù)內(nèi)安全

    Spring Cloud 如何保證微服務(wù)內(nèi)安全

    這篇文章主要介紹了Spring Cloud 如何保證微服務(wù)內(nèi)安全的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論

遂平县| 辽阳县| 鹿泉市| 马关县| 衡南县| 称多县| 慈溪市| 宁国市| 中江县| 金平| 忻州市| 乌拉特前旗| 汉中市| 正镶白旗| 贵溪市| 紫金县| 宜章县| 五指山市| 珠海市| 呈贡县| 融水| 河北省| 浪卡子县| 沧源| 吴旗县| 西丰县| 新野县| 吴江市| 报价| 会东县| 荆州市| 定陶县| 曲阳县| 高密市| 前郭尔| 安化县| 普定县| 碌曲县| 伊川县| 湛江市| 察哈|