Skip to content

name-break

Command name-break

The command name-break (alias nb) can be used to set a breakpoint on a location with a name assigned to it.

Every time this breakpoint is hit, the specified name will also be shown in the extra section to make it easier to keep an overview when using multiple breakpoints in a stripped binary.

name-break name [address]

address may be a linespec, address, or explicit location, same as specified for break. If address isn't specified, it will create the breakpoint at the current instruction pointer address.

Examples:

  • nb first *0x400ec0
  • nb "main func" main
  • nb read_secret *main+149
  • nb check_heap

Example output:

─────────────────────────────────────────────────────────────────────────── code:x86:64 ────
     0x400e04                  add    eax, 0xfffbe6e8
     0x400e09                  dec    ecx
     0x400e0b                  ret
 →   0x400e0c                  push   rbp
     0x400e0d                  mov    rbp, rsp
     0x400e10                  sub    rsp, 0x50
     0x400e14                  mov    QWORD PTR [rbp-0x48], rdi
     0x400e18                  mov    QWORD PTR [rbp-0x50], rsi
     0x400e1c                  mov    rax, QWORD PTR fs:0x28
───────────────────────────────────────────────────────────────────────────────── stack ────
0x00007fffffffe288│+0x0000: 0x0000000000401117  →   movzx ecx, al     ← $rsp
0x00007fffffffe290│+0x0008: 0x00007fffffffe4b8  →  0x00007fffffffe71d  →  "/ctf/t19/srv_copy"
0x00007fffffffe298│+0x0010: 0x0000000100000000
0x00007fffffffe2a0│+0x0018: 0x0000000000000000
0x00007fffffffe2a8│+0x0020: 0x0000000000000004
0x00007fffffffe2b0│+0x0028: 0x0000000000000000
───────────────────────────────────────────────────────────────────────────────── extra ────
[+] Hit breakpoint *0x400e0c (check_entry)
────────────────────────────────────────────────────────────────────────────────────────────
gef➤