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

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

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

1,右键项目的属性。

2,找到链接器中的高级

3,将随机基址修改为否

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

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

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

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

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

相关推荐
马克学长9 分钟前
SSM基于Java的医疗器械销售系统oy281(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·开发语言·用户管理·ssm 框架·医疗器械销售系统
apocelipes17 分钟前
C++ Two Phase Lookup导致的模板代码编译错误
c++·泛型编程
lqj_本人27 分钟前
Rust与Go:现代系统编程语言的深度对比
开发语言·golang·rust
hansang_IR36 分钟前
【题解】洛谷 P1477 [NOI2008] 假面舞会 [思维 + 图论]
c++·算法·图论·思维
星释44 分钟前
Rust 练习册 :Macros与宏系统
开发语言·后端·rust
l1t1 小时前
利用短整数类型和部分字符串优化DuckDB利用数组求解数独SQL
开发语言·数据库·sql·duckdb
权泽谦1 小时前
从零搭建一个 PHP 登录注册系统(含完整源码)
android·开发语言·php
PieroPc1 小时前
用python Streamlit 做个RapidOCR 文本识别系统
开发语言·python·ocr
卡提西亚1 小时前
一本通网站1125题:矩阵乘法
c++·算法·矩阵·编程题·一本通
程序员东岸1 小时前
数据结构精讲:从栈的定义到链式实现,再到LeetCode实战
c语言·数据结构·leetcode