自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

逆向分析神器BinNavi開源了

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

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

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

逆向分析神器BinNavi開源了

功能簡介

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

2)集成的Python解釋程序:zynamics BinNavi允許訪問整個解體,所有callgraph和flowgraph的結構,更方便的從一個綜合的Python命令行調試內存和寄存器。

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

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

復雜的第三方依賴

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

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

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

搭建Binnavi

BinNavi使用Maven進行依賴關系管理,但實際上沒有進行構建。從頭開始構建使用這些命令:

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,所以你需要一個你能夠訪問到的實例。

你可以使用下面方法構建/打開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構建文件中創(chuàng)建一個Java項目”并使src/main/java/com/google/security/zynamics/build.xml文件

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

4)打開項目屬性對話框

5)編輯源文件夾:

1.有關文件夾位置:$SRCDIR/src/main/java

2.文件名:java

3.點擊下一步

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

7)點擊運行>調試配置,選擇Java應用程序,然后搜索"CMain".

從IDA輸出反匯編

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

使用其他反匯編程序

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

責任編輯:藍雨淚 來源: FreeBuf
相關推薦

2015-01-09 16:32:25

2021-06-24 13:00:35

微軟開源可視化

2022-01-15 07:23:46

開源PDF神器應用

2019-06-18 10:24:23

開源技術 趨勢

2016-10-24 14:53:30

Android app使用技巧

2022-10-20 10:37:44

2020-03-04 10:54:54

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

2010-09-30 09:40:45

2022-04-14 11:09:17

開源項目搜索

2020-12-18 08:38:22

開源前端mitojs

2019-07-16 08:09:32

開源技術 趨勢

2023-12-01 08:09:45

開源圖片編輯器

2024-08-06 09:54:20

2012-07-20 10:38:25

Entity FramEF

2020-01-20 14:40:39

工具代碼開發(fā)

2018-12-05 14:29:22

2020-12-30 09:33:37

開源茅臺神器

2020-12-31 11:55:56

PythonPlaywright微軟

2018-11-21 09:53:05

谷歌開源AI

2018-08-20 13:46:59

Android逆向分析終端安全
點贊
收藏

51CTO技術棧公眾號