C++:从另一个函数访问字符串的任何方法

C++: Any way to access a string from another function?

本文关键字:字符串 任何 方法 访问 函数 另一个 C++      更新时间:2023-10-16

代码:

#include <cstdio>
void f() {
  printf("target_string");
}
int main(){
  //any way to access target_string?
}

有什么办法做到这一点吗?


我知道如果我将字符串定义为全局变量,我可以很容易地实现这一点。

但是,实际上,我正试图探索C++的隐藏功能,我只是想知道这是否可能。。。

分解你的小程序,看看你的字符串存储在哪里。如果你的字符串被存储在某个函数或命令之后或之前五个字节,那么使用这些信息来定位你的字符串。使用指针指向你的字符串,然后访问它。

示例:

0xff7722: mov eax, 7 #beginn of your function 
...
0xff7727: #your string
0xff7727 - 0xff7722 = 5;
void* pointer = &f;
f+=5;

f指向你的字符串。

如果编译器决定将指针放在字符串和函数之间,则指针可能指向错误的位置。

相关文章: