【C/C++】实现固定地址函数调用

在 C++ 里,函数地址在程序运行期间通常是固定的,不过在动态链接库(DLL)或者共享库(SO)中,函数地址可能会因为地址空间布局随机化(ASLR)而改变。所以我们想要通过地址直接调用函数,就需要先确定我们能找到函数地址->让函数地址固定。

通过VS的设置,我们是可以做到的。

1,右键项目的属性。

2,找到链接器中的高级

3,将随机基址修改为否

这里就设置完成,之后写代码进行调用。

先打断点获取函数的地址。

我们直接使用地址调用是不行的,因为函数调用需要是函数指针。

所以我们typedef或者using一下类型。

这样就通过地址调用函数成功。

相关推荐
土了个豆子的25 分钟前
03.缓存池
开发语言·前端·缓存·visualstudio·c#
羚羊角uou26 分钟前
【Linux】匿名管道和进程池
linux·c++·算法
_extraordinary_37 分钟前
Java 多线程(一)
java·开发语言
曙曙学编程43 分钟前
stm32——独立看门狗,RTC
c语言·c++·stm32·单片机·嵌入式硬件
爱喝水的鱼丶1 小时前
SAP-ABAP: ABAP ASSIGN COMPONENT 语句详解:动态字段符号的利器作用用法示例详解
运维·开发语言·sap·abap·开发经验·动态字段符号
励志不掉头发的内向程序员1 小时前
C++进阶——多态
开发语言·c++·学习
雨中散步撒哈拉2 小时前
13、做中学 | 初一下期 Golang数组与切片
开发语言·后端·golang
0wioiw02 小时前
Go基础(③Cobra)
开发语言·后端·golang
楼田莉子2 小时前
C++算法专题学习:栈相关的算法
开发语言·c++·算法·leetcode
晨非辰2 小时前
#C语言——刷题攻略:牛客编程入门训练(九):攻克 分支控制(三)、循环控制(一),轻松拿捏!
c语言·开发语言·经验分享·学习方法·visual studio