Java代碼混淆器最佳推薦
從事Java編程的人都知道,可以通過逆向工程反編譯得到Java程序的源代碼,這種反編譯工具之一就是JAD。因此,為保護(hù)我們的勞動(dòng)成果,盡可能給反編譯人員制造障礙,我們可以使用Java Obfuscator(Java代碼混淆器)保護(hù)Java的類文件。
Java代碼混淆器的原理就是將字節(jié)碼轉(zhuǎn)換為一個(gè)邏輯上的對(duì)等物,這種轉(zhuǎn)換后的版本極難拆散。即使有人試圖去反編譯,過程將極其艱難復(fù)雜,并很難繞過轉(zhuǎn)換后模糊晦澀的編碼。主要的過程如下:
用一個(gè)常規(guī)編譯器(比如JDK)編譯Java源代碼運(yùn)行Java代碼混淆器,在受保護(hù)的環(huán)境下生成編譯類文件。最后生成的會(huì)是一個(gè)不同的輸出文檔,也許擴(kuò)展名也會(huì)不同。
這個(gè)被重命名為.class file的文件在功能上與原字節(jié)碼是對(duì)等的,由于虛擬機(jī)仍然可以對(duì)其進(jìn)行解譯,因此對(duì)性能不會(huì)產(chǎn)生影響。
以下是一些可用來混淆(obfuscate)Java字節(jié)碼的工具:
Zelix KlassMaster
Zelix KlassMaster是一款用Java寫的實(shí)用工具,能讀取和修改Java類文件,可以運(yùn)行在任何支持1.1.6版Java虛擬機(jī)的平臺(tái)上。
下載:http://www.zdnetindia.com/downloads/info/898255.html
Cinnabar Canner
Canner通過創(chuàng)建一個(gè)原生Windows可執(zhí)行文件(EXE文件)保護(hù)你的代碼不被逆向工程反編譯,這個(gè)可執(zhí)行文件包含了你的應(yīng)用程序類和資源的全部加密版本,只有在被JVM調(diào)用到內(nèi)存中時(shí)才處于非加密狀態(tài)。
網(wǎng)站:http://www.cinnabarsystems.com/canner.html
下載:http://www.cinnabarsystems.com/download.html
Jmangle Java類粉碎機(jī)
Jmangle是用來阻止反編譯Java程序,降低盜版的軟件,開發(fā)者可用其粉碎類文件中的符號(hào),一個(gè)比較常見的Java代碼混淆器。
網(wǎng)站:http://www.elegant-software.com/software/jmangle/
下載:http://www.elegant-software.com/software/jmangle/download.html
JODE
JODE是一款含Java解碼器和優(yōu)化器的java包。
網(wǎng)站:http://java-source.net/open-source/obfuscators/jode
最后要說的是,你也可使用其他幾款類似的Java代碼混淆器,這些工具運(yùn)用許多不同的方法達(dá)到了相同的目標(biāo)。他們也有共同之處,就是允許通過不同的過程
轉(zhuǎn)換生成.exe文件,將.class和.jar文件模糊化。
【編輯推薦】