微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我怎么知道哪个Windows API版本被调用?

如何解决我怎么知道哪个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,则可以看到:

enter image description here

当您使用Unicode Character Set时:

enter image description here

您可以通过反汇编轻松查看它调用了哪个函数。

,

如果在输入断点之前将断点放置在给定的函数调用之外,那么当到达断点时,您可以进入该调用以查看实际跳至哪个函数。

如果在两个函数中都放置一个断点,则很容易看到哪个被调用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。