Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
Linux 上的可执行格式列表 [关闭]
Closed 这个问题不符合堆栈溢出指南 目前不接受答案 在哪里可以找到 Linux 系统上批准 支持的可执行格式的列表 我期待找到一个包含以下内容的列表ELF Shebang a outETC 我已经知道我可以找到 proc sys fs
Linux
format
executable
ELF
我想知道如果系统上的 aslr 关闭,pie 是否会执行任何操作?还是pie依赖于aslr?
我还想知道 pie 和 aslr 在内存中的作用是什么 据我所知 aslr 随机化 libc 基地址 堆栈和堆的地址 饼图随机化 elf 基数 并使用 text data bss rodata 这是正确的还是我理解错了 PIE 需要与位置无
Linux
Assembly
executable
ELF
positionindependentcode
有没有办法将 Linux 共享库加载到特定的内存位置?
我有一个 Linux 应用程序 它在运行时加载非常小的 一些小函数 共享库 由于各种重要原因 我需要将共享库加载到特定的虚拟内存范围 然而 dlopen 没有提供任何方法 我可以看到 来告诉它或提示它 将其加载的内容放在哪里 有没有办法告诉
c
Linux
ELF
dlopen
GDB 符号从哪里来?
当我加载 Fedora 28 时 usr bin ls文件导入GDB 我可以访问该符号abformat init 即使它不作为字符串存在 也不存在于二进制文件的符号表中 file usr bin ls usr bin ls ELF 64 b
Linux
GDB
symbols
ELF
如何找到 PIE 二进制文件的加载重定位?
我需要获取正在运行的进程中堆栈的基地址 这将使我能够打印 addr2line 可以理解的原始堆栈跟踪 运行的二进制文件被剥离 但 addr2line 可以访问符号 我设法通过检查 elf header 来做到这一点argv 0 我读取入口点
c
Linux
ELF
aslr
positionindependentcode
是否存在与 PE 基址重定位等效的 ELF?
我一直在研究一些 ELF 二进制文件的反汇编 我注意到了这一点 0000000000401020 lt start gt 401020 31 ed xor ebp ebp 401022 49 89 d1 mov r9 rdx 401025
x86
ELF
portableexecutable
relocation
我的 Linux 可执行程序(64 位)中的段 00 是什么
这是一个非常简单的汇编程序 只需返回12执行后 cat a asm global start section text start mov rax 60 system call for exit mov rdi 12 exit code 1
Linux
Assembly
Linker
ld
ELF
使用 C 结构成员的连续内存
在将其标记为重复之前 请先阅读问题 所以这可能是一个潜在的非常愚蠢的问题 但它困扰着我 我从阅读以及许多其他问题中知道 由于编译器添加的填充 C 结构中的字段不能保证是连续的 例如 根据C标准 13 在结构体对象中 非位域成员和位域所在的单
c
unix
struct
system
ELF
打印节标题的精灵名称
我有一个 C 程序 我想在其中打印输入文件的节标题的名称 我所做的一切都是基于研究 ELF 表示法 并帮助解决了互联网上现有的程序 但它仍然不起作用 它只打印 for 循环中的索引 其中也应该是节名称 有人看到我错过的东西吗 更新 我更新了
c
Linux
ELF
如何在cygwin上运行ELF二进制文件
我是 cygwin 的新手 但遇到了一些麻烦 我有 Linux ELF 编译的二进制文件 有没有办法在 cygwin 下以简单的方式午餐它 例如 Windows 二进制文件 a exe from https www cygwin com C
Cygwin
ELF
.plt .plt.got 有什么不同?
plt 在 RE 可用段中 蹦床功能位于plt n 除 0 外 got plt 解析器链接位于plt 0 got got plt 在可读写段中 只需地址 我从这篇文章中了解到 https eli thegreenplace net 2011
Assembly
x8664
ELF
dynamiclinking
每个 CPU 架构的真正 ELF TLS ABI 要求是什么?
乌尔里希 德雷珀的论文on thread local storage 概述了几种不同 cpu 架构的 TLS ABI 但我发现它不足以作为实现 TLS 的基础 原因有两个 它省略了许多重要的体系结构 如 ARM MIPS 等 同时包括一堆完
c
Linux
ELF
ABI
threadlocalstorage
ELF文件格式如何定义堆栈?
我正在研究 ELF 文件格式 因此我编译了一个小程序 从生成的可执行文件中转储了节标题及其内容 ELF 标头包含入口点地址 该地址指向 text 部分的开头 我还找到了包含静态数据的 data 部分和包含只读数据的 rodata 我希望也有
Linux
ELF
如何解释 ELF 可执行文件中的动态符号表?
我正在考虑解释动态符号表 dynsym 的 ELF 可执行文件 我可以成功解释符号表 symtab 每个符号 16 个字节 使用value属性来表示符号的地址和name属性表示字符串开头的偏移量 strtab部分 但我无法解释动态符号表 d
Dynamic
ELF
symboltable
使用 $ORIGIN 指定 ELF 二进制文件中的解释器不起作用
我在用着patchelf修改 rpath 和已编译二进制文件的解释器 对 patchelf 的调用如下所示 patchelf set interpreter ORIGIN lib ld linux x86 64 so 2 set rpath
Linux
Linker
ELF
如何使用 objdump 反汇编单个函数?
我的系统上安装了一个二进制文件 并且想查看给定函数的反汇编 最好使用objdump 但其他解决方案也是可以接受的 From 这个问题我了解到 如果我只知道边界地址 我也许能够反汇编部分代码 从这个答案我已经学会了如何将分割的调试符号转回单个
ELF
debugsymbols
disassembly
objdump
dwarf
ELF 可执行文件中 .dynamic .dynsym 和 .dynstr 之间的区别
我的初步了解是 dynamic包含可执行文件需要加载的库 dynsym包含外部符号 例如setsockopt GLIBC 2 0 dynstr包含功能需求字符串 总的来说 我对这些部分如何一起创建二进制文件有点困惑 特别是 dynsym a
Linux
x86
ELF
如何制作静态链接ELF文件来加载LD_PRELOAD .so
我有静态链接的二进制文件 ELF 文件 它没有动态段 dymsym 部分 并且不执行 LD PRELOAD 命令等 我如何创建假虚拟动态段来激活动态加载程序并执行 LD PRELOAD 命令 我如何创建假虚拟动态段来激活动态加载程序并执行
Linux
loader
ELF
ldpreload
.rodata 部分加载到可执行页面中
所以出于好奇 我今天尝试运行这段代码 用gcc m32 1 c int main void EB is the opcode for jmp rel 8 FE is hex for 2 So this is essentially an i
Linux
x86
Paging
ELF
ELF动态加载器符号查找排序
解析动态重定位时符号查找的搜索顺序是什么 当解析共享库的符号时 加载程序首先在 主可执行文件 中搜索 以让主可执行文件覆盖定义 还是什么 根据我的理解 每个可执行对象都有自己的 查找范围 主可执行文件通常是 全局 查找范围中的第一个对象 这
Linux
gcc
ld
ELF
binutils
«
1
2
3
4
5
6
7
»