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

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

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

1,右键项目的属性。

2,找到链接器中的高级

3,将随机基址修改为否

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

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

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

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

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

相关推荐
Funlang8 小时前
给机器写的 JavaScript 造个笼子
开发语言·javascript·ecmascript
普通人68 小时前
PHP文件读写完全指南
开发语言·php·1024程序员节
坤坤子吖9 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
一晌小贪欢10 小时前
Python基础:第 09 篇 · while 循环:重复直到不满足
开发语言·c++·python·数据可视化·面向对象·python办公
xiaoye-duck10 小时前
《C++ 项目:手写大模型接入 SDK》LLMManager架构设计与实现
开发语言·网络·c++·语言模型
一条大祥脚11 小时前
CuTe 与 CuTe DSL:从 C++ 模板元编程到 Python DSL 的 GPU 编程演进
开发语言·c++·python·cutlass·cute·cute dsl
·present·11 小时前
CSAPP(lecture 13_02 Linking)
c语言·c++
FRing0312 小时前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2
旖旎夜光12 小时前
【C++ 基础入门】C++ 多态(上):虚函数、重写、override/final 与抽象类
开发语言·c++·笔记·学习
starzy199012 小时前
深入理解Scala嵌套函数:作用域封装之道
开发语言·scala