Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
在加载的 ELF(.so 共享库)中挂钩并替换导出函数
我正在编写一些 C 代码来将 so ELF 共享库 的某些函数加载到内存中 我的 C 代码应该能够重定向另一个加载到应用程序 程序内存中的 so 库的导出函数 这里有一些详细说明 Android 应用程序将加载多个 so 文件 我的 C 代
c
Linux
sharedlibraries
ELF
symboltable
从共享对象调用主可执行文件中的函数
我必须从加载了 LD PRELOAD 的共享库调用主可执行文件中的函数 可执行文件导出所有符号并包含调试信息 不幸的是我无法访问它的源代码 目前 我在尝试加载该共享库时遇到未定义的符号错误 有没有办法做到这一点 附 目标平台是FreeBSD
c
POSIX
FreeBSD
ELF
-fPIC 仅适用于共享库吗?
I know fPIC对于共享库是必要的并且知道为什么 不过 我对这个问题并不清楚 Should fPIC在构建可执行文件或静态库期间永远不会使用 Should fPIC在构建可执行文件或静态库期间永远不会使用 从不是一个很强烈的词 上面的
c
gcc
Compilation
ELF
我如何知道 ELF 目标文件中的调试信息是什么类型?
我有一个 ELF 目标文件 我想知道它包含哪种类型的调试信息 它是用针对 PPC 架构的 Diab 编译器 C 源代码 编译的 我很确定它是用调试符号构建的 我尝试使用提取调试信息dwarfdump但我不工作 所以我猜调试信息不 是 DWA
c
ELF
debugsymbols
powerpc
elf 格式的可执行文件和可重定位文件有什么区别?
elf 格式的可执行文件和 elf 格式的可重定位文件有什么区别 如您所知 每个编译后的可执行文件都是具有相对地址和绝对地址的二进制文件 因此可重定位格式是一种格式 其中函数和其他符号仍然具有名称定义 换句话说 函数和变量不绑定到任何特定地
ELF
从 ELF 目标文件转储 C 结构大小
如何使用调试符号从 ELF 目标文件中提取所有 C 结构的大小 可以使用 print sizeof some struct 从 GDB 获取各个结构大小 但我需要的是获取所有结构的列表 我查看了 nm 和 objdump 但没有看到执行我正
c
struct
size
ELF
如何加载共享库而不加载其依赖项?
说我有一个图书馆libfoo so 1 这取决于 根据ldd on libbar so 1 然而 libbar so 1目前不可用 我的应用程序需要调用一个函数libfoo so 1这不需要libbar so 1 at all 有没有办法加
c
Linux
sharedlibraries
ELF
如何获取结构“Elf64_Rela”中的符号名称
include
c
ELF
ldd
nm
readelf
ARM ELF 对象内的函数大小不正确
readelf 目标文件的输出 Symbol table symtab contains 15 entries Num Value Size Type Bind Vis Ndx Name 0 00000000 0 NOTYPE LOCAL
arm
ELF
readelf
如何找到带有标题信息的 ELF 文件/图像的大小?
我需要找到精灵图像的大小进行一些计算 我尝试过在 Linux 上使用 readelf 实用程序 它提供了有关标题和部分的信息 我需要知道精灵的确切文件大小 总体而言 如何从标题信息中找到 ELF 的大小 或者是否有其他方法可以在不读取完整图
Linux
filesize
ELF
如何解释elf符号表部分的st_info字段
The man page http manpages ubuntu com manpages xenial man5 elf 5 html有这样说 st info This member specifies the symbol s typ
ELF
symboltable
为什么ELF的vaddr没有页面对齐?
我正在尝试构建一个类似 xv6 的系统 并且我正在复制下面的 xv6 代码 if ph p vaddr PGSIZE cprintf exec addr not page aligned n goto bad 这是ELF被加载到内存的部分
c
exec
ELF
xv6
ELF 中的字符串表
我得到一些符号 并得到一个 ELF 文件 的十六进制转储 我怎样才能知道这个符号出现在哪个部分 有什么区别 strtab and shstrtab 是否还有另一个符号字符串数组 当我获得符号名称表的索引时 它是 strtab or in s
ELF
StringTable
裸机 RISC-V CPU - 处理器如何知道从哪个地址开始获取指令?
我正在设计自己的 RISC V CPU 并且已经能够实现一些指令代码 我已经安装了 RV32I 版本的 GCC 编译器 所以我现在有了汇编器riscv32 unknown elf as可用的 我正在尝试仅用一条指令来汇编一个程序 simpl
Assembly
cpuarchitecture
ELF
RISCV
riscv32
如何理解重定位部分“.rela.plt”的字段
我试图了解 Linux 上共享库的动态链接 给出重定位部分 rela plt 的以下转储 Offset Info Type Sym Value Sym Name Addend 000000373f68 0f8300000007 R X86
c
Linker
sharedlibraries
ELF
dynamiclinking
linux下如何将PE(Portable Executable)格式转换为ELF
将 PE 二进制文件转换为 ELF 二进制文件的最佳工具是什么 以下是这个问题的简要动机 假设我有一个简单的 C 程序 我使用 Linux 的 gcc 编译它 这给出了 ELF 并使用 Windows 的 i586 mingw32msvc
Linux
Binary
ELF
portableexecutable
readelf -S 输出中的 ES、Lk、Inf 和 Al 列标题的含义是什么?
在输出中readelf S 我想知道列标题是什么ES Lk Inf and Al mean 例如 Section Headers Nr Name Type Addr Off Size ES Flg Lk Inf Al 0 NULL 0000
ELF
关于 DSO 引用隐藏符号的警告究竟意味着什么?
我在将某些共享库与 g 链接时遇到问题 它给了我这样的警告 hidden symbol XXX in YYY is referenced by DSO usr lib 我已经阅读了一些有关特定问题的相关问题 但我想从整体上理解它 这个警告是
c
gcc
Linker
sharedlibraries
ELF
之间的用法差异。 a.out、.ELF、.EXE 和 .COFF
请不要看问题标题误会我的意思 我知道它们是什么 可移植可执行文件的格式 但我的兴趣范围略有不同 我的困惑 我参与了最初来自第三方的重新托管 重定向应用程序 问题是 有时目标代码的格式也是 elf COFF 格式 但仍然显示 可执行且可链接
Linker
executable
ELF
COFF
Arm:objcopy 如何知道 elf 中的哪些部分要包含在二进制或 ihex 中?
我正在开发一个项目 其中涉及解析arm elf 文件并从中提取部分 显然 elf 文件中有很多部分没有加载到闪存中 但我想知道 objcopy 到底如何知道要在二进制文件中包含哪些部分以直接闪存到闪存中 以arm elf文件的以下reade
c
Linker
Embedded
STM32
ELF
«
1
2
3
4
5
6
7
»