在x86计算机上,后期调试设置存储在\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug
有两个注册表项用于后期调试:
64位的存储在\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug
32位存储在\HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug
在这些键中应该出现两个注册表值:
Debugger
此REG_SZ值指定将处理后期调试的调试器。
Auto
此REG_SZ值始终为0或1。如果Auto设置为0,则在后期调试之前将显示一个消息框。
//HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
system("reg add \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug\" /v Auto /t REG_SZ /d 1 /f");
system("reg add \"HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug\" /v Debugger /t REG_SZ /d \"notepad.exe\" /f");
//Crashing the application
*((int*)NULL) = 0;
Keep an eye on
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug
\HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug