如何在c++程序中找到函数的地址

how to find the address of a function in a c++ program

本文关键字:函数 地址 c++ 程序      更新时间:2023-10-16

我需要在堆栈中找到func的地址,这样,如果我提供了一个32长的"a"字符串,然后堆栈中的函数地址,我就会获得授予访问权限的

我记得我用objdump做的,但我似乎搞不清

#include <iostream>
using namespace std;

void func() 
{ 
cout << "Access Granted n";

}
int main()
{
char buff[20];
cin >> buff;
cout << buff;
return 0;
}

我尝试了免疫调试器,但不成功

如何在c++程序中查找函数的地址

您可以使用addressof运算符来获取指向函数的函数指针。此指针存储地址。请注意,这对于非静态成员函数是不可能的,因为您得到的是成员函数指针而不是函数指针。

要打印地址,可以将函数指针转换为void*。但请注意,并非所有系统都支持这种转换。