在 C++ 里,函数地址在程序运行期间通常是固定的,不过在动态链接库(DLL)或者共享库(SO)中,函数地址可能会因为地址空间布局随机化(ASLR)而改变。所以我们想要通过地址直接调用函数,就需要先确定我们能找到函数地址->让函数地址固定。
通过VS的设置,我们是可以做到的。
1,右键项目的属性。
2,找到链接器中的高级
3,将随机基址修改为否
这里就设置完成,之后写代码进行调用。
先打断点获取函数的地址。
我们直接使用地址调用是不行的,因为函数调用需要是函数指针。
所以我们typedef或者using一下类型。
这样就通过地址调用函数成功。