偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

逆向分析神器BinNavi開源了

安全 數(shù)據(jù)安全
得益于IDA pro十分開放的架構(gòu),Gergely Erdelyi和Ero Carrera在2004年基于IDA pro發(fā)布了IDAPython,逆向工程師能夠以Python腳本的形式訪問IDC腳本引擎核心、完整的IDA插件API,以及所有與Python捆綁在一起的常見模塊。

得益于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終于開源了!下載地址。

逆向分析神器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)試和實(shí)驗。圖形用戶界面是純Java的,以在windows,MacOS和Liunx測試成功。

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

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

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

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放入類路徑中進(jìn)行測試并查驗結(jié)果。

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

搭建Binnavi

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

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

初次運(yùn)行Binnavi

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

你可以使用下面方法構(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之后,我們還需要進(jìn)行一些配置。

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)在目標(biāo)"build-binnavi-jar"中選擇'"javac" 任務(wù)

4)打開項目屬性對話框

5)編輯源文件夾:

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

2.文件名:java

3.點(diǎn)擊下一步

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

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

從IDA輸出反匯編

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

使用其他反匯編程序

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

責(zé)任編輯:藍(lán)雨淚 來源: FreeBuf
相關(guān)推薦

2015-01-09 16:32:25

2021-06-24 13:00:35

微軟開源可視化

2022-01-15 07:23:46

開源PDF神器應(yīng)用

2019-06-18 10:24:23

開源技術(shù) 趨勢

2016-10-24 14:53:30

Android app使用技巧

2020-03-04 10:54:54

開源技術(shù) 數(shù)據(jù)

2022-10-20 10:37:44

2022-04-14 11:09:17

開源項目搜索

2020-12-18 08:38:22

開源前端mitojs

2010-09-30 09:40:45

2019-07-16 08:09:32

開源技術(shù) 趨勢

2023-12-01 08:09:45

開源圖片編輯器

2012-07-20 10:38:25

Entity FramEF

2020-12-31 11:55:56

PythonPlaywright微軟

2024-08-06 09:54:20

2020-01-20 14:40:39

工具代碼開發(fā)

2020-12-30 09:33:37

開源茅臺神器

2018-12-05 14:29:22

2018-11-21 09:53:05

谷歌開源AI

2018-08-20 13:46:59

Android逆向分析終端安全
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號