我使用 Visual Studio 2019 用 C++ 编写了一个简单的程序来学习。当我用 Ghidra 打开文件时,它似乎没有检测到我的功能,我不知道我做错了什么。
我的程序很简单:
#include <iostream>
void someFunction()
{
printf("im scared world, i dont understand.\n");
}
int main()
{
std::cout << "hello world" << '\n';
someFunction();
system("pause");
return 0;
}
然而,Ghidra 中的主要功能如下所示:
int __cdecl _main(int _Argc,char **_Argv,char **_Env)
{
char cVar1;
char *unaff_EBP;
basic_ostream<char,struct_std::char_traits<char>_> *in_stack_fffffff8;
cVar1 = (char)unaff_EBP;
operator<<<struct_std::char_traits<char>_>(in_stack_fffffff8,unaff_EBP);
operator<<<struct_std::char_traits<char>_>(in_stack_fffffff8,cVar1);
/* Symbol Ref: No symbol: someFunction */
_printf("im scared world, i dont understand.\n");
system("pause");
return 0;
}
如您所见,我的函数应该在哪里,而是显示
/* Symbol Ref: No symbol: someFunction */
为什么?我能做些什么来解决这个问题?