国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

兩種免費的Java Obfuscator比較

瀏覽:5日期:2024-06-17 11:08:52
內容: Java的bytecode很容易通過JAD等反編譯工具搞出源代碼, 目前最有效的保護方法是obfuscate類名和方法名注意: 用obfuscate防盜版是根本不可能, 連匯編這種東西都能被破解掉, 破解java代碼簡直就是小菜用obfuscate主要是為了保護源代碼的知識產權, 別人無法用反編譯的源代碼做事情.本文從幾個不同的方面比較了兩種Free的Java Obfuscator的優缺點..兩種Free的Java Obfuscator: yguard和Proguard.yguard:http://www.yworks.com/en/products_yguard_about.htmProguard:http://proguard.sourceforge.net/下面列出兩者的不同和優缺點1. 速度 yguard的速度遠遠高于proguard, 主要區別在于proguard不管用沒有用, 上來就掃描jrelibrt.jar和其他所有用到的library 這個回合yguard勝出2. 是否Opensource以及遵循協議 yguard: ywork公司的產品,免費使用, 但不是Open source Proguard是GPL(這里GPL只是指Proguard本身, 對于obfuscate出來的jar沒有限制), 可以從sourceforge.net下載源代碼 但是作者并不希望別人參與,沒有CVS,所以也無從知道作者的最新進展. 這個回合proguard勝出3. 是否支持Package Name obfuscate yguard支持Package Name obfuscate Proguard不支持 這其實是很重要的一個特性, 一個好的Java程序往往在一個package里只有10個以下Class,根據package Name很容易猜出各個Class是干什么的, 比如: com.mycompany.license.a com.mycompany.license.b com.mycompany.license.c 雖然obfuscate了Class Name,但是因為這個license只有3個Class,很容易猜出來是干什么的 但是如果你obfuscate成: com.mycompany.a.a com.mycompany.a.b com.mycompany.a.c 則大大增加了困難, 尤其大型software, 有幾十個package的情況下, 會呈幾何級數增加反編譯的難度 這個回合yguard勝出, 但是Proguard已經準備在4.0里推出這個特性4. 增量obfuscate proguard支持增量obfuscate , yguard不支持.也就是在obfuscate a.jar時, 記住所有的名字映射關系(比如MyUtil->a), 然后在obfuscate b.jar的時候, 使用那個映射關系(所有調用MyUtil改成調用a) 假設a.jar里面有一個MyUtil被b.jar里面的Main使用, 在沒有Incremental Obfuscate的情況下, 你必須指定不obfuscate a.jar里的MyUtil. 沒有增量obfuscate 壞處是很顯然的: 第一obfuscate的配置復雜了, 第二,暴露了某些Class 這個回合Proguard勝出5. 其它其他不太重要的特性: - Proguard可以用一篇文章中的詞(比如莎士比亞的劇本)作為變量名字, 呵呵 - Proguard可以刪除所有沒有用到的Class或者方法(叫做Shrink) - Yguard能夠obfuscate資源名稱, 比如Messages.properties->a.properties并且修改相應的ResourceBundle類 - Yguard可以replace指定文本文件里的Class Name,比如修改eclipse plugin.xml里的Class名字 我個人不太贊成這種做法總結對于小型java應用(只有一個package,一個jar文件), 兩者區別很小, (但是小型的java應用值得obfuscate么?呵呵)目前因為沒有obfuscate package name這個重要特性, 所以目前我偏向用yguard, 但是yguard沒有incremental obufscate, 真傷腦筋, 現在就等Proguard4.0出來, 馬上移植到Proguard4.0上去 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd Java的b
標簽: Java
相關文章:
主站蜘蛛池模板: 最新欧美精品一区二区三区 | 一道本久久 | 日本一区二区三区高清在线观看 | 日韩视频免费一区二区三区 | 亚洲一区二区三区在线网站 | 伊人热久久 | 国产高清在线精品一区在线 | 免费人成网站 | 国产一级免费片 | cao美女| 免费在线成人 | 欧美高清在线 | 中文字幕亚洲在线 | 久久久在线视频精品免费观看 | 国产自在线观看 | 午夜福利国产一级毛片 | 日本成人免费在线视频 | 国产成人免费手机在线观看视频 | 男人的天堂免费网站 | 成网站在线观看人免费 | 国产精品成人在线 | 欧美一及片 | 97久久精品视频 | 久久国产精品一国产精品 | 国产成人麻豆精品 | 国产精品国产精品 | 九九精品免费视频 | 亚洲日韩视频 | 免费观看a黄一级视频 | 亚洲最黄视频 | 欧美一级高清视频在线播放 | 成人爱做日本视频免费 | 97在线碰碰观看免费高清 | 香蕉成人国产精品免费看网站 | 成年男女男精品免费视频网站 | 欧美特黄一级aa毛片 | 午夜啪啪福利视频 | 亚洲成人黄色网 | 免费精品国产日韩热久久 | 亚洲素人在线 | 欧美日韩一区二区三区视视频 |