You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pwndbg/tests/binaries/host/stepuntilasm_x64.asm

46 lines
872 B
NASM

section .text
global _start
global break_here
global stop1
global stop2
global stop3
global stop4
_start:
break_here:
xor rax, rax
stop1:
nop ; Stop point #1: No operands
stop2:
xor rax, rax ; Stop point #2: Some simple operands
lea rax, [some_data]
stop3:
; Stop point #3: More complex operands.
mov qword [rax], 0x20
call loop
lea rax, [some_data]
stop4:
; Stop point #4: Even more complex operands, after loop.
mov dword [rax+4], 0x20
exit:
; Terminate the process by calling sys_exit(0) in Linux.
mov rax, 60
mov rdi, 0
syscall
; Loop subroutine. Loops for a while so we can test whether stepuntilasm can get
; to a directive that's sitting after a few iterations of a loop.
loop:
mov rax, 100
loop_iter:
sub rax, 1
jnz loop_iter
ret
section .bss
some_data: resq 1