java混淆,java混淆代碼防止反編譯

本文目錄一覽:

java 代碼混淆 用什麼命令

Jocky的下載和配置

OperaMasks上的下載鏈接已經失效,請移步CSDN自行搜索下載

1、下載完成後解壓得到名為org.apusic.jocky_1.0.3的文件夾,把這個文件夾放到eclipse根目錄的plugins文件夾下(myeclipse和eclipse同理)。

2、重啟eclipse,右鍵一個工程文件,出現Jocky選項說明OK。

3、一般是先進行設置-Jocky Settings,然後進行Jocky Now!。以下是settings界面

Enable Jocky多選框選中

Jocky build file是在項目創建一個xml文件,根據裡面的配置進行混淆

Scramble level是進行混淆的代碼等級,有none、private、package、protected、public、all,將根據設置對java文件中的相應修飾符修飾的方法代碼進行混淆

Target VM是java虛擬機的版本,有1.4和1.5,一般選擇1.5

Output directory是輸出文件夾,在項目根目錄下

點擊確認會自動根據項目的設置生成xml文件

4、jocky_build.xml,實際上是一個ant build文件,由系統自動生成,有幾處需要說明

pathelement location=”bin”/ pathelement location=”XXX.jar”/這類標籤代表項目編譯所需的jar包,由於是自動生成一般不用理睬,如果出現找不到相關的package之類的報錯,那麼有可能是location路徑有問題。如果你安裝系統時是用戶名設置成了中文名,並且使用了maven,maven的jar包的下載路徑設置成了默認${user}/.m2/repository/,那麼jocky這裡的路徑會出現問題,中文名的用戶名會亂碼或者消失,請修改maven配置xml文件修改下載路徑localRepository[自己指定的路徑]/localRepository 。

javac destdir=”${jocky.output.dir}/bin” target=”${target}” encoding=”UTF-8″ 代碼中如果有中文名,必須手動設定編碼,默認是沒有的。

src path=”src”/ 設定源文件的目錄,因為有時候我們只想輸出src目錄下的部分包而不是全部。

求教Java web項目一般怎樣做代碼混淆或加密

一、java web項目混淆

proguard4.8工具,說是支持war的,可混淆過後少了classes目錄了,自然成功不了。網上搜的過程不詳說了,最後找著--「J2EE-web工程ProGuard代碼混淆07_28」,網址:

根據提示一步步完成。

把web項目打成jar包後用proguard進行混淆,然後把混淆過後的class目錄替換髮布包war中的對應目錄,啟動運行是正常的。

主要注意利用proguard生成xxx.pro文件,然後手動加工-keep class WebRoot.WEB-INFO.lib.* 等項目中不需要混淆的包和類。

二、java web項目打成.exe

沒找到免費的,這搜到個收費的--Jinstall,試了下功能挺好,

可以加密、集成jdk、tomcat,如果資料庫是mysql也集成,其他資料庫的話要設置資料庫的url.

如何分析經過混淆後的java代碼

混淆代碼 是為了防止class文件被反編譯用的 但是程序的功能還是正常的 和你正常運行一樣

如果連變數名都混淆了,就是說所有有具體意義的英文變數名都用a,b,c,x,y等等來表示,那這是不可能還原的,因為電腦也不可能知道你這個a實際上代表了你的年齡而那個c代表了你老婆的胸圍!

但如果只是個事混淆,那網上倒有不少工具可以格式化源代碼!自己搜一搜吧!推薦一款編輯器,IntelliJ,很不錯,值得一提的是,我用過的眾多編輯器中,這款編輯器的代碼格式化功能最強大!

原創文章,作者:LBXR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146346.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LBXR的頭像LBXR
上一篇 2024-10-29 19:00
下一篇 2024-10-29 19:00

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29

發表回復

登錄後才能評論