IChooseYou
2014-08-25 22:33:56 UTC
在調試器中,選擇導入表並運行 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的函數名稱將錯誤。* /
您最有可能使用進程轉儲。這些地址將取決於Windows版本和Service Pack。如果您有機會在VM中運行它,請嘗試波動。執行procdump然後進行掃描。 impscan可以為您提供一個IDC,將這些地址重命名為其各自的API名稱。
即使對於非PE注入的代碼,此方法也能很好地工作。