是否可以在运行时查找代码段的地址(.data,.text等?)>

问题描述 投票:0回答:1

我想编写一些代码,在运行时将在其自己的进程中打印每个代码段的地址和长度。是否有捷径可寻?我知道使用void* main_address = main;这样的代码来找到main函数之类的位置相对容易,但是我想找到.data和.text这样的节,我不知道我是否可以对它们执行相同的操作编译。我正在Windows系统上编写此实验,并针对x86体系结构进行编译。我知道如果需要该解决方案的x86组装件。我将不胜感激任何帮助或建议。谢谢!

我想编写一些代码,在运行时将在其自己的进程中打印每个代码段的地址和长度。是否有捷径可寻?我知道找到...

c windows x86 portable-executable
1个回答
0
投票

我不知道Windows约定,但是如果它像Linux,则您的编译器,汇编器或链接器可能会为节的开头定义符号。 (使用nm或类似工具从.obj.exe中转储符号表。)

© www.soinside.com 2019 - 2024. All rights reserved.