Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
访问附加到 ELF 二进制文件的数据
我有一个静态 ELF 二进制文件 它从 zip 文件中读取数据 为了简化分发 我想将 zip 文件附加到二进制文件中 如下所示 cat mydata zip gt gt mybinary 我知道这样做不会损坏 mybinary 但我不知道如
Linux
gcc
Build
ELF
符号查找错误未定义符号,但所有符号似乎都存在
可执行文件似乎无法解析链接库中的符号 LD DEBUG libs 的相关输出表明加载了正确的库 6557 usr lib libcharon so 0 error symbol lookup error undefined symbol a
Linux
ld
ELF
加载linux内核的基地址
我对内核如何加载到内存有一些疑问 检查后 proc kallsyms我能够找到内核中各种符号的地址 cat proc kallsyms head n 10 00000000 t vectors start 80008240 T asm do
Linux
Linuxkernel
kernelmodule
ELF
virtualmemory
objdump 输出中的“Algn”2**2 和 2**0 意味着什么?
下面的文件中这是什么意思 2 2 and 2 0 objdump h main o main o file format elf32 i386 Sections Idx Name Size VMA LMA File off Algn 0 t
c
ELF
objdump
为什么 Linux/gnu 链接器选择地址 0x400000?
我正在 Linux x86 64 上试验 ELF 可执行文件和 gnu 工具链 我已经链接并剥离 手动 Hello World 测试 global start text start mov 1 rax 转换为 267 字节 ELF64 可执
Linux
x86
x8664
ld
ELF
静态库 (.a) 和共享库 (.so) 之间的文件格式差异?
我知道关于共享库和静态库的用例有很多问题 这个问题与此无关 我问的是磁盘上存储的文件格式的差异 为什么问题是 两者之间有什么区别 或者它们完全相同 只是用途不同 我相信它们是不一样的 因为在共享库上运行 nm 需要 D 标志 显然它需要做一
Linux
Linker
sharedlibraries
staticlibraries
ELF
在运行时访问 build-id
我试图弄清楚如何访问链接器在运行时生成的构建 ID 从这个页面开始 https linux die net man 1 ld https linux die net man 1 ld 当我构建一个测试程序时 例如 gcc test c o
c
gcc
Linker
ELF
linkerscripts
读取 ELF 部分的内容(以编程方式)
我正在尝试检索 ELF 二进制文件中附加部分的内容 此时 我使用以下代码来检索每个部分的名称 include
c
Linux
file
Ubuntu
ELF
我可以执行驻留在数据段(ELF 二进制)中的代码吗?
在理解二进制文件 虚拟内存布局 执行 等 的方式中 我写了一个C声明一个全局字符串的代码 其中包含可执行代码的字节 然后我覆盖了返回地址main 通过声明一个指针 PTR in main 这是保留在堆栈上的本地内存区域 距离返回地址较远 2
c
memory
segmentationfault
ELF
Shellcode
GCC-汇编错误:针对“.data”重定位 R_X86_64_32S
情况 环境 Arch Linux x86 64 4 2 3 1 ARCH GCC 海湾合作委员会 海湾合作委员会 5 2 0 Command gcc Wall g o asm printf asm printf s Error usr bi
gcc
Assembly
Linker
ELF
relocation
将ELF文件加载到内存中
我正在尝试将 elf 文件放入内存然后执行它 步骤如下 1 要放入内存的文件 int main printf Hello world n return 0 2 编译它gcc o hello hello c static ELF Header
c
Assembly
static
arm
ELF
可用的 ELF 可执行文件需要哪些部分?
我正在创建一个 ELF 可执行文件 我需要知道操作系统需要哪些部分才能加载和执行它 Details OS Ubuntu 10 04 64 bit Kernel version 2 6 32 24 Architecture i386 我意识到
ELF
executableformat
sections
__libc_start_main@plt 如何工作?
为了研究目标文件在linux中是如何加载和运行的 我制作了最简单的c代码 文件名为simple c int main 接下来 我创建目标文件并将目标文件另存为文本文件 gcc simple c objdump xD a out gt sim
Linux
gcc
dynamiclinking
x86
ELF
ELF的基址
我正在尝试查找 ELF 文件的基地址 我知道您可以使用 readelf 来查找程序入口点和不同部分的详细信息 基址 大小 标志等 例如 x86 架构的程序通过链接器基于 0x8048000 使用 readelf 我可以看到程序入口点 但输出
Linux
ELF
arm gcc工具链为arm-elf或arm-none-eabi,有什么区别?
当您构建 gcc 工具链时 可以将其构建为arm elf 或arm none eabi 但是有什么区别呢 我今天使用 eabi 但这只是因为其他人似乎都这样做 但由于这是一个非常糟糕的论点 因此理解其中的差异真的很高兴 注意 此工具链将为基
gcc
arm
ELF
cortexM
eabi
汇编部分 .code 和 .text 的行为不同
我是装配新手 从我所学到的 code与 text 但是使用下面的代码会崩溃 code segment data msg db hello world 0xa len equ msg section text global start sta
Assembly
x8664
nasm
ELF
Linux 上 C 语言中字符数组和指针的分段错误
所以我有以下程序 int main char one computer char two another two 1 b one 1 b return 0 它在 one 1 b 行上出现段错误 这是有道理的 因为指针 one 指向的内存必须
c
Linux
segmentationfault
ELF
将文件打包为 ELF 可执行文件
我目前正在寻找一种将数据添加到已编译的 ELF 可执行文件中的方法 即将文件嵌入到可执行文件中而不需要重新编译它 我可以通过使用轻松做到这一点cat myexe mydata gt myexe with mydata 但我无法访问可执行文件
Binary
EMBED
fileformat
ELF
编辑 ELF 文件中的变量值?
我需要更改已编译的 ELF 文件中的几个变量 为了清楚地解释这一点 我将使用一个简单的 C 结构作为示例 单个源文件被编译并从 MyFile c 链接 0x1000 到 MyFile elf typedef struct uint32 t
c
ELF
objcopy
将自定义数据嵌入到不会被 ld.so 映射的 ELF 文件中
我有一个 500MB 的文件 其中包含一些自定义数据 即 ZIP 存档 我想将它嵌入到我的 ELF 可执行文件中 这样当我分发 ELF 文件时 我将只能发送 1 个文件而不是 2 个文件 问题是我不希望在我的应用程序启动时操作系统自动加载这
executable
ELF
1
2
3
4
5
6
7
»