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

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

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

    posts - 0,  comments - 17,  trackbacks - 0

    JAVA反編譯工具

    目前,比較流行的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,其運行界面如下圖:
    http://www.blogchina.com/resource/upload/pic/2006/03/17/264618335.1001.0161.jpg
    JAD是使用Microsoft Visual C++開發(fā)的,運行速度非常快,可以處理很復(fù)雜的JAVA編譯文件。眾多的參數(shù)使JAD可以靈活應(yīng)付多種加密手段,令反編譯的代碼更加優(yōu)化和易讀。由于JAD參數(shù)太多,沒必要一一解釋,其中有幾個最常用的如下:

    -d <dir> - 用于指定輸出文件的目錄

    -s <ext> - 輸出文件擴展名(默認(rèn)為: .jad),通常都會把輸出文件擴展名直接指定為.java,以方便修改的重新編譯。

    -8 - 將Unicode字符轉(zhuǎn)換為ANSI字符串,如果輸出字符串是中文的話一定要加上這個參數(shù)才能正確顯示。

    最常用的反編譯指令如下所示:

    Jad –d c:\javasource –s .java -8 javatest.class

    這條指令將當(dāng)前目錄下的javatest.class反編譯為javatest.java并保存在c:\javasource目錄里,其中的提示輸出為中文,而不是Unicode代碼。

    二、 源碼開放的JODE

    JODE是全球最大的開源項目網(wǎng)站Sourceforge.net的成員,不要以為源碼開放就小瞧它,在所有的JAVA反編譯器中,JODE的反編譯效果是最好的,尤其是對付一些常見的加密手段,例如混淆技術(shù)等,更是出類拔粹。

    JODE本身也是純JAVA開發(fā)的,最近越來越多的JAVA反編譯軟件也選擇JODE來做它們的核心引擎,例如JCavaj Java Decompiler、BTJ (Back To Java)、jEdit's JavaInsight plugin等。

    JODE是一個可運行的JAR文件,在windows環(huán)境下雙擊即可運行,其運行界面如下:

    http://www.blogchina.com/resource/upload/pic/2006/03/17/264618335.1002.0373.jpg
    需 要特別說明的是,JODE不是通過常規(guī)的Open->File的方式來加載JAVA編譯后的類文件(*.class)或是類包(*.jar)的,而 是通過在Options菜單中的Set Classpath來實現(xiàn)的,單獨的類文件可以將它的上一級目錄作為Classpath輸入,然后再選擇Reload Classpath即可:
    http://www.blogchina.com/resource/upload/pic/2006/03/17/264618335.1003.07741.jpg
    http://www.blogchina.com/resource/u....1004.08813.jpg

    新加入的類包或是類的名字會在左側(cè)窗口出現(xiàn),雙擊類包名可以展開目錄樹結(jié)構(gòu),雙擊需要反編譯的類名則在右上角的窗口中直接顯示反編譯后的源代碼。

    三、 獨樹一幟的DAVA

    DAVA不是一個獨立的JAVA反編譯器,而是JAVA代碼優(yōu)化工具Soot的一部分。Soot和JODE一樣是純JAVA開發(fā)的,也是一個獨立的JAR包,但卻不能通過雙擊直接運行,而是象JAD一樣在命令行狀態(tài)運行。
    http://www.blogchina.com/resource/upload/pic/2006/03/17/264618335.1005.09938.jpg
    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自帶的一些例程完全反編譯,然后不加任何修改可再編譯成功,并能正常運行!

    posted on 2007-12-17 11:11 xyz 閱讀(1184) 評論(0)  編輯  收藏 所屬分類: 網(wǎng)絡(luò)文摘

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    留言簿

    隨筆檔案(1)

    文章分類(44)

    文章檔案(46)

    收藏夾(1)

    Adobe

    AOP

    API

    appServer

    BI

    c

    • c-free
    • codeblocks
    • codelite
    • CodeLite IDE 是一個強大的開源,跨平臺的 C/C++整合開發(fā)環(huán)境. 支持包括 Windows、Linux 和 Mac 系統(tǒng)下運行
    • codelite官網(wǎng)
    • dev-c++
    • Dev-C++是一個C&C++開發(fā)工具,它是一款自由軟件,遵守GPL協(xié)議。
    • GCC
    • GCC 原名為 GNU C 語言編譯器(GNU C Compiler),因為它原本只能處理 C語言。GCC 很快地擴展,變得可處理 C++。之后也變得可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語言。

    Cache

    CMS

    DB

    eclipse

    FreeMarker

    hibernate

    html5

    ibatis

    java

    jquery

    js

    json

    Linux

    Log

    mail server

    mobile

    mysql

    oauth

    openID

    other

    PHP

    portal

    report

    Scheduler

    schema

    Security

    SOA

    spring

    struts

    UI原型設(shè)計

    w3c

    Wap

    webservice

    xml

    供應(yīng)鏈管理

    博客鏈接

    好網(wǎng)站

    工作流

    開源網(wǎng)

    招聘

    插件下載

    操作系統(tǒng)

    構(gòu)建可伸縮的系統(tǒng)

    構(gòu)建工具

    測試

    游戲

    源碼托管

    經(jīng)營

    資源

    金融/財務(wù)

    搜索

    •  

    最新評論

    主站蜘蛛池模板: 亚洲youwu永久无码精品 | 亚洲精品黄色视频在线观看免费资源 | 免费国产黄网站在线观看动图| 久久久久久a亚洲欧洲AV| 情侣视频精品免费的国产| 久久精品一本到99热免费| 一级毛片免费播放男男| 亚洲大尺度无码无码专线一区| 久久久久亚洲av无码专区喷水| 国产偷国产偷亚洲清高动态图 | 亚洲欧洲AV无码专区| 亚洲欧洲国产经精品香蕉网| 亚洲av综合色区| 国产成人精品日本亚洲专区61 | 视频免费1区二区三区| 亚洲日韩精品国产一区二区三区| 亚洲日本国产乱码va在线观看| 亚洲人成网77777亚洲色| 国产亚洲精品无码专区| 免费一级毛片免费播放| 四虎AV永久在线精品免费观看| 午夜小视频免费观看| 毛片免费观看视频| 和日本免费不卡在线v| 37pao成人国产永久免费视频| 免费在线看污视频| 美女在线视频观看影院免费天天看 | 1000部羞羞禁止免费观看视频 | 亚洲免费视频播放| 亚洲小说图片视频| 亚洲国产精品人久久电影| 亚洲色偷偷av男人的天堂| 91情国产l精品国产亚洲区 | 韩国免费一级成人毛片| 毛片在线看免费版| 成年男女免费视频网站 | WWW亚洲色大成网络.COM | 全黄a免费一级毛片人人爱| 亚洲成A人片77777国产| 亚洲中文字幕丝袜制服一区| 久久久久亚洲AV无码专区网站|