日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
逆向分析神器BinNavi開源了

得益于IDA pro十分開放的架構(gòu),Gergely Erdelyi和Ero Carrera在2004年基于IDA pro發(fā)布了IDAPython,逆向工程師能夠以Python腳本的形式訪問IDC腳本引擎核心、完整的IDA插件API,以及所有與Python捆綁在一起的常見模塊。IDAPython無論是在商業(yè)產(chǎn)品中(例如Zynamics的BinNavi),還是在一些開源項目中(例如Paimei和PyEmu)均有所應(yīng)用。

今天,商業(yè)版本的BinNavi終于開源了!下載地址。

功能簡介

1)開放式數(shù)據(jù)庫格式:zynamics BinNavi現(xiàn)在所有的數(shù)據(jù)存儲在MySQL數(shù)據(jù)庫中方便,靈活的格式。這有利于減輕解體分配結(jié)果導(dǎo)致的多重用戶,數(shù)據(jù)管理和備份。

2)集成的Python解釋程序:zynamics BinNavi允許訪問整個解體,所有callgraph和flowgraph的結(jié)構(gòu),更方便的從一個綜合的Python命令行調(diào)試內(nèi)存和寄存器。

3)可用性zynamics BinNavi GDB允許在任何平臺上調(diào)試:支持調(diào)試串行協(xié)議。這包括大多數(shù)的Unix和網(wǎng)絡(luò)的嵌入式設(shè)備,如思科路由器和防火墻VPN設(shè)備。

4)zynamics BinNavi目前支持的平臺(用于調(diào)試)是Win32/x86和Linux/x86 (ptrace ),可以在WinCE/ARM中調(diào)試和實驗。圖形用戶界面是純Java的,以在windows,MacOS和Liunx測試成功。

復(fù)雜的第三方依賴

BinNavi使用一個第三方的商業(yè)圖形可視化庫 (yFiles) ,這個庫十分強大而且難以替換。為了使用yFiles直接進行開發(fā),你需要獲取開發(fā)人員許可。與此同時我們希望你能夠為BinNavi社區(qū)做出貢獻,而不必拘于yFiles商業(yè)許可。為了在不破壞yFiles許可的前提下做到這一點,所有連接到y(tǒng)Files的接口都需要經(jīng)過混淆處理。

為了實現(xiàn)這個目標,我們做了如下這些事:

BinNavi以及所有的庫都拆分成兩部分:項目一部直接依賴于yFiles,我們把這一部分叫做"yfileswrap":

com.google.security.zynamics.binnavi
com.google.security.zynamics.binnavi.yfileswrap
com.google.security.zynamics.zylib
com.google.security.zynamics.zylib.yfileswrap
com.google.security.zynamics.reil
com.google.security.zynamics.reil.yfileswrap

我們分配一個預(yù)先構(gòu)建好的JAR文件到"yfileswrap" 分包中的代碼中(預(yù)先鏈接并混淆yFiles)。如果你想在BinNavi中添加或者刪除代碼但沒有yFiles的許可,這時你就可以自由的在non-yfileswrap分包中充分發(fā)揮你的想象力,你可以將lib/yfileswrap-obfuscated.jar放入類路徑中進行測試并查驗結(jié)果。

如果你想改變yfileswrap分包,請注意你得需要一個yFiles許可!

搭建Binnavi

BinNavi使用Maven進行依賴關(guān)系管理,但實際上沒有進行構(gòu)建。從頭開始構(gòu)建使用這些命令:

mvn dependency:copy-dependencies
ant -f src/main/java/com/google/security/zynamics/build.xml \
build-binnavi-fat-jar

初次運行Binnavi

請注意Binnavi主要使用PostgreSQL數(shù)據(jù)庫存儲disassemblies/comments/traces,所以你需要一個你能夠訪問到的實例。

你可以使用下面方法構(gòu)建/打開Binnavi

ant -f src/main/java/com/google/security/zynamics/build.xml \
build-binnavi-fat-jar
java -jar target/binnavi-all.jar

把項目加載到Eclipse

將代碼加載到Eclipse之后,我們還需要進行一些配置。

1)下載依賴性組件(如上所述)并確定你有正確安裝Java SDK 1.8

2)創(chuàng)建一個“從現(xiàn)有Ant構(gòu)建文件中創(chuàng)建一個Java項目”并使src/main/java/com/google/security/zynamics/build.xml文件

3)在目標"build-binnavi-jar"中選擇'"javac" 任務(wù)

4)打開項目屬性對話框

5)編輯源文件夾:

1.有關(guān)文件夾位置:$SRCDIR/src/main/java

2.文件名:java

3.點擊下一步

6)將binnavi/yfileswrap, zylib/yfileswrap,和reil/yfileswrap添加到排除的目錄列表中

7)點擊運行>調(diào)試配置,選擇Java應(yīng)用程序,然后搜索"CMain".

從IDA輸出反匯編

作為項目的一部分,我們只分配了一個只讀二進制(sorry!)IDA pro插件從IDA輸出的反匯編轉(zhuǎn)換成Binnavi所需要的Postgresql數(shù)據(jù)庫格式。當運行Binnavi,只需簡單的配置正確的IDA路徑,如果有必要的話還需要單擊“安裝插件”按鈕。

使用其他反匯編程序

沒錯,我們現(xiàn)在僅支持IDA導(dǎo)出插件。未來我們非常希望有朋友能夠幫助我們構(gòu)建其他的插件!


文章標題:逆向分析神器BinNavi開源了
地址分享:http://www.dlmjj.cn/article/djopchh.html