Linux x64下调试汇编代码

2019-01-08  本文已影响0人  静析机言

1、将下述代码存储为sh.s,其功能为执行/bin/sh

section .text

  global _start

    _start:

      push rax

      xor rdx, rdx

      xor rsi, rsi

      mov rbx,'/bin//sh'

      push rbx

      push rsp

      pop rdi

      mov al, 59

      syscall

2、用nasm编译执行

nasm -f elf64 -F stabs sh.s -o sh.o

ld sh.o -o sh

备注-F stabs让assembler给输出文件包含调试信息。因此,gdb之后就能调试了

3、gdb调试sh,下面的演示假设安装了pwndbg。

设置断点

然后,按n执行下一步,i r rdx等来查看寄存器

不断按n,时刻查看寄存器、堆栈和内存,一直执行到程序结束。

上一篇下一篇

猜你喜欢

热点阅读