汇编获取二进制

文章目录


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
相关推荐
浩浩测试一下8 小时前
汇编 标志位寄存器 (逆向分析 )
c语言·汇编·逆向·windows编程·标志寄存器
浩浩测试一下8 小时前
汇编 数组与串指令(逆向分析)
汇编·逆向·二进制·免杀·串指令·汇编数组
浩浩测试一下13 小时前
汇编 内联汇编与混合编程 (逆向分析)
汇编·混合编程·windows编程·内联汇编·二进制逆向·c语言混合汇编
浩浩测试一下16 小时前
汇编 结构体与宏
汇编··免杀·结构体·windows编程·逆向二进制
浩浩测试一下1 天前
汇编中的JCC指令 (逆向分析)
汇编·逆向·标志位·jcc指令·跳转指令·标志位寄存器
浩浩测试一下1 天前
汇编中的段与段寄存器(大小)段序 (逆向分析)
汇编·逆向·二进制·字节序·windows编程·内存地址排序
浩浩测试一下2 天前
汇编 call与ret 函数与堆栈 (逆向分析)
汇编·push·函数·pop·call·ret·堆栈逆向
山屿落星辰2 天前
昇腾NPU算子开发:从“手写汇编“到“搭积木“
汇编
浩浩测试一下3 天前
汇编 汇编寻址 (逆向分析)
汇编·寻址·windows编程·二进制逆向·机器码
浩浩测试一下3 天前
汇编 位运算 (逆向分析)
汇编·逆向·位运算·asm·windows编程·二进制逆向