<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-16  評論-54  文章-0  trackbacks-0

    ??? 我們做java開發(fā)的一般都會遇到如何保護(hù)我們開發(fā)的代碼問題。java語言由于是基于jvm上面,所以反編譯class文件很很容易。假如我們做了一個web程序,并把這個web程序發(fā)布給客戶。實際上,客戶是很容易反編譯出我們的源代碼出來,包括所有的src文件和jsp文件等等。

    ???那么,如何保護(hù)我們的源代碼,實際上,應(yīng)該有幾種方法可以使用:1、使用代碼混淆器? 2、重載應(yīng)用服務(wù)器的classloader

    ???對于第一種方法來說,現(xiàn)在外面有很多開源工具可以使用,個人認(rèn)為最好用的當(dāng)屬proguard莫屬。proguard主要是易用易學(xué)。而且提供的功能也挺多。下面是個人一點使用心得

    ???(1)、從網(wǎng)上download proguard工具,proguard工具主要包含是幾個jar文件和一些example,下載地址http://proguard.sourceforge.net/

    ???(2)、將里面的幾個jar文件添加到類路徑下面。當(dāng)然,也可以不添加,但是下面在做混淆的時候,必須指定classpath,使在做混淆的過程中,能否訪問該類

    ???(3)、編寫一個配置文件,主要是混淆器的一些參數(shù)。比如,下面是一個例子
    -injars?????? platform.jar
    -outjars????? platform_out.jar
    -libraryjars? <java.home>/lib/rt.jar
    -libraryjars ibatis-common-2.jar
    -libraryjars ibatis-dao-2.jar
    -libraryjars ibatis-sqlmap-2.jar
    -libraryjars junit-3.8.1.jar
    -libraryjars d:/j2ee.jar
    -libraryjars struts.jar
    -libraryjars commons-lang.jar
    -libraryjars D:/0working/coreproject/byislib/jasperreports-0.6.1.jar
    -libraryjars? commons-beanutils.jar

    -printmapping proguard.map
    -overloadaggressively
    -defaultpackage ''
    -allowaccessmodification
    -dontoptimize

    -keep public class *
    {
    ?public protected *;
    }

    -keep public class org.**

    -keep public class it.**

    各個參數(shù)的含義參考proguard文檔,該文檔非常詳細(xì),上手很容易

    OK,到此就完成了代碼混淆,打開產(chǎn)生的jar包可以看到,多了好多a、b、c之類的類文件。說明混淆結(jié)果已經(jīng)成功。將原jar刪除、運行產(chǎn)生的混淆jar包,一切正常!

    常見問題:使用過程中個人遇到了幾個問題,開始也是找了很久才解決
    ???a. 內(nèi)存溢出異常: 主要是proguard在做混淆的時候,吃了很多內(nèi)存,因此,在運行混淆器的時候,可以增加內(nèi)存,比如 java -mx512m .....
    ? b.棧溢出異常: 主要是proguard在做混淆的時候,會對一些代碼進(jìn)行優(yōu)化,若遇到一些相對復(fù)雜的方法時,可能會拋出此異常。對付的辦法是增加配置參數(shù)-dontoptimize,如上面的配置例子所示

    對于第二種方法,重載服務(wù)器的classloader的原理是這樣。 首先我們通過一定算法把class文件加密; 然后寫我們自己的classloader,替換服務(wù)器的classloader。 這樣,我們可以讀取class文件,通過我們自己的算法反加密成正確的class,然后再次進(jìn)行l(wèi)oad。這個方式還沒應(yīng)用起來,這幾天個人正在研究,有什么新成果會在此做一些總結(jié)。

    posted on 2006-07-24 15:03 jspark 閱讀(7928) 評論(6)  編輯  收藏

    評論:
    # re: 代碼混淆器的使用 2006-07-24 22:40 | hama
    老大,不要用ctrl+c,ctrl+v啊
    總得加點自己的東西啊  回復(fù)  更多評論
      
    # re: 代碼混淆器的使用 2006-07-25 11:49 | jspark
    呵呵,的確是自己原創(chuàng)的!

    自己的一點工作心得   回復(fù)  更多評論
      
    # re: 代碼混淆器的使用 2008-03-24 20:35 | zzfly
    混淆過程能不能講的具體詳細(xì)點,這幾天做代碼混淆,悶了好幾天了,試了好幾個混淆器都不行~~  回復(fù)  更多評論
      
    # re: 代碼混淆器的使用 2009-03-23 21:27 | sandy
    我想問一下:
    -injars platform.jar
    -outjars platform_out.jar
    這里面的platform.jar和platform_out.jar
    都是自己編寫的嗎?分別應(yīng)該包括是什么內(nèi)容啊?

    我剛接觸proguard,還不明白 希望你能幫我解答一下。謝謝您  回復(fù)  更多評論
      
    # re: 代碼混淆器的使用[未登錄] 2009-07-30 16:57 | 海風(fēng)
    兄臺,我也在學(xué)習(xí)這個,就是用ant打包 不起作用,不知兄臺可否教教我,不知道500園 可否? 包我用會 proguard 和tomcat 加密 ? 如果有興趣聯(lián)系:QQ:94784312 Email:gufengset@gmail.com  回復(fù)  更多評論
      
    # re: 代碼混淆器的使用 2010-03-03 16:42 | 黃××
    前提eclipse環(huán)境:
    我的插件結(jié)構(gòu):
    plugin project,
    feature project,
    update project,

    安裝好第三方插件proguard obfuscate4e
    我的混淆操作:
    右擊MANIFEST.MF-->PDE tools-->Create proguard obfuscation configulation 會自動生成兩個文件然后feature 項目加一下版本號最后update 添加新版feature-->build 生成出來的jar包,有的有正?;煜?,有的沒有混淆。不懂得還有哪些設(shè)置,或者該注意些什么。

    我的郵箱:dongfengpo25@163.com
    javaeye的問題鏈接:
    http://eclipsercpforum.group.javaeye.com/group/topic/17417#128517

    有興趣的朋友或者能解決此問題的朋友,歡迎一起討論,謝謝!  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 免费一级不卡毛片| 一级有奶水毛片免费看| 大地资源免费更新在线播放| 亚洲尹人香蕉网在线视颅| a在线免费观看视频| 亚洲精品无码Av人在线观看国产| 国产精品免费久久久久久久久 | 18禁无遮挡无码网站免费| 亚洲国产视频网站| 啦啦啦中文在线观看电视剧免费版 | 亚洲无人区午夜福利码高清完整版| 夜夜爽妓女8888视频免费观看| 亚洲精品动漫人成3d在线| 成在线人免费无码高潮喷水| 亚洲精品无码高潮喷水在线| 一区二区免费视频| 亚洲AV无码一区二区三区在线| 巨胸喷奶水视频www网免费| 18禁亚洲深夜福利人口| 超清首页国产亚洲丝袜| 无码精品人妻一区二区三区免费看 | 亚洲av永久无码一区二区三区| 免费乱码中文字幕网站| yellow免费网站| 亚洲狠狠综合久久| 毛片基地免费视频a| 免费一级全黄少妇性色生活片| 亚洲一区二区三区自拍公司| 久久成人免费大片| 亚洲另类无码一区二区三区| 亚洲天堂中文字幕在线| 日韩精品免费在线视频| 亚洲成a人片在线观看精品| 免费国产成人午夜私人影视| 色播在线永久免费视频网站| 亚洲福利视频一区二区三区| 国产一卡二卡≡卡四卡免费乱码 | www视频免费看| 免费的黄色的网站| 亚洲韩国在线一卡二卡| 亚洲AV之男人的天堂|