伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> Java技術(shù) >> 文章正文

java反編譯工具大盤點

JAVA語言是1995年5月由SUN公司發(fā)布的,由于其安全性高、代碼優(yōu)化、跨平臺等特性,迅速取代了很多傳統(tǒng)高級語言,占據(jù)了企業(yè)級網(wǎng)絡(luò)應(yīng)用開發(fā)等諸多領(lǐng)域的霸主地位,新疆烏魯木齊軟件開發(fā)網(wǎng),www.zgna.net 整理。


    不過,JAVA最突出的跨平臺優(yōu)勢使得它不能被編譯成本地代碼,而要以中間代碼的形式運行在虛擬機環(huán)境中,這使得JAVA的反編譯要比別的高級語言容易實現(xiàn),并且反編譯的代碼經(jīng)過優(yōu)化后幾乎可以與源代碼相媲美。
為了更好地保護知識產(chǎn)權(quán),避免本公司的智力成果輕易被人竊取,開發(fā)者有必要對反編譯工具深入了解,以便有針對性地采取保護措施。
目前,比較流行的JAVA反編譯工具有近30種,其中有三款堪稱精品:
一、 應(yīng)用廣泛的JAD
在眾多的JAVA反編譯工具中,有幾種非常著名的工具使用了相同的核心引擎——JAD,其中主要包括:Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java Decompiler、NMI’s Java Class Viewer和國產(chǎn)的JAVA源代碼反編譯專家。
JAD本身是一個命令行工具,沒有圖形界面,上述的這些工具大多是在JAD內(nèi)核的基礎(chǔ)之上加了一個圖形界面而已。這么多種產(chǎn)品的共同選擇,足可證明JAD在JAVA反編譯領(lǐng)域中的尊貴地位。
筆者用來測試的JAD版本是1.5.8f,其運行界面如下圖:
 
需要特別說明的是,JODE不是通過常規(guī)的Open->File的方式來加載JAVA編譯后的類文件(*.class)或是類包(*.jar)的,而是通過在Options菜單中的Set Classpath來實現(xiàn)的,單獨的類文件可以將它的上一級目錄作為Classpath輸入,然后再選擇Reload Classpath即可:

新加入的類包或是類的名字會在左側(cè)窗口出現(xiàn),雙擊類包名可以展開目錄樹結(jié)構(gòu),雙擊需要反編譯的類名則在右上角的窗口中直接顯示反編譯后的源代碼。
三、 獨樹一幟的DAVA
DAVA不是一個獨立的JAVA反編譯器,而是JAVA代碼優(yōu)化工具Soot的一部分。Soot和JODE一樣是純JAVA開發(fā)的,也是一個獨立的JAR包,但卻不能通過雙擊直接運行,而是象JAD一樣在命令行狀態(tài)運行。

 

Soot對環(huán)境變量的配置要求非常嚴(yán)格,通常情況下要對CLASSPATH做如下設(shè)置:
Set CLASSPATH=%CLASSPATH%;c:\sootdir\sootclasses-2.1.0.jar;.;
其中的c:\sootdir\是下載的soot類包放置的路徑,CLASSPATH末尾的.;代表了當(dāng)前目錄,如果不加上這個的話Soot經(jīng)常會報一個找不到類的錯誤。
DAVA是作為Soot的一個參數(shù)使用的,通常的用法如下:
Java soot.Main –f dava –d c:\javasource javatest
注意最后的類名不用帶.class后綴,因為它默認(rèn)是處理class文件,這個操作與前述的JAD的參數(shù)效果相同。
DAVA采取了流程優(yōu)化的方式進行反編譯,與傳統(tǒng)反編譯思路不盡相同,但卻對改變流程類的加密方法有獨特的反編譯效果。
上述的三種工具各有千秋,但效果都非常不錯。經(jīng)測試,它們基本上都可以把JDK自帶的一些例程完全反編譯,然后不加任何修改可再編譯成功,并能正常運行!
(文中工具均經(jīng)過本人親手測試,當(dāng)時用的是jdk1.4.2_03,現(xiàn)在離寫文章的時候過了一年多了,jdk都出到1.5了,怕是有些程序也不太好反編了)

作者:未知 | 文章來源:未知 | 更新時間:2007-11-8 11:40:54

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    JAVA開發(fā)的6個實踐的例子
    JAVA中的抽象類型的一些概念
    java語言開發(fā)程序中的幾個例子大家看看
    了解java開發(fā)語言在軟件開發(fā)中的幾個誤區(qū)
    如何才能使用Java實現(xiàn)內(nèi)部領(lǐng)域的特定語言
    Java開發(fā)學(xué)習(xí)小心使用Date以及Time類
    sun最近修補了一部分java的安全補丁
    Java程序員應(yīng)該了解那些開源協(xié)議
    java性能優(yōu)化的一些見解
    解析c#語言和java語言最相似的地方
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·j2se 嵌入式腳本抓取引擎
    ·JAVA開發(fā)的6個實踐的例子
    ·JBuilder7 / Weblogic7開發(fā)
    ·JAVA中的抽象類型的一些概
    ·java語言開發(fā)程序中的幾個
    ·了解java開發(fā)語言在軟件開
    ·如何才能使用Java實現(xiàn)內(nèi)部
    ·Java開發(fā)學(xué)習(xí)小心使用Date
    ·Java程序員應(yīng)該了解那些開
    ·java性能優(yōu)化的一些見解
    ·介紹JDK5.0一些collection
    ·基礎(chǔ)學(xué)習(xí):java中使用存儲
    ·解析c#語言和java語言最相
    ·Java語言學(xué)習(xí):jAVA中 的多
    ·Java是不是應(yīng)該增加新特性
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.zgna.net All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    寻甸| 客服| 丹棱县| 星子县| 民县| 乐至县| 庆安县| 名山县| 安化县| 会理县| 本溪市| 岐山县| 太仓市| 保德县| 华坪县| 丹凤县| 阿尔山市| 苍梧县| 漠河县| 余姚市| 紫金县| 玛多县| 安吉县| 紫阳县| 鹤壁市| 松江区| 固安县| 英山县| 诸城市| 天全县| 根河市| 略阳县| 凭祥市| 新民市| 香格里拉县| 乾安县| 江永县| 田阳县| 定西市| 万州区| 吉木萨尔县|