gpt4 book ai didi

c++ - 在 Visual Studio Debug模式下编译的可执行文件 : jmp to function body instead of direct address in call

转载 作者:太空狗 更新时间:2023-10-29 17:26:20 26 4
gpt4 key购买 nike

<分区>

想象一下这个伪造的程序:

void foo ( void )
{
// anything
}

int main ()
{
foo ();
return 0;
}

当使用 Visual Studio 在 Debug模式下进行编译时,编译器会构建某种“函数映射”或调用它的方式。

因此,例如,当您在调试器中跟踪 foo (),或者只是尝试通过 &foo 检索函数的偏移量时,您会发现自己在 jmp 的“列表”中,当您再次跟踪它们时,它将引导您到实际的函数体。

我的问题是:是否有可能为单个选择的函数禁用此功能,以便 &foo 将地址返回到函数体,而不是 jmp.当然不禁用 Debug模式。

如果不是,哪个标志为整个程序启用/禁用它?

提前致谢!

为用户 SigTerm 编辑: enter image description here

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com