objdump 相关问题

objdump是用于显示有关目标文件的各种信息的程序。例如,它可以用作反汇编程序以查看汇编形式的可执行文件。它是GNU Binutils的一部分,用于对可执行文件和其他二进制数据进行细粒度控制。

如何使用二进制文件更新 ELF 文件中的部分

我正在使用 stm32cubeIDE 并尝试在二进制文件末尾存储 crc 以用于更新目的。我使用此方法是因为否则调试将无法工作,我必须将 .crc 区域标记为 NOLOA...

回答 1 投票 0

为什么在运行时打印变量地址给出的值与可执行文件中该变量的位置不同?

当我使用 %p 打印变量的地址时,我得到一个非常大的 12 位十六进制值。但是,当我使用 objdump 查看可执行文件的实际布局时,该变量位于...

回答 1 投票 0

Objdump 无法检测到符号

我有一个共享库/opt/evince-3.28.4/lib/evince/4/backends/libpdfdocument.so。在GDB中,我可以轻松地检测到该库的偏移量0xa830处的函数,如下所示: (gdb) 迪萨斯 0xa830 转储

回答 1 投票 0

为什么我的程序的 objdump -D 看起来与 .S 不一样

我正在学习 C++ 的工具链并尝试 objdump。 从 objdump 反汇编的文件甚至没有“Hello World”一词。这是为什么?是不是一点都不靠谱?

回答 1 投票 0

为什么我在反汇编输出中看到条件跳转到相对偏移量零(也称为跳转到下一条指令)?

背景:我知道——或者至少知道——这个问题的答案;我将其发布在这里是因为几个小时前,当我没有这样做时,我无法通过搜索这些关键字找到任何内容。 有时...

回答 1 投票 0

可执行文件的每个字节是否在虚拟内存中分配了一个地址,从基地址开始?

当一个可执行文件在Linux中启动时,整个可执行文件是如何在虚拟内存中分配地址的? 我运行了“objdump -d bin”,它给了我如下输出: 11b0 ...

回答 1 投票 0

如何将 rust 源交错到程序集,就像 `objdump -S` 对 C 所做的那样?

我正在尝试将 Rust 源代码交错到程序集中,就像我能够在从 C 代码生成的 上使用 objdump -S 一样。根据 rust-lang 论坛中的内容,运行 objdump...

回答 1 投票 0

共享库中未定义函数,但目标文件中未定义函数

我有一个共享库,当通过 nm 调用时,会显示 strerror@@GLIBC_2.2.5 的未定义符号。 但是,当我查看生成此共享库的所有目标文件时,...

回答 1 投票 0

llvm objdump:尽管使用了 --source,但生成的汇编程序并未与 C 源代码混合。为什么?

在 macOS Sonoma 上使用 Apple LLVM objdump 和 --source objdump 选项时,我似乎无法生成混合 C 源代码和汇编程序的汇编程序。 我缺少什么? 环境: 操作系统:macOS

回答 1 投票 0

llvm-objdump 相当于 aarch64-none-linux-gnu-objdump

假设我将四个字节放入一个文件中,然后使用 GNU 工具链反汇编它: -bash$ echo -en '\x1f\x20\x03\xd5' > ./myFile -bash$ aarch64-none-linux-gnu-objdump -m AARCH64 -b 二进制 -D ./

回答 1 投票 0

在 x86-64 上编码“MOV EAX,moffs32”

我在尝试理解 x86-64 时偶然发现了“MOV EAX, moffs32”指令。 据我所知,这条指令将被编码(moffs32 为 0x12345678)为 j...

回答 1 投票 0

使用 objdump 反汇编 Linux 内核

如果我尝试反汇编Linux内核,由于Linux elf-binary很大,所以需要相当长的时间。 有没有办法只解除函数或符号,例如 start_kernel 函数? 什...

回答 3 投票 0

Binutils objdump 报告 COFF 对象中的节大小不正确

Linux 上的 objdump 工具(GNU Binutils 的一部分)似乎错误地显示了 COFF 目标文件的部分大小。例如,.bss 部分的大小应该是 0x130,但是 objd...

回答 1 投票 0

在Python程序中获取共享库soname

我正在使用 ctypes 为共享 Linux 库编写一个 Python 包装器。有没有某种方法可以以编程方式提取库的soname(例如,可能通过某些库来访问其ELF数据)...

回答 3 投票 0

Cargo objdump 不显示任何二进制文件

我有一个 STM32F446 微控制器,我观看了一些有关入门的不同视频,并尝试尽我所能地遵循它们(当然没有一个适合我的确切设置,所以我有

回答 1 投票 0

Cargo objdump 不显示任何二进制文件 - Rust

我最近开始尝试学习嵌入式 Rust,并拥有一个 STM32F446 微控制器。我观看了一些有关入门的不同视频,并尝试尽我所能地关注它们......

回答 1 投票 0

C 中的间接函数调用,无需使用缓冲区溢出进行显式调用

我正在做一个 C 编程练习,我需要间接调用一个函数,而不是通过名称或通过用户输入对其进行显式调用。挑战在于了解如何控制...

回答 1 投票 0

从调试信息中检索变量类型

考虑: int x[] = {1, 2, 3}; int main(){ 返回0; } 如果我们对数据部分进行 objdump,我们将得到变量 x,其起始地址和大小为 (4*3) 字节。有没有...

回答 1 投票 0

共享对象的rodata部分中字符串文字的行为

#包括 #包括 #define CONFDIR "/opt/hp9300/pov64_IworkspaceIdocpv989Ieightonews-r7.6-dev_tests-000001" #define NEW_CONFDIR "/etc" CONFDIR /...

回答 1 投票 0

Shellcode 执行错误 C 中的分段错误

我尝试在c中执行shellcode。但我遇到了分段错误错误。 我在Kali Linux虚拟机上尝试过。 shellcode的目的是将hello shellcode打印到屏幕上 这是我的代码: //

回答 1 投票 0

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