[英]EasyHook - CRT Debug Assertion Failed - “Buffer too small”
我有一個注入器,它調用以下(節略的)代碼:
var processes = Process.GetProcessesByName("target");
/* ... */
var process = processes[0];
/* ... */
process.Kill();
RemoteHooking.CreateAndInject(process.MainModule.FileName, string.Empty, 0,
InjectionOptions.NoService | InjectionOptions.DoNotRequireStrongName,
typeof(EntryPoint).Assembly.Location, typeof(EntryPoint).Assembly.Location,
out injectedProcessId, null);
應該注入的DLL只有以下代碼:
public class EntryPoint : IEntryPoint {
public EntryPoint(RemoteHooking.IContext InContext) {}
public void Run(RemoteHooking.IContext InContext) {
RemoteHooking.WakeUpProcess();
Thread.Sleep(5000);
}
}
不幸的是,注入器僅在顯示典型Windows錯誤報告工具時崩潰,根本沒有視覺異常消息,甚至沒有進入DLL。 事件視圖中的錯誤是此錯誤:
Faulting application name: TestInjector.vshost.exe, version: 14.0.23107.0, time stamp: 0x559b788a
Faulting module name: EasyHook64.dll, version: 2.7.0.0, time stamp: 0x589704aa
Exception code: 0xc0000409
Fault offset: 0x0000000000091a9b
在調試模式下運行時,我無法逐步瀏覽EasyHook代碼以找到關鍵位置,但是我至少遇到一個異常:
您是否對如何進一步調試此問題以及找出原因有任何建議? 我什至試圖關閉各種應用程序以減少干擾,但沒有任何幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.