日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

利用ida对程序的静态链接库进行处理

發布時間:2024/4/11 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用ida对程序的静态链接库进行处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用IDA進行反匯編時最怕遇到的就是跟蹤到了程序靜態鏈接的庫函數中,看得一頭霧水不說,還浪費了大量的時間。其實如果有符號表的話,看看函數名就知道大概功能了,再看看參數就可以pass了。本文以meterpreter主服務dll–metsrv.dll為例,簡要介紹一下利用IDA工具FLAIR來對程序的靜態鏈接庫進行處理的流程

用IDA打開metsrv.dll,如圖:

圖上部的條框區域,綠色部分是IDA能識別出的庫函數,藍色區域IDA認為是程序自身的代碼,由于程序有600多K,代碼量非常大,左側的函數窗口可以看到都是諸如sub_10002A90之類的函數名,這時我們懷疑程序是不是靜態編譯鏈接了某些函數.

1.用string、file等工具識別靜態庫及版本,平臺等

root@bt:/# strings metsrv.dll >1.txtroot@bt:/# cat 1.txt...OpenSSL 0.9.8k 25 Mar 2009.\ssl\ssl_lib.c...root@bt:/#

找到了”OpenSSL 0.9.8k”這樣的字符串,我們初步判斷是對openssl庫進行了靜態鏈接。需要下載openssl 0.9.8k對應的庫文件libeay32.lib和ssleay32.lib,可以點擊這里下載。

2.下載FLAIR61

FLAIR全名庫文件快速識別與鑒定技術(Fast Library Acquisition for Identification and Recognition),IDA安裝包里并沒有自帶這個工具。

官方下載地址:flair61。但需要驗證用戶名和密碼。

也可以點擊這里下載IDA6.1及相關工具,里面包括FLAIR61。

3.創建模式文件####

這里對windows環境下的openssl庫創建模式文件,使用.\bin\win目錄下的pcf工具。

D:\flair61\bin\win>pcf.exe libeay32.lib libeay.patD:\flair61\bin\win>pcf.exe ssleay32.lib ssleay.pat

.\plb.txt文件包含這個工具的詳細參數說明。

4.創建簽名文件####

D:\flair61\bin\win>sigmake.exe libeay.pat libeay.siglibeay.sig: modules/leaves: 4246/2632, COLLISIONS: 106See the documentation to learn how to resolve collisions.

創建簽名文件時一般會產生沖突,這是因為兩個函數的字節序列部分可能相同。

這時打開生成的.exc文件,將前四行刪除,在沖突的函數組中如果想顯示哪個函數名稱,在前面添加+號,如果只想在數據庫中添加函數注釋,在前面添加-號。

_atalla_mod_exp_dh 02 2109 8B4424188B4C24148B542410508B442410518B4C2410525051E8........83C4 +_atalla_mod_exp_dsa 02 2109 8B4424188B4C24148B542410508B442410518B4C2410525051E8........83C4_PEM_write_bio_ECPrivateKey 04 913F 8B44241C8B4C24188B542414508B442414518B4C2414528B542414508B442414+_PEM_write_RSAPrivateKey 04 913F 8B44241C8B4C24188B542414508B442414518B4C2414528B542414508B442414_PEM_write_bio_RSAPrivateKey 04 913F 8B44241C8B4C24188B542414508B442414518B4C2414528B542414508B442414_PEM_write_ECPrivateKey 04 913F 8B44241C8B4C24188B542414508B442414518B4C2414528B542414508B442414-_PEM_write_bio_DSAPrivateKey 04 913F 8B44241C8B4C24188B542414508B442414518B4C2414528B542414508B442414_PEM_write_DSAPrivateKey 04 913F 8B44241C8B4C24188B542414508B442414518B4C2414528B542414508B442414_ec_GFp_simple_is_at_infinity 00 0000 8B4C240833C03941300F94C0C3......................................+_ec_GF2m_simple_is_at_infinity 00 0000 8B4C240833C03941300F94C0C3......................................

這時再執行sigmake.exe libeay.pat libeay.sig就能生成簽名文件,ssleay.pat的處理同上。

5.應用簽名文件####

將libeay.sig、ssleay.sig文件拷貝至[IDADIR]/sig目錄下,用IDA重新打開metsrv.dll,選擇 File->Load File->FLIRT Signature File

,分別將libeay.sig、ssleay.sig文件導入到metsrv.dll的數據庫中:

這時靜態鏈接的符號表都出來了,可以跟處理之前的圖進行對比看看效果:

總結

以上是生活随笔為你收集整理的利用ida对程序的静态链接库进行处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。