一、java web項(xiàng)目混淆
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有范縣免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
proguard4.8工具,說是支持war的,可混淆過后少了classes目錄了,自然成功不了。網(wǎng)上搜的過程不詳說了,最后找著--“J2EE-web工程ProGuard代碼混淆07_28”,網(wǎng)址:
根據(jù)提示一步步完成。
把web項(xiàng)目打成jar包后用proguard進(jìn)行混淆,然后把混淆過后的class目錄替換發(fā)布包war中的對(duì)應(yīng)目錄,啟動(dòng)運(yùn)行是正常的。
主要注意利用proguard生成xxx.pro文件,然后手動(dòng)加工-keep class WebRoot.WEB-INFO.lib.* 等項(xiàng)目中不需要混淆的包和類。
二、java web項(xiàng)目打成.exe
沒找到免費(fèi)的,這搜到個(gè)收費(fèi)的--Jinstall,試了下功能挺好,
可以加密、集成jdk、tomcat,如果數(shù)據(jù)庫是mysql也集成,其他數(shù)據(jù)庫的話要設(shè)置數(shù)據(jù)庫的url.
一般走代碼混淆就是為了保護(hù)源代碼,讓別人不至于通過反編譯輕易的獲得源代碼
混淆代碼 是為了防止class文件被反編譯用的 但是程序的功能還是正常的 和你正常運(yùn)行一樣
如果連變量名都混淆了,就是說所有有具體意義的英文變量名都用a,b,c,x,y等等來表示,那這是不可能還原的,因?yàn)殡娔X也不可能知道你這個(gè)a實(shí)際上代表了你的年齡而那個(gè)c代表了你老婆的胸圍!
但如果只是個(gè)事混淆,那網(wǎng)上倒有不少工具可以格式化源代碼!自己搜一搜吧!推薦一款編輯器,IntelliJ,很不錯(cuò),值得一提的是,我用過的眾多編輯器中,這款編輯器的代碼格式化功能最強(qiáng)大!
Jocky的下載和配置
OperaMasks上的下載鏈接已經(jīng)失效,請(qǐng)移步CSDN自行搜索下載
1、下載完成后解壓得到名為org.apusic.jocky_1.0.3的文件夾,把這個(gè)文件夾放到eclipse根目錄的plugins文件夾下(myeclipse和eclipse同理)。
2、重啟eclipse,右鍵一個(gè)工程文件,出現(xiàn)Jocky選項(xiàng)說明OK。
3、一般是先進(jìn)行設(shè)置-Jocky Settings,然后進(jìn)行Jocky Now!。以下是settings界面
Enable Jocky多選框選中
Jocky build file是在項(xiàng)目創(chuàng)建一個(gè)xml文件,根據(jù)里面的配置進(jìn)行混淆
Scramble level是進(jìn)行混淆的代碼等級(jí),有none、private、package、protected、public、all,將根據(jù)設(shè)置對(duì)java文件中的相應(yīng)修飾符修飾的方法代碼進(jìn)行混淆
Target VM是java虛擬機(jī)的版本,有1.4和1.5,一般選擇1.5
Output directory是輸出文件夾,在項(xiàng)目根目錄下
點(diǎn)擊確認(rèn)會(huì)自動(dòng)根據(jù)項(xiàng)目的設(shè)置生成xml文件
4、jocky_build.xml,實(shí)際上是一個(gè)ant build文件,由系統(tǒng)自動(dòng)生成,有幾處需要說明
pathelement location="bin"/ pathelement location="XXX.jar"/這類標(biāo)簽代表項(xiàng)目編譯所需的jar包,由于是自動(dòng)生成一般不用理睬,如果出現(xiàn)找不到相關(guān)的package之類的報(bào)錯(cuò),那么有可能是location路徑有問題。如果你安裝系統(tǒng)時(shí)是用戶名設(shè)置成了中文名,并且使用了maven,maven的jar包的下載路徑設(shè)置成了默認(rèn)${user}/.m2/repository/,那么jocky這里的路徑會(huì)出現(xiàn)問題,中文名的用戶名會(huì)亂碼或者消失,請(qǐng)修改maven配置xml文件修改下載路徑localRepository[自己指定的路徑]/localRepository 。
javac destdir="${jocky.output.dir}/bin" target="${target}" encoding="UTF-8" 代碼中如果有中文名,必須手動(dòng)設(shè)定編碼,默認(rèn)是沒有的。
src path="src"/ 設(shè)定源文件的目錄,因?yàn)橛袝r(shí)候我們只想輸出src目錄下的部分包而不是全部。
不需要對(duì)源代碼混淆。class有這種功能的,在J2ME中混淆是必須的,結(jié)果跟你說的一樣,不過原理不是你那么走的,混淆以后的class反編譯也會(huì)讓人看不懂,全部變成了a,b,c,d這樣的名字。
當(dāng)前文章:java源代碼混淆,javascript源代碼的混淆
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article44/hojgee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、ChatGPT、用戶體驗(yàn)、微信小程序、品牌網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)