題:
IDA Pro重命名進口
IChooseYou
2014-08-25 22:33:56 UTC
view on stackexchange narkive permalink

此PE文件破壞了其導入地址表。但是,所有函數地址都在此 _rdata 段中:

rdata_segment

有任何直接重命名這些函數的方法嗎?

三 答案:
Jason Geffner
2014-08-25 22:36:21 UTC
view on stackexchange narkive permalink

在將進程的內存轉儲到磁盤之前,請使用 Scylla之類的工具來重建導入表。

Scylla

Igor Skochinsky
2014-08-25 22:47:39 UTC
view on stackexchange narkive permalink

在調試器中,選擇導入表並運行 idc \ renimp.idc

文件中的頂部註釋:

  / *重命名進口。此腳本重命名動態構建的導入表的條目。例如,從這樣一個表:DD偏移ntdll_NtPowerInformation DD偏移ntdll_NtInitiatePowerAction DD偏移ntdll_NtSetThreadExecutionState DD偏移ntdll_NtRequestWakeupLatency DD偏移ntdll_NtGetDevicePowerState DD偏移ntdll_NtIsSystemResumeAutomatic DD偏移ntdll_NtRequestDeviceWakeup DD偏移ntdll_NtCancelDeviceWakeupRequest DD偏移ntdll_RtlQueryRegistryValues會造成這樣的表:NtPowerInformation DD偏移ntdll_NtPowerInformation NtInitiatePowerAction DD偏移ntdll_NtInitiatePowerAction NtSetThreadExecutionState DD偏移ntdll_NtSetThreadExecutionState NtRequestWakeupLatency DD偏移ntdll_NtRequestWakeupLatency NtGetDevicePowerState DD偏移ntdll_NtGetDevicePowerState NtIsSystemResumeAutomatic DD偏移ntdll_NtIsSystemResumeAutomatic NtRequestDeviceWakeup DD偏移ntdll_NtRequestDeviceWakeup NtCancelDeviceWakeupRequest DD偏移ntdll_NtCancelDev iceWakeupRequest RtlQueryRegistryValues dd偏移ntdll_RtlQueryRegistryValues用法:選擇導入表並運行腳本。已知問題:如果dll名稱包含下劃線,則函數名稱可能不正確。 ws2_32.dll要特別小心,但其他dll的函數名稱將錯誤。* /  
user19438
2017-03-09 07:21:30 UTC
view on stackexchange narkive permalink

您最有可能使用進程轉儲。這些地址將取決於Windows版本和Service Pack。如果您有機會在VM中運行它,請嘗試波動。執行procdump然後進行掃描。 impscan可以為您提供一個IDC,將這些地址重命名為其各自的API名稱。

即使對於非PE注入的代碼,此方法也能很好地工作。

https://github.com .com / volatilityfoundation / volatility / wiki / Command%20Reference%20Mal#impscan



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...