如何解决我怎么知道哪个Windows API版本被调用?
如果要设置几个断点,如何知道程序是否在没有蛮力的情况下调用了A或W版本?
解决方法
只需在两个版本上设置断点即可。
通过明确指定哪个版本,任何程序都可以同时使用ANSI和Wide版本。
,我创建一个简单的示例:
#include <Windows.h>
int main(int argc,const char* argv[])
{
MessageBox(NULL,TEXT("test"),0);
return 0;
}
在MessageBox
处设置一个断点,然后在反汇编中进入MessageBox
:
如果您使用Multi-Byte Character Set
,则可以看到:
当您使用Unicode Character Set
时:
您可以通过反汇编轻松查看它调用了哪个函数。
,如果在输入断点之前将断点放置在给定的函数调用之外,那么当到达断点时,您可以进入该调用以查看实际跳至哪个函数。
如果在两个函数中都放置一个断点,则很容易看到哪个被调用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。