本文目錄一覽:
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-hk/n/146346.html