elf 相关问题

ELF代表可执行文件和可链接格式,是包含机器代码的文件的文件格式。

为什么我的简单的 "main "程序的ELF头说是 "DYN(共享对象文件)"而不是可执行文件?[重复]

这里有一个非常简单的C++程序 / main.cpp int main() {}。我的Makefile生成以下命令来编译程序。❯ make g++ -O0 -fverbose-asm -o main main.cpp 我检查了与...

回答 1 投票 0

将源代码添加到精灵文件中

我想把我的C++源码添加到相应的elf二进制文件中,我正在寻找最好的方法。(我的代码用了好几个版本,不是每个版本都要提交到 ...

回答 2 投票 4

为什么动态链接器要*减去虚拟地址来找出加载的共享库可执行文件在内存中的位置?

根据ld源码这里的dl_main。如果不了解phdr传入dl_main的上下文,我有点不明白为什么main_map的加载地址是通过减去虚拟地址推导出来的......。

回答 1 投票 1

ELF的代理共享库(sharedlib、shlib、so)?

在Windows上,创建 "proxy DLLs "或多或少是很常见的,它可以取代原来的DLL,并将调用转发给它(根据需要进行额外的操作后)。你可以在这里和这里读到关于它的信息......

回答 2 投票 8

如何从elf文件中提取函数原型?

我还没有成功找到这个问题的答案。使用GDB,我可以使用 "call "命令来获取函数的原型。例子:(gdb) call fn $1 (gdb) call fn $1 = {void (int, int)}。0x8048414 & ...

回答 1 投票 5

如何识别符号表中的符号是我的 "应用 "功能?

我有一个C程序test.c的例子,只定义了三个函数:main、fn1和fn2: void fn1(void){...} void fn2(void){...} int main(int argc, char** argv){...}。编译后再提取...

回答 1 投票 0

ELF64加载器如何知道更新.got.plt中的初始地址?

考虑以下程序hello.c。#include int main(int argc, char** argv) { printf("hello"); return 0; }。该文件是用gcc -o hello -Og -g hello.c和...编译的。

回答 1 投票 1

"环境 "的结尾是什么?

我在Android上遇到一个Free Pascal共享库启动代码的问题。Free Pascal RTL源码中有如下片段:type TAuxiliaryValue = cuInt32; TInternalUnion = record ...。

回答 3 投票 0

在对象文件中,函数 "main "的代码从哪里开始?

我有一个打印hello world的C程序的对象文件,只是为了解决这个问题。我想了解使用readelf utility或gdb或hexedit(我不知道哪个工具是正确的)......。

回答 1 投票 0

六进制编辑的共享库 "未找到x.so版本 "错误

我的库A依赖于外部库B。当我在A.so上使用ld时,我看到B被链接为B.so.10,但在我的计算机上,链接是。B.so -> B.so.10 B.so.10 -> B.so.10.5 我试图让A链接... ...

回答 1 投票 0

如何在ELF文件中剥离节头表?

我是ELF二进制保护的新手。我想剥离节头表以避免调试。我试图通过运行readelf -h来查找磁盘上的节头表,并尝试nop它们,但它们都是0。

回答 1 投票 0

多于一个ELF程序头是什么意思

我有一个ELF文件,它有一个以上的程序头。如果我没有理解错的话,程序头包含了可执行的部分(_start?

elf
回答 1 投票 0

例子中的libelf缺少vis.h头

我想知道这里是否有人熟悉 "libelf by example "这本书。https:/www.dbooks.orglibelf-by-example-1587read 我试图运行prog2.c,但我找不到头vis.h(...

c elf
回答 1 投票 0

分析混淆的ELF二进制文件

我正在尝试调试带有奇怪魔术字节的ELF $ xxd binary |头-2 00000000:7f45 4c46 4141 4141 4141 4141 4141 4141 .ELFAAAAAAAAAAAA 00000010:0300 0300 0100 0000 0010 0000 3400 0000 .........

回答 1 投票 0

使用libelf在ELF文件中插入.preinit_array节

我有以下简单的hello-world程序,它使用gcc在标准的elf二进制文件中编译:#include void hello(){printf(“ Preinit hello!\ n”); } int main(){printf(“ Hello ...

回答 1 投票 0

ELF文件编译器标记

我在一个ELF文件中找到了此编译器标记:GCC:(Ubuntu 5.3.0-4ubuntu1〜1.04.11)5.4.020160622。有人可以告诉我我可以收集哪些信息?例如末尾的时间戳。什么是...

回答 1 投票 1

如何在ELF标头中嵌入机器代码?错误:执行格式错误

根据本教程:http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html,我可以将这段代码嵌入elf头文件结构中。之前的一步,我的代码和elf标头...

回答 1 投票 1

如何通过nasm将源代码嵌入elf头文件中?错误:执行格式错误

根据本教程:http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html,我可以将这段代码嵌入elf头文件结构中。之前的一步,我的代码和elf标头...

回答 1 投票 1

Capstone不会通过INVALID指令反汇编

我正在使用capstone来分解ELF二进制文件,我注意到当它打印出指令时,它会在无效指令处停止,并且不会继续。我注意到停止指令...

回答 1 投票 0

Linux elf .bss节的内存成本

## #include typedef struct {char a [1024]; } AA;静态Aa a [102400]; int main(int argc,char ** argv){getchar(); memset(a,0,sizeof(a)/ 2); ... ] >>

回答 1 投票 0

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