在 x32/x64 调试器中,如何在打开新窗口时中断?
在我的应用程序中,我单击菜单栏中的“文件”按钮,然后选择“选项”,我想中断该调用以打开窗口。(该窗口有多个选项卡,带有复选框和按钮等,我不确定这称为什么类型的窗口)
如果序列密钥有效,我正在调试的应用程序将显示更多选项,而不是序列密钥丢失/无效的情况,因此我在检查时尝试中断。
在 x32/x64 调试器中,如何在打开新窗口时中断?
在我的应用程序中,我单击菜单栏中的“文件”按钮,然后选择“选项”,我想中断该调用以打开窗口。(该窗口有多个选项卡,带有复选框和按钮等,我不确定这称为什么类型的窗口)
如果序列密钥有效,我正在调试的应用程序将显示更多选项,而不是序列密钥丢失/无效的情况,因此我在检查时尝试中断。
您应该在创建窗口的 API 上放置一个断点。这是我可能会打开一个窗口的 API 列表。
<Api Name="CreateDialogIndirectParamA"/>
<Api Name="CreateDialogIndirectParamW"/>
<Api Name="CreateDialogParamA"/>
<Api Name="CreateDialogParamW"/>
<Api Name="CreateWindowA"/>
<Api Name="CreateWindowExA"/>
<Api Name="CreateWindowExW"/>
<Api Name="CreateWindowW"/>
<Api Name="DialogBoxIndirectParamA"/>
<Api Name="DialogBoxIndirectParamW"/>
<Api Name="DialogBoxParamA"/>
<Api Name="DialogBoxParamW"/>
<Api Name="MessageBoxA"/>
<Api Name="MessageBoxExA"/>
<Api Name="MessageBoxExW"/>
<Api Name="MessageBoxIndirectA"/>
<Api Name="MessageBoxIndirectW"/>
<Api Name="MessageBoxTimeoutA"/>
<Api Name="MessageBoxTimeoutW"/>
<Api Name="MessageBoxW"/>
使用API Monitor等程序查找应用程序如何打开窗口,并在其上放置 BP。