2013-05-13 84 views
1

你好,我有一個快速的問題。IDA Pro的蟒蛇idaapi

我一直在試圖挽救在IDA完全內存轉儲臨在一個變量來執行與python腳本的搜索,但我沒有找到正確的函數使用idaapi做到這一點。

我想要做的事,如:

import idaapi 

dump=get_memory_dump() # Or whatever function to do it 

if "foo" in dump: 
print "foo is in dump" 

我怎樣才能獲得轉儲? 就像你可以看到我想在執行一個應用程序的時候在內存中創建一個腳本來創建patther。

非常感謝您

回答

2

使用idaapi.nextthat()搜索的字節序列然後使用dbg_read_memory()讀入程序的內存正在調試。由於後者似乎會製作一份副本,因此閱讀比如說4GB是不明智的。

+0

謝謝斯科特,但我試圖讀取dbg_read_memory內存()和國際開發協會墜毀。對你起作用嗎?謝謝! – user1618465 2013-05-17 00:49:21

+0

@ user1618465,嘗試'dbg_read_memory(cpu.Esp,4)'。那真的不應該崩潰。如果從ESP中讀取4個字節,那麼我的猜測是IDA只會在地址範圍上崩潰,而這個地址範圍在惡意進程中是無效的,您必須限制自己閱讀在進程內存映射中標記爲可讀的頁面。 – scottt 2013-05-17 04:41:05

+0

http://s24.postimg.org/rpookzd39/idaerror.jpg – user1618465 2013-05-19 00:25:52