ELF代表可执行文件和可链接格式,是包含机器代码的文件的文件格式。
为什么动态链接器要*减去虚拟地址来找出加载的共享库可执行文件在内存中的位置?
根据ld源码这里的dl_main。如果不了解phdr传入dl_main的上下文,我有点不明白为什么main_map的加载地址是通过减去虚拟地址推导出来的......。
ELF的代理共享库(sharedlib、shlib、so)?
在Windows上,创建 "proxy DLLs "或多或少是很常见的,它可以取代原来的DLL,并将调用转发给它(根据需要进行额外的操作后)。你可以在这里和这里读到关于它的信息......
我还没有成功找到这个问题的答案。使用GDB,我可以使用 "call "命令来获取函数的原型。例子:(gdb) call fn $1 (gdb) call fn $1 = {void (int, int)}。0x8048414 & ...
我有一个C程序test.c的例子,只定义了三个函数:main、fn1和fn2: void fn1(void){...} void fn2(void){...} int main(int argc, char** argv){...}。编译后再提取...
考虑以下程序hello.c。#include int main(int argc, char** argv) { printf("hello"); return 0; }。该文件是用gcc -o hello -Og -g hello.c和...编译的。
我在Android上遇到一个Free Pascal共享库启动代码的问题。Free Pascal RTL源码中有如下片段:type TAuxiliaryValue = cuInt32; TInternalUnion = record ...。
我有一个打印hello world的C程序的对象文件,只是为了解决这个问题。我想了解使用readelf utility或gdb或hexedit(我不知道哪个工具是正确的)......。
我的库A依赖于外部库B。当我在A.so上使用ld时,我看到B被链接为B.so.10,但在我的计算机上,链接是。B.so -> B.so.10 B.so.10 -> B.so.10.5 我试图让A链接... ...
我是ELF二进制保护的新手。我想剥离节头表以避免调试。我试图通过运行readelf -h来查找磁盘上的节头表,并尝试nop它们,但它们都是0。
我想知道这里是否有人熟悉 "libelf by example "这本书。https:/www.dbooks.orglibelf-by-example-1587read 我试图运行prog2.c,但我找不到头vis.h(...
我正在尝试调试带有奇怪魔术字节的ELF $ xxd binary |头-2 00000000:7f45 4c46 4141 4141 4141 4141 4141 4141 .ELFAAAAAAAAAAAA 00000010:0300 0300 0100 0000 0010 0000 3400 0000 .........
使用libelf在ELF文件中插入.preinit_array节
我有以下简单的hello-world程序,它使用gcc在标准的elf二进制文件中编译:#include void hello(){printf(“ Preinit hello!\ n”); } int main(){printf(“ Hello ...
我在一个ELF文件中找到了此编译器标记:GCC:(Ubuntu 5.3.0-4ubuntu1〜1.04.11)5.4.020160622。有人可以告诉我我可以收集哪些信息?例如末尾的时间戳。什么是...
根据本教程:http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html,我可以将这段代码嵌入elf头文件结构中。之前的一步,我的代码和elf标头...
如何通过nasm将源代码嵌入elf头文件中?错误:执行格式错误
根据本教程:http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html,我可以将这段代码嵌入elf头文件结构中。之前的一步,我的代码和elf标头...
我正在使用capstone来分解ELF二进制文件,我注意到当它打印出指令时,它会在无效指令处停止,并且不会继续。我注意到停止指令...
## #include typedef struct {char a [1024]; } AA;静态Aa a [102400]; int main(int argc,char ** argv){getchar(); memset(a,0,sizeof(a)/ 2); ... ] >>
我有一个仅标头的库,当前正在调用malloc和free。此标头包含在许多不同的静态库中,这些静态库用于构建配置不同的程序。我会...