posts - 104,  comments - 34,  trackbacks - 0

            從事Java編程的人都知道,可以通過逆向工程反編譯得到Java程序的源代碼,這種反編譯工具之一就是JAD。因此,為保護(hù)我們的勞動(dòng)成果,盡可能給反編譯人員制造障礙,我們可以使用Java Obfuscator(Java混淆器)保護(hù)Java的類文件。

            Java Obfuscator的原理就是將字節(jié)碼轉(zhuǎn)換為一個(gè)邏輯上的對(duì)等物,這種轉(zhuǎn)換后的版本極難拆散。即使有人試圖去反編譯,過程將極其艱難復(fù)雜,并很難繞過轉(zhuǎn)換后模糊晦澀的編碼。主要的過程如下:

            用一個(gè)常規(guī)編譯器(比如JDK)編譯Java源代碼運(yùn)行混淆器,在受保護(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)。

            網(wǎng)站:http://www.elegant-software.com/software/jmangle/

            下載:http://www.elegant-software.com/software/jmangle/download.html

            RetroGuard

            JavaGuard是一款通用的字節(jié)碼混淆器,用來無縫融入你的日常構(gòu)建和測(cè)試過程中,使得你辛苦編寫寶貴的Java代碼更加安全

            網(wǎng)站:http://java-source.net/open-source/obfuscators/javaguard

            JODE

            JODE是一款含Java解碼器和優(yōu)化器的java包。

            網(wǎng)站:http://java-source.net/open-source/obfuscators/jode

            最后要說的是,你也可使用其他幾款類似的實(shí)用工具,這些工具運(yùn)用許多不同的方法達(dá)到了相同的目標(biāo)。他們也有共同之處,就是允許通過不同的過程轉(zhuǎn)換生成.exe文件,將.class和.jar文件模糊化。Google Directory上有一張它們的綜合列表:

            http://directory.google.com/Top/Computers/Programming/Languages/Java/Development_Tools/Obfus

          posted on 2009-09-08 19:02 末日風(fēng)情 閱讀(241) 評(píng)論(0)  編輯  收藏 所屬分類: java編程
          <2009年9月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 武冈市| 社会| 渭南市| 陆川县| 英吉沙县| 鄄城县| 云梦县| 诸暨市| 张家口市| 宽城| 东源县| 台安县| 杭锦后旗| 阿拉善盟| 苏尼特右旗| 霞浦县| 华池县| 无为县| 德钦县| 建平县| 阆中市| 白城市| 武冈市| 收藏| 辽源市| 濮阳市| 全州县| 马边| 青铜峡市| 巴林右旗| 吉安县| 濮阳市| 全州县| 长沙县| 澄迈县| 保康县| 广丰县| 西乌珠穆沁旗| 常宁市| 五原县| 叶城县|