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

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

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

1,右键项目的属性。

2,找到链接器中的高级

3,将随机基址修改为否

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

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

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

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

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

相关推荐
luj_176835 分钟前
残熵算法实时化三大瓶颈突破
c语言·开发语言·网络·经验分享·算法
不听话坏1 小时前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
likeyi071 小时前
require 和 import的区别
开发语言·前端
远离UE42 小时前
UE5 compute shader 原子加
开发语言·c++·ue5
C+-C资深大佬2 小时前
C++ 显式类型转换详解:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
KaMeidebaby3 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
luj_17683 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
取地址符3 小时前
C++学习笔记(基于learn-cxx)(1)
c++·经验分享·笔记·学习
Mininglamp_27184 小时前
Claude Code 封禁中国开发者之后:本地 AI 编程工具的替代方案实测
开发语言·人工智能·windows·开源软件·ai-native
思麟呀4 小时前
C++17(三)if constexpr+折叠表达式
开发语言·c++