• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    軟件
    軟件
    文章
    搜索

    首頁編程開發java → Proguard怎么混淆Java源代碼 Proguard給apk文件加密防止反編譯

    Proguard怎么混淆Java源代碼 Proguard給apk文件加密防止反編譯

    相關軟件相關文章發表評論 來源:西西整理時間:2017/9/20 15:58:10字體大?。?em class="fontsize">A-A+

    作者:西西點擊:0次評論:0次標簽: ProGuard 代碼混淆

    ProGuard5.3.3 【java 代碼混淆工具】
    • 類型:編程輔助大?。?i>2.9M語言:中文 評分:10.0
    • 標簽:
    立即下載

    使用proguard來保護我們的java代碼,它能發現并刪除無用類、字段(field)、方法和屬性值(attribute)。它也能優化字節碼并刪除無用的指令。除了在壓縮操作刪除的無用類,字段和方法外,ProGuard也能在字節碼級提供性能優化

    Proguard怎么混淆Java源代碼

    1.下載proguard,將里面的幾個jar文件添加到類路徑下面。當然,也可以不添加,但是下面在做混淆的時候,必須指定classpath,使在做混淆的過程中,能否訪問該類 

    2.準備好你的jar包,我在這里舉例叫做test.jar。

    3.解壓proguard,執行 bin目錄下的proguardgui.bat。

       如圖1

       


     

    4.運行如圖,點擊左邊“input/output” 菜單,如圖2


     

    5.點擊右邊的“add input” 加入我們要混的jar包,test.jar

     點擊右邊的“add output” 填入我們要輸出的jar包(命名隨便),這里我寫 test_out.jar。

       注意輸出的jar包,要自己手工填寫。

    6.添加支持庫,下邊的 “Library jars,wars,ears .....” 那個框框。

       點擊右邊的“add”。

     說明一下,這里最好把你的myeclipse里java project里的libraries所有Library的jar包,copy到一個目錄,然后在這里加入這些jar包,myeclipse的環境支持jar包一般,如圖3

     


     

     7.做完以上步驟后,應該如下圖4,這樣就差不多了

     


     

    8.點擊“shrinking” ,設置成如圖5。(可根據需要設置,這里只是我的配置)

     


     

     9.點擊“obfuscation” ,設置如圖6。(可根據需要設置,這里只是我的配置)

      


     

    10.點擊“optimization” 設置如圖7。(可根據需要設置,這里只是我的配置)



     

    11.點擊“process”,再點擊“save configuration”,在彈出的對話框中,輸入要保存的配置文件名稱(這里我的是test.pro),最后點擊“保存”。如圖8



     

    至些圖形化的設置部分已經完成。

    12.最后,添加要保留的類與方法。

     用編輯器編輯剛才保存下來的“test.pro”,用記事本什么都可以,打開后大致應該是以下的樣子

    -injars test.jar
    -outjars test_out.jar

    -libraryjars 'C:\Program Files (x86)\Java\jdk1.6.0_10\jre\lib\rt.jar'
    -libraryjars lib\ant.jar
    -libraryjars lib\aopalliance-1.0.jar
    -libraryjars lib\commons-dbcp-1.4.jar
    -libraryjars lib\commons-fileupload-1.2.1.jar
    -libraryjars lib\commons-io-1.4.jar

    .....設置的支持庫包,略

    -dontskipnonpubliclibraryclassmembers
    -dontshrink
    -useuniqueclassmembernames
    -keeppackagenames
    -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
    -keepparameternames
    -ignorewarnings

    ....我們在這里加入要保持的類和方法,寫法如下,紅色部分是我們加的

    -keep class org.bl.soa.components.constant.* {
        public <fields>;
        public <methods>;
        *** set*(***);
        *** get*();

    }

    -keep class org.bl.hibernate.* {
        public <fields>;
        public <methods>;
        *** set*(***);
        *** get*();
    }

    .....繼續加其他的要保留的類和方法,有多少寫多少。我是把test.jar里的所有類都加進來。

    ....后面還一些自動生成的配置,不用管它們。

    ....略

    13.寫完后,保存。

     重新打開progrard,執行 bin目錄下的proguardgui.bat。

       點擊第一個選項“Proguard”,再點擊“Load configuration”,選擇我們剛才保存的“test.pro”進行加載。

       如下圖



     

    14.開始混代碼,點擊右邊“process”,再點擊“process!”,如下圖



     

    15,在等待處理完成后,輸出的“test_out.jar”,就是混過的jar包,你可以用xjad反編看下效果。

    16,如果在處理過程中有問題,一般會有提示,大部分一般都是缺少關聯類,如果少了相關類,在第7步的圖,把缺少的支持包加進來就可以了。


      JAVA輔助編程工具
      (24)JAVA輔助編程工具
      JAVA輔助編程工具是一款非常方便好用的Java語言編程輔助軟件!它的主要作用是,幫助程序員進行快速便捷的Java代碼語言的導入和部署,這比人工部署操作要快得多也穩定得多!應用簡介:JAVA輔助編程工具,針對javaee或者javase,它都可以按照最流行的結構框架(如hibernater,spring)等自動組合配置,并生成代碼。生成的項目可以直接導入eclipse,并且可以直接運行部署tomcat服務器中,大大減少程序員的工作量。...更多>>

      相關評論

      閱讀本文后您有什么感想? 已有人給出評價!

      • 8 喜歡喜歡
      • 3 頂
      • 1 難過難過
      • 5 囧
      • 3 圍觀圍觀
      • 2 無聊無聊

      熱門評論

      最新評論

      發表評論 查看所有評論(0)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)

      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>