为什么将外部变量添加到.dynsym表中?
从我对.dynsym的理解中,它应该包含外部程序应可见的符号。我尝试了一个包含此行的简单程序: extern int global = 1000; 我认为可执行文件将在其.dyn…
将精灵条目添加到gnu efi中的功能中
如何将ELF64_EHDR.E_ENTRY施加到功能中? 例如: void(*kernel_function)()=(void(*)())*kernel_entry_point; 当前代码: (标题是ELF64_EH…
错误/lib/x86_64-linux-gnu/libc.so.6:版本`glibc_2.34'未找到
首先,我的Google很多,但是没有发现与案件有关的没有任何相关的内容,我有一个我想在Ubuntu WSL中运行的精灵可执行文件,我更改了权限(> CHMOD +CHM…
为什么nm隐藏.rela.eh_frame和.rela.text。
我正在尝试在C中重新创建命令 nm 的行为,尽管我成功地获取了符号和部分的名称,但我发现我的版本中出现了一些额外的名称。 $> ./my_nm -a obj.o …
如何修改字节字符串?
假设我在python中有以下精灵文件: >>> data=open('file','rb').read() >>> data b'\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x0…
python文件到任何操作系统的可判别文件
现在,我使用TKINTER创建了一个应该在PC中使用的python应用程序,但是我正在使用Windows,因此我将.py文件执行到.exe。 我现在的问题是我创建的程序需…
小精灵文件如何确定每个段的偏移值?
这是我完成的命令: readelf -l helloworld 这是输出: Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align PHDR 0x0000000…
为什么标题中的单身人士不适用于Windows/Mingw?
以下是我的 PoC 代码: ah: 它实现了一个单例方法来创建 A 实例 #pragma once class A { public: int a; static A& Instance() { static A a; return …
如何使用 C 从 ELF 二进制文件中获取符号名称?
我正在尝试使用下面的两个函数从 ELF 二进制文件中读取符号名称, 但我不知道这是否是正确的方法。 Elf64_Shdr *get_shdr(void *ptr, char *name) 函…
什么是古巴的独特ID(cuda二进制)
对于常见的 elf 二进制文件,可以使用 readelf -n 来获取唯一的 build id,如下所示: $ readelf -n matrix Displaying notes found in: .note.gnu.bu…
有没有一种简单的方法来区分哪个 C++类是从共享对象库中抽象出来的吗?
我目前正在编写一个包含一些抽象类的库。除了检查库是否编译之外,我还想确保所有纯虚方法都已在旨在具体的类中定义。我曾希望能够从 nm 或 objdump …
readelf -sD 和 readelf --dyn-syms 有什么区别
从Readelf的manpage中,我可以看到, --dyn-syms Display the dynamic symbol table -s --syms Display the symbol table -D --use-dynamic Use the d…
如何正确使用 -fPIC 和 -fPIE GCC 选项
我有这样的目录结构, dir1 one.c two.c dir2 three_main.c four.c 我需要在 dir1 中创建一个共享库 libdir1.so 。 并且可执行 my_exe 在 dir2 中的所…
va_args不接受C中的签名整数
我正在使用C设计内核。在制作 kprintf 函数( printf 之类的函数)时,我看到了签名的整数(精确的数据类型是 long ), va_args 将它们转换为无签名…