如何查看机器码?

2023-12-04

我已经用汇编语言(at&t 语法)编写了一个程序,我想看看机器代码的外观。这就是我获取可执行代码的方式:

as -g -o p1.o p1.s --32 -gstabs
ld -o p1 p1.o -m elf_i386

假设您在 Linux 或 BSD 平台上(基于您正在使用的事实)as),你可能想尝试objdump.

objdump -d <binary file>将反汇编目标文件,在左侧显示机器代码十六进制字节,在右侧显示反汇编的匹配程序集助记符。这是一个例子:

$ objdump -d factorial

factorial:     file format elf64-x86-64

Disassembly of section .init:

00000000004003f0 :
  4003f0:   48 83 ec 08             sub    $0x8,%rsp
  4003f4:   e8 73 00 00 00          callq  40046c
  ..
Disassembly of section .plt:

0000000000400408 :
  400408:   ff 35 e2 0b 20 00       pushq  0x200be2(%rip)        # 600ff0
  40040e:   ff 25 e4 0b 20 00       jmpq   *0x200be4(%rip)        # 600ff8
  400414:   0f 1f 40 00             nopl   0x0(%rax)

objdump是的一部分binutilsLinux 平台上的包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何查看机器码? 的相关文章

随机推荐

  • 如何使用golang的模板实现级联下拉菜单

    设想 我有一个级联场景 其中第二个下拉列表中的值取决于第一个 我有三个模板 布局 输入 和 内部 Attempt 我正在对 输入 模板中第一个下拉列表的更改进行ajax调用 并坚持处理返回的响应 目前我找到了一种通过替换第二个下拉列表的 h
  • 如何获取 JavaScript 中所有可能的字符?

    假设 JavaScript 中的所有字符都是a b c d e and f 我想做的是在字符之间创建随机映射 所以上面的内容可能是这样的 a e b b c e d b e a f c 首先 如何获取 JavaScript 中所有可能的字符
  • ios 8 交互式通知不显示操作

    这是我为 ios8 注册交互式通知的代码 void registerInteractiveNotifications UIMutableUserNotificationCategory corideInviteCategory self c
  • 不可变对象和延迟初始化。

    http www javapractices com topic TopicAction do Id 29 上面是我正在看的文章 不可变对象极大地简化了您的程序 因为它们 允许 hashCode 使用延迟初始化 并缓存其返回值 谁能帮我解释
  • 具有架构优化的 Docker 镜像?

    一些库 例如 BLAS LAPACK 或某些优化库 会在编译时针对本地计算机架构进行优化 让我们以 OpenBlas 为例 使用 OpenBlas 创建 Docker 容器有两种方法 使用 Dockerfile 在其中指定 OpenBlas
  • 什么是替代 BinaryFormatter 的良好内存保护序列化器? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我正在使用 Net v3 5 和 C Visual Studio 2008 来处理一个大型应用程序 该应用程序使用BinaryFormatter创建数据文件 Stream stream F
  • 神经网络精度优化

    我在 keras 中构建了一个 ANN 它有 1 个输入层 3 个输入 1 个输出层 1 个输出 和两个隐藏层 分别有 12 个和 3 个节点 我构建和训练网络的方式是 from keras models import Sequential
  • 如何停止nsthread

    我正在使用线程在应用程序的后台更新消息 该线程在我的消息类中启动 消息 m timerThread NSThread alloc initWithTarget self selector selector startTimerThread
  • 克隆密码中带有斜杠的存储库

    克隆存储库可以通过以下方式完成 git clone https username email protected username repository git 但是 当密码包含正斜杠时 这不起作用 错误是 error Couldn t r
  • 无法执行目标 org.codehaus.mojo:exec-maven-plugin:1.6.0:java

    我正在尝试使用 pom xml 文件执行 testNG 主类 方法是使用以下命令Maven 运行配置 exec java Dexec mainClass com selenium controls TestNGMainClass 在这里 我
  • 插入带有标签的行时的 Tkinter Treeview 问题

    我刚刚从 python 3 6 切换到 python 3 7 我有一个函数 可以在 Treeview 树中插入带有标签的行 这些标签用于为插入到树中的行提供前景色和背景色 当我使用 python 3 6 时 我的代码工作正常 一旦我切换到
  • 使用 Discord.js 使用 Discord 机器人将语音频道中的所有人静音

    我本来想在我的机器人不和谐中添加一个功能 当我启动订单时 可以改变语音休息室中的每个人 但我不知道如何做 我的机器人是使用 Node js 和 Discord js 进行编程的 有人能帮我吗 谢谢 我的代码 const Discord re
  • Spring security oauth2 登录和资源服务器在同一应用程序中

    我有一个应用程序 用户 应用程序可以使用 OpenID 提供商或 JWT 令牌进行身份验证 这是我的 spring 安全配置类 EnableWebSecurity public class SecurityConfiguration ext
  • 在createStore之前加载数据

    我创建了一些 React 文件 其中初始化了 Redux 存储 但是 我确实需要在初始化存储之前从 json 文件加载一些数据 我尝试导入一个加载 json 结构的脚本 然后将其分配给 createStore 初始状态值 但 createS
  • 从 Laravel 为 iOS AvPlayer 提供 mp3 文件

    我可以从控制器提供我的 mp3 文件 但从我的控 制器提供的文件不会在 ios AvPlayer 中播放 使用 url 我确信我的客户端代码没问题 因为它可以播放其他服务器上的歌曲 您也可以从我最后编写的链接检查我的服务器 并看到我的控制器
  • 为什么 Firefox 不显示正确的默认选择选项?

    我正在制作一个网络应用程序来管理产品 SKUS 其中一部分是将 SKU 与产品名称相关联 在表格的每一行上 我列出一个 SKU 并显示
  • GUI中如何刷图然后保存刷过的数据?

    我读过几篇关于如何保存刷过的数据的帖子 但是 在尝试这些帖子上的建议时 this this this this and this 它们似乎都不起作用 我在尝试这些建议时遇到的问题之一是 程序一直运行到最后才没有刷到任何数据 因此 保存的数据
  • 使用 OpenGL 和顶点数组对象渲染两个对象

    我正在尝试使用带有着色器的 OpenGL 在屏幕上渲染两个三角形 一个大的红色的 一个小的蓝色的 每个三角形由一组顶点位置和颜色以及一组顶点索引定义 我为每个三角形使用不同的顶点数组对象 下面是我的代码 我已将其简化为最小的可编译示例 但仍
  • 同步 HTTPS POST 请求 iOS

    对于 Android 我可以通过以下方式发送 POST 请求 HttpClient http new DefaultHttpClient HttpPost request new HttpPost https somewebsite com
  • 如何查看机器码?

    我已经用汇编语言 at t 语法 编写了一个程序 我想看看机器代码的外观 这就是我获取可执行代码的方式 as g o p1 o p1 s 32 gstabs ld o p1 p1 o m elf i386 假设您在 Linux 或 BSD