汇编获取二进制

文章目录


AT&T

  • mov_test.s
c 复制代码
mov $0,%r8d
  • gcc -c mov_test.s 输出 mov_test.o,
  • objdump -D mov_test.o 查看 mov_test.o:
c 复制代码
mov_test.o:     file format elf64-x86-64


Disassembly of section .text:

0000000000000000 <.text>:
   0:   41 b8 00 00 00 00       mov    $0x0,%r8d
  • mov_.S
cpp 复制代码
mov %r8d,0
nop
  • 执行命令: gcc -c mov_.S 会输出 mov_.o 文件:
  • objdump -D mov_.o :
c 复制代码
mov_.o:     文件格式 elf64-x86-64

Disassembly of section .text:

0000000000000000 <.text>:
   0:   44 89 04 25 00 00 00    mov    %r8d,0x0
   7:   00 
   8:   90                      nop
  • main.c:
c 复制代码
void main() {
}
  • 执行命令: gcc -S main.c 输出文件 main.s
  • main.s:
c 复制代码
       .file   "main.c"
        .text
        .globl  main
        .type   main, @function
main:
.LFB0:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        nop
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE0:
        .size   main, .-main
        .ident  "GCC: (Uos 8.3.0.3-3+rebuild) 8.3.0"
        .section        .note.GNU-stack,"",@progbits
  • doubao.s:
c 复制代码
section .text
    global _start

_start:
    ; 将 0 存入 r8d 寄存器
    mov r8d, 0

    ; 退出程序
    mov eax, 1
    xor ebx, ebx
    int 0x80    

asm

  • asm_test.c:
c 复制代码
#include <stdio.h>

int main() {
    int num = 10;
    __asm__ (
        "movl %1, %%eax\n\t"
        "movl %%eax, %0\n\t"
        : "=m" (num)
        : "r" (num)
        : "%eax"
    );
    printf("The value of num is: %d\n", num);
    return 0;
}

Intel

  • Intel 语法 mov_test.s 应改为
c 复制代码
mov  r8d,0
  • asm_test.c , 指定使用 Intel 语法,需要执行 gcc -masm=intel -S asm_test.c
相关推荐
fengye2071614 天前
板凳----------(枯藤 )vs2026+win10(第六章-4)
汇编
-曾牛4 天前
【汇编语言入门】从第一个加法程序吃透汇编核心基础
汇编·单片机·嵌入式硬件·汇编语言·病毒分析·lcx·逆向开发
切糕师学AI4 天前
ARM 汇编指令:ROR(循环右移)
汇编·arm开发
切糕师学AI4 天前
ARM 汇编指令:LSL(逻辑左移) 和 LSR(逻辑右移)
汇编·arm开发
草莓熊Lotso5 天前
Python 库使用全攻略:从标准库到第三方库(附实战案例)
运维·服务器·汇编·人工智能·经验分享·git·python
山峰哥6 天前
SQL优化中的索引策略与Explain分析实战
大数据·汇编·数据库·sql·编辑器
山峰哥7 天前
SQL调优实战指南:从索引设计到高并发场景优化全链路解析
大数据·汇编·数据库·sql·编辑器·区块链
fengye2071618 天前
板凳----------(枯藤 )vs2026+win10(第六章-2)
汇编
2501_918126918 天前
用Python开发一个三进制程序开发工具
开发语言·汇编·python·个人开发
黎雁·泠崖9 天前
Java底层探秘进阶:JIT汇编逐行拆解!Java方法栈帧与C语言深度对标
java·c语言·汇编