新聞中心
關(guān)于Karta
Karta是一款功能強(qiáng)大的IDA Python插件,該工具可以識別并匹配給定代碼中的開源代碼庫。該插件使用了一種獨特的技術(shù),使其能夠支持大型二進(jìn)制文件(>200000個函數(shù)),而同時幾乎不會影響整體性能。

成都創(chuàng)新互聯(lián)公司服務(wù)項目包括惠安網(wǎng)站建設(shè)、惠安網(wǎng)站制作、惠安網(wǎng)頁制作以及惠安網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,惠安網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到惠安省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Karta所使用的匹配算法是位置驅(qū)動的,這意味著它的主要焦點是定位不同的編譯文件,并根據(jù)文件中的原始順序匹配每個文件的函數(shù)。這種匹配方式依賴于開源函數(shù)的數(shù)量K,而不是二進(jìn)制文件的大小N,因此可以實現(xiàn)顯著的性能提升。
使用場景
我們認(rèn)為Karta這個IDA插件有三大使用場景:
- 搜索目標(biāo)文檔,確定已使用的開源代碼庫列表(包含版本信息);
- 匹配支持的開源庫及其中的符號,以幫助對惡意軟件進(jìn)行逆向工程分析;
- 匹配支持的開源庫及其中的符號,以幫助在專用代碼中搜索特定代碼,實現(xiàn)針對二進(jìn)制/固件的逆向工程分析;
項目目錄結(jié)構(gòu)
- src:插件的源代碼目錄
- configs:預(yù)置的*JSON配置文件
- compilations:生成配置文件的編譯提示,以及從過去的開源代碼中獲得的經(jīng)驗教訓(xùn)
- docs:Sphinx文檔目錄
Karta識別器
Karta的識別器是一個較小的插件,用于標(biāo)識二進(jìn)制文件中現(xiàn)有(受支持的)開源庫積起版本。因此,我們不再需要一次又一次地對同一個開源庫進(jìn)行逆向工程分析,我們只需要運行Karta識別器插件即可獲得所用開源庫的詳細(xì)列表。Karta目前支持10多個開源庫,其中包括:
- OpenSSL
- Libpng
- Libjpeg
- NetSNMP
- zlib
- 其他
Karta匹配器
識別目標(biāo)代碼所使用的開源代碼庫后,可以為特定庫編譯.JSON配置文件(例如libpng版本1.2.29)。編譯后,Karta將自動嘗試在加載的二進(jìn)制文件中匹配開源代碼庫的函數(shù)或符號。除此之外,如果你的開源項目使用了外部函數(shù)(memcpy、fread或zlib_inflate),Karta也會嘗試匹配這些外部函數(shù)。
工具安裝
(Python 3 & IDA >= 7.4)
如需安裝最新版本的Karta,我們需要本地環(huán)境配置好Python 3,然后使用下列命令將該項目源碼克隆至本地:
- git clone https://github.com/CheckPointSW/Karta.git
接下來,運行下列命令來運行Karta的安裝腳本:
- setup.py install
(Python 2 & IDA < 7.4)
在IDA 7.4發(fā)布時,Karta僅針對IDA 7.4或更新版本以及Python 3開發(fā)。Python2和更早的IDA版本仍然支持Karta v1.2.0版本,這很可能是Python2.X生命周期結(jié)束后最后一個受支持的版本。
項目地址
Karta:【GitHub傳送門】
新聞名稱:Karta:一款功能強(qiáng)大的IDA源代碼輔助插件
本文網(wǎng)址:http://m.fisionsoft.com.cn/article/cosijsc.html


咨詢
建站咨詢
