应用程序等待被调试工具调试
2024-09-11
2
0
应用程序可以通过传递参数来改变软件的运行状态。但有的时候我们需要被调试,就需要使用调试工具,如wIndbg。
改变软件为调试状态时,可以通过检测传递到的参数来确定,但这时可能需要调试器来配合,所以可以通过如下的代码来等待调试器被附加上。
BOOL IsNeedDbg = ParseCommandLines((struct _GAPP *)v8);
if ( IsNeedDbg >= 0 )
{
while (!IsDebuggerPresent())
{
MessageBoxW(
NULL,
L"/WaitForDebugger switch detected. Please attach a debugger to continue...",
L"SetupHost.exe",
NULL);
}
DebugBreak();
}
软件是否正在被调试可通过IsDebuggerPresent函数来判断。