rizin/test/db/cmd/cmd_c

1545 lines
57 KiB
Text

NAME=cmd_c
FILE=bins/elf/ls
CMDS=c 1234567890
EXPECT=<<EOF
0x00005ae0 (byte=01) f3 ' ' -> 31 '1'
0x00005ae1 (byte=02) 0f ' ' -> 32 '2'
0x00005ae2 (byte=03) 1e ' ' -> 33 '3'
0x00005ae3 (byte=04) fa ' ' -> 34 '4'
0x00005ae4 (byte=05) 31 '1' -> 35 '5'
0x00005ae5 (byte=06) ed ' ' -> 36 '6'
0x00005ae6 (byte=07) 49 'I' -> 37 '7'
0x00005ae7 (byte=08) 89 ' ' -> 38 '8'
0x00005ae8 (byte=09) d1 ' ' -> 39 '9'
0x00005ae9 (byte=10) 5e '^' -> 30 '0'
Compare 0/10 equal bytes (0%)
EOF
RUN
NAME=cmd_cj
FILE=bins/elf/ls
CMDS=cj 1234
EXPECT=<<EOF
{"diff_bytes":[{"offset1":23264,"offset2":0,"rel_offset":0,"value1":243,"value2":49},{"offset1":23265,"offset2":1,"rel_offset":1,"value1":15,"value2":50},{"offset1":23266,"offset2":2,"rel_offset":2,"value1":30,"value2":51},{"offset1":23267,"offset2":3,"rel_offset":3,"value1":250,"value2":52}],"equal_bytes":0,"total_bytes":4}
EOF
RUN
NAME=cmd_c1
FILE=bins/elf/ls
CMDS=c1 0x00005ae1
EXPECT=<<EOF
- offset - 7 6 5 4 3 2 1 0
0x00005ae0 1 1 1 1 0 0 1 1
0x00005ae1 0 0 0 0 1 1 1 1
EOF
RUN
NAME=cmd_cb
FILE=bins/elf/ls
CMDS=<<EOF
e asm.arch=arm
e asm.bits=64
e cfg.bigendian=false
cb 0xf3f3 2
cb 0xfa1e0ff2 4
cb 0x8989898989898989 8
cb 0x133713371337133713 9
cb 0xf1f2fa1e0ff2 4
cb 0x1a0ff2 3
cb 0x33445566778899aa 8
echo -- be
e cfg.bigendian=true
cb 0x1a0ff2 3
cb 0x33445566778899aa 8
EOF
EXPECT=<<EOF
0x00005ae1 (byte=02) 0f ' ' -> f3 ' '
Compare 1/2 equal bytes (50%)
0x00005ae0 (byte=01) f3 ' ' -> f2 ' '
Compare 3/4 equal bytes (75%)
0x00005ae0 (byte=01) f3 ' ' -> 89 ' '
0x00005ae1 (byte=02) 0f ' ' -> 89 ' '
0x00005ae2 (byte=03) 1e ' ' -> 89 ' '
0x00005ae3 (byte=04) fa ' ' -> 89 ' '
0x00005ae4 (byte=05) 31 '1' -> 89 ' '
0x00005ae5 (byte=06) ed ' ' -> 89 ' '
0x00005ae6 (byte=07) 49 'I' -> 89 ' '
Compare 1/8 equal bytes (12%)
0x00005ae0 (byte=01) f3 ' ' -> f2 ' '
Compare 3/4 equal bytes (75%)
0x00005ae0 (byte=01) f3 ' ' -> f2 ' '
0x00005ae2 (byte=03) 1e ' ' -> 1a ' '
Compare 1/3 equal bytes (33%)
0x00005ae0 (byte=01) f3 ' ' -> aa ' '
0x00005ae1 (byte=02) 0f ' ' -> 99 ' '
0x00005ae2 (byte=03) 1e ' ' -> 88 ' '
0x00005ae3 (byte=04) fa ' ' -> 77 'w'
0x00005ae4 (byte=05) 31 '1' -> 66 'f'
0x00005ae5 (byte=06) ed ' ' -> 55 'U'
0x00005ae6 (byte=07) 49 'I' -> 44 'D'
0x00005ae7 (byte=08) 89 ' ' -> 33 '3'
Compare 0/8 equal bytes (0%)
-- be
0x00005ae0 (byte=01) f3 ' ' -> 1a ' '
0x00005ae2 (byte=03) 1e ' ' -> f2 ' '
Compare 1/3 equal bytes (33%)
0x00005ae0 (byte=01) f3 ' ' -> 33 '3'
0x00005ae1 (byte=02) 0f ' ' -> 44 'D'
0x00005ae2 (byte=03) 1e ' ' -> 55 'U'
0x00005ae3 (byte=04) fa ' ' -> 66 'f'
0x00005ae4 (byte=05) 31 '1' -> 77 'w'
0x00005ae5 (byte=06) ed ' ' -> 88 ' '
0x00005ae6 (byte=07) 49 'I' -> 99 ' '
0x00005ae7 (byte=08) 89 ' ' -> aa ' '
Compare 0/8 equal bytes (0%)
EOF
RUN
NAME=cmd_ca
FILE=bins/elf/ls
CMDS=<<EOF
ca 0x5ae4 10
EOF
EXPECT=<<EOF
0x00005ae0 -> 0x00005ae4 (byte=01) f3 ' ' -> 31 '1'
0x00005ae1 -> 0x00005ae5 (byte=02) 0f ' ' -> ed ' '
0x00005ae2 -> 0x00005ae6 (byte=03) 1e ' ' -> 49 'I'
0x00005ae3 -> 0x00005ae7 (byte=04) fa ' ' -> 89 ' '
0x00005ae4 -> 0x00005ae8 (byte=05) 31 '1' -> d1 ' '
0x00005ae5 -> 0x00005ae9 (byte=06) ed ' ' -> 5e '^'
0x00005ae6 -> 0x00005aea (byte=07) 49 'I' -> 48 'H'
0x00005ae8 -> 0x00005aec (byte=09) d1 ' ' -> e2 ' '
0x00005ae9 -> 0x00005aed (byte=10) 5e '^' -> 48 'H'
Compare 1/10 equal bytes (10%)
EOF
RUN
NAME=cmd_cc
FILE=bins/elf/ls
ARGS=-e scr.columns=160
CMDS=<<EOF
cc 0x5af0
echo --------
cc 0x5ae0
EOF
EXPECT=<<EOF
0x00005ae0 f30f1efa31ed4989d15e4889e24883e4 ....1.I..^H..H.. ! 0x00005af0 f050544c8d05660c0100488d0def0b01 .PTL..f...H.....
0x00005af0 f050544c8d05660c0100488d0def0b01 .PTL..f...H..... ! 0x00005b00 00488d3d68e5ffffff150ac30100f490 .H.=h...........
0x00005b00 00488d3d68e5ffffff150ac30100f490 .H.=h........... ! 0x00005b10 488d3d51c70100488d054ac701004839 H.=Q...H..J...H9
0x00005b10 488d3d51c70100488d054ac701004839 H.=Q...H..J...H9 ! 0x00005b20 f87415488b0596c101004885c07409ff .t.H......H..t..
0x00005b20 f87415488b0596c101004885c07409ff .t.H......H..t.. ! 0x00005b30 e00f1f8000000000c30f1f8000000000 ................
0x00005b30 e00f1f8000000000c30f1f8000000000 ................ ! 0x00005b40 488d3d21c70100488d351ac701004829 H.=!...H.5....H)
0x00005b40 488d3d21c70100488d351ac701004829 H.=!...H.5....H) ! 0x00005b50 fe48c1fe034889f048c1e83f4801c648 .H...H..H..?H..H
0x00005b50 fe48c1fe034889f048c1e83f4801c648 .H...H..H..?H..H ! 0x00005b60 d1fe7414488b053dc401004885c07408 ..t.H..=...H..t.
0x00005b60 d1fe7414488b053dc401004885c07408 ..t.H..=...H..t. ! 0x00005b70 ffe0660f1f440000c30f1f8000000000 ..f..D..........
0x00005b70 ffe0660f1f440000c30f1f8000000000 ..f..D.......... ! 0x00005b80 f30f1efa803d3dc70100007533554883 .....==....u3UH.
0x00005b80 f30f1efa803d3dc70100007533554883 .....==....u3UH. ! 0x00005b90 3d32c40100004889e5740d488b3d66c4 =2....H..t.H.=f.
0x00005b90 3d32c40100004889e5740d488b3d66c4 =2....H..t.H.=f. ! 0x00005ba0 0100ff1520c40100e863ffffffc60514 .... ....c......
0x00005ba0 0100ff1520c40100e863ffffffc60514 .... ....c...... ! 0x00005bb0 c70100015dc3662e0f1f840000000000 ....].f.........
0x00005bb0 c70100015dc3662e0f1f840000000000 ....].f......... ! 0x00005bc0 c366662e0f1f8400000000000f1f4000 .ff...........@.
0x00005bc0 c366662e0f1f8400000000000f1f4000 .ff...........@. ! 0x00005bd0 f30f1efae967ffffff0f1f8000000000 .....g..........
0x00005bd0 f30f1efae967ffffff0f1f8000000000 .....g.......... ! 0x00005be0 488b0731d248f7f64889d0c30f1f4000 H..1.H..H.....@.
--------
0x00005ae0 f30f1efa31ed4989d15e4889e24883e4 ....1.I..^H..H.. | 0x00005ae0 f30f1efa31ed4989d15e4889e24883e4 ....1.I..^H..H..
0x00005af0 f050544c8d05660c0100488d0def0b01 .PTL..f...H..... | 0x00005af0 f050544c8d05660c0100488d0def0b01 .PTL..f...H.....
0x00005b00 00488d3d68e5ffffff150ac30100f490 .H.=h........... | 0x00005b00 00488d3d68e5ffffff150ac30100f490 .H.=h...........
0x00005b10 488d3d51c70100488d054ac701004839 H.=Q...H..J...H9 | 0x00005b10 488d3d51c70100488d054ac701004839 H.=Q...H..J...H9
0x00005b20 f87415488b0596c101004885c07409ff .t.H......H..t.. | 0x00005b20 f87415488b0596c101004885c07409ff .t.H......H..t..
0x00005b30 e00f1f8000000000c30f1f8000000000 ................ | 0x00005b30 e00f1f8000000000c30f1f8000000000 ................
0x00005b40 488d3d21c70100488d351ac701004829 H.=!...H.5....H) | 0x00005b40 488d3d21c70100488d351ac701004829 H.=!...H.5....H)
0x00005b50 fe48c1fe034889f048c1e83f4801c648 .H...H..H..?H..H | 0x00005b50 fe48c1fe034889f048c1e83f4801c648 .H...H..H..?H..H
0x00005b60 d1fe7414488b053dc401004885c07408 ..t.H..=...H..t. | 0x00005b60 d1fe7414488b053dc401004885c07408 ..t.H..=...H..t.
0x00005b70 ffe0660f1f440000c30f1f8000000000 ..f..D.......... | 0x00005b70 ffe0660f1f440000c30f1f8000000000 ..f..D..........
0x00005b80 f30f1efa803d3dc70100007533554883 .....==....u3UH. | 0x00005b80 f30f1efa803d3dc70100007533554883 .....==....u3UH.
0x00005b90 3d32c40100004889e5740d488b3d66c4 =2....H..t.H.=f. | 0x00005b90 3d32c40100004889e5740d488b3d66c4 =2....H..t.H.=f.
0x00005ba0 0100ff1520c40100e863ffffffc60514 .... ....c...... | 0x00005ba0 0100ff1520c40100e863ffffffc60514 .... ....c......
0x00005bb0 c70100015dc3662e0f1f840000000000 ....].f......... | 0x00005bb0 c70100015dc3662e0f1f840000000000 ....].f.........
0x00005bc0 c366662e0f1f8400000000000f1f4000 .ff...........@. | 0x00005bc0 c366662e0f1f8400000000000f1f4000 .ff...........@.
0x00005bd0 f30f1efae967ffffff0f1f8000000000 .....g.......... | 0x00005bd0 f30f1efae967ffffff0f1f8000000000 .....g..........
EOF
RUN
NAME=cmd_ccc
FILE=bins/elf/ls
ARGS=-e scr.columns=160
CMDS=<<EOF
ccc 0x5ad0
echo --------
ccc 0x5ae0
EOF
EXPECT=<<EOF
0x00005ae0 f30f1efa31ed4989d15e4889e24883e4 ....1.I..^H..H.. ! 0x00005ad0 1503c30100662e0f1f84000000000090 .....f..........
0x00005af0 f050544c8d05660c0100488d0def0b01 .PTL..f...H..... ! 0x00005ae0 f30f1efa31ed4989d15e4889e24883e4 ....1.I..^H..H..
0x00005b00 00488d3d68e5ffffff150ac30100f490 .H.=h........... ! 0x00005af0 f050544c8d05660c0100488d0def0b01 .PTL..f...H.....
0x00005b10 488d3d51c70100488d054ac701004839 H.=Q...H..J...H9 ! 0x00005b00 00488d3d68e5ffffff150ac30100f490 .H.=h...........
0x00005b20 f87415488b0596c101004885c07409ff .t.H......H..t.. ! 0x00005b10 488d3d51c70100488d054ac701004839 H.=Q...H..J...H9
0x00005b30 e00f1f8000000000c30f1f8000000000 ................ ! 0x00005b20 f87415488b0596c101004885c07409ff .t.H......H..t..
0x00005b40 488d3d21c70100488d351ac701004829 H.=!...H.5....H) ! 0x00005b30 e00f1f8000000000c30f1f8000000000 ................
0x00005b50 fe48c1fe034889f048c1e83f4801c648 .H...H..H..?H..H ! 0x00005b40 488d3d21c70100488d351ac701004829 H.=!...H.5....H)
0x00005b60 d1fe7414488b053dc401004885c07408 ..t.H..=...H..t. ! 0x00005b50 fe48c1fe034889f048c1e83f4801c648 .H...H..H..?H..H
0x00005b70 ffe0660f1f440000c30f1f8000000000 ..f..D.......... ! 0x00005b60 d1fe7414488b053dc401004885c07408 ..t.H..=...H..t.
0x00005b80 f30f1efa803d3dc70100007533554883 .....==....u3UH. ! 0x00005b70 ffe0660f1f440000c30f1f8000000000 ..f..D..........
0x00005b90 3d32c40100004889e5740d488b3d66c4 =2....H..t.H.=f. ! 0x00005b80 f30f1efa803d3dc70100007533554883 .....==....u3UH.
0x00005ba0 0100ff1520c40100e863ffffffc60514 .... ....c...... ! 0x00005b90 3d32c40100004889e5740d488b3d66c4 =2....H..t.H.=f.
0x00005bb0 c70100015dc3662e0f1f840000000000 ....].f......... ! 0x00005ba0 0100ff1520c40100e863ffffffc60514 .... ....c......
0x00005bc0 c366662e0f1f8400000000000f1f4000 .ff...........@. ! 0x00005bb0 c70100015dc3662e0f1f840000000000 ....].f.........
0x00005bd0 f30f1efae967ffffff0f1f8000000000 .....g.......... ! 0x00005bc0 c366662e0f1f8400000000000f1f4000 .ff...........@.
--------
EOF
RUN
NAME=cmd_ccd
FILE=bins/elf/ls
CMDS=<<EOF
ccd 0x5a8d
EOF
EXPECT=<<EOF
0x00005ae0 endbr64 ! 0x00005a8d add dword [rax], eax
0x00005ae4 xor ebp, ebp ! 0x00005a8f call qword [rip+0x1c343]
0x00005ae6 mov r9, rdx ! 0x00005a95 lea rcx, qword [rip+0x11cbe]
0x00005ae9 pop rsi ! 0x00005a9c mov edx, 0x670
0x00005aea mov rdx, rsp ! 0x00005aa1 lea rsi, qword [rip+0x12dcf]
0x00005aed and rsp, 0xfffffffffffffff0 ! 0x00005aa8 lea rdi, qword [rip+0x153b9]
0x00005af1 push rax ! 0x00005aaf call qword [rip+0x1c323]
0x00005af2 push rsp ! 0x00005ab5 lea rcx, qword [rip+0x11bfc]
0x00005af3 lea r8, qword [rip+0x10c66] ! 0x00005abc mov edx, 0x403
0x00005afa lea rcx, qword [rip+0x10bef] ! 0x00005ac1 lea rsi, qword [rip+0x12daf]
0x00005b01 lea rdi, qword [rip-0x1a98] ! 0x00005ac8 lea rdi, qword [rip+0x15339]
0x00005b08 call qword [rip+0x1c30a] ! 0x00005acf call qword [rip+0x1c303]
0x00005b0e hlt ! 0x00005ad5 nop word [rax+rax*1], ax
0x00005b0f nop = 0x00005adf nop
0x00005b10 lea rdi, qword [rip+0x1c751] ! 0x00005ae0 endbr64
0x00005b17 lea rax, qword [rip+0x1c74a] ! 0x00005ae4 xor ebp, ebp
0x00005b1e cmp rax, rdi ! 0x00005ae6 mov r9, rdx
0x00005b21 jz 0x5b38 ! 0x00005ae9 pop rsi
0x00005b23 mov rax, qword [rip+0x1c196] ! 0x00005aea mov rdx, rsp
0x00005b2a test rax, rax ! 0x00005aed and rsp, 0xfffffffffffffff0
0x00005b2d jz 0x5b38 ! 0x00005af1 push rax
0x00005b2f jmp rax ! 0x00005af2 push rsp
0x00005b31 nop dword [rax], eax ! 0x00005af3 lea r8, qword [rip+0x10c66]
0x00005b38 ret ! 0x00005afa lea rcx, qword [rip+0x10bef]
0x00005b39 nop dword [rax], eax ! 0x00005b01 lea rdi, qword [rip-0x1a98]
0x00005b40 lea rdi, qword [rip+0x1c721] ! 0x00005b08 call qword [rip+0x1c30a]
0x00005b47 lea rsi, qword [rip+0x1c71a] ! 0x00005b0e hlt
0x00005b4e sub rsi, rdi ! 0x00005b0f nop
0x00005b51 sar rsi, 0x03 ! 0x00005b10 lea rdi, qword [rip+0x1c751]
0x00005b55 mov rax, rsi ! 0x00005b17 lea rax, qword [rip+0x1c74a]
0x00005b58 shr rax, 0x3f ! 0x00005b1e cmp rax, rdi
0x00005b5c add rsi, rax ! 0x00005b21 jz 0x5b20
0x00005b5f sar rsi, 0x01 ! 0x00005b23 mov rax, qword [rip+0x1c196]
0x00005b62 jz 0x5b78 ! 0x00005b2a test rax, rax
0x00005b64 mov rax, qword [rip+0x1c43d] ! 0x00005b2d jz 0x5b1c
0x00005b6b test rax, rax ! 0x00005b2f jmp rax
0x00005b6e jz 0x5b78 ! 0x00005b31 nop dword [rax], eax
0x00005b70 jmp rax ! 0x00005b38 ret
0x00005b72 nop word [rax+rax*1], ax ! 0x00005b39 nop dword [rax], eax
0x00005b78 ret ! 0x00005b40 lea rdi, qword [rip+0x1c721]
0x00005b79 nop dword [rax], eax ! 0x00005b47 lea rsi, qword [rip+0x1c71a]
0x00005b80 endbr64 ! 0x00005b4e sub rsi, rdi
0x00005b84 cmp byte [rip+0x1c73d], 0x00 ! 0x00005b51 sar rsi, 0x03
0x00005b8b jnz 0x5bc0 ! 0x00005b55 mov rax, rsi
0x00005b8d push rbp ! 0x00005b58 shr rax, 0x3f
0x00005b8e cmp qword [rip+0x1c432], 0x00 ! 0x00005b5c add rsi, rax
0x00005b96 mov rbp, rsp ! 0x00005b5f sar rsi, 0x01
0x00005b99 jz 0x5ba8 ! 0x00005b62 jz 0x5b5c
0x00005b9b mov rdi, qword [rip+0x1c466] ! 0x00005b64 mov rax, qword [rip+0x1c43d]
0x00005ba2 call qword [rip+0x1c420] ! 0x00005b6b test rax, rax
0x00005ba8 call 0x5b10 ! 0x00005b6e jz 0x5b5f
0x00005bad mov byte [rip+0x1c714], 0x01 ! 0x00005b70 jmp rax
0x00005bb4 pop rbp ! 0x00005b72 nop word [rax+rax*1], ax
0x00005bb5 ret = 0x00005b78 ret
0x00005bb6 nop word [rax+rax*1], ax ! 0x00005b79 nop dword [rax], eax
0x00005bc0 ret ! 0x00005b80 endbr64
0x00005bc1 nop word [rax+rax*1], ax ! 0x00005b84 cmp byte [rip+0x1c73d], 0x00
0x00005bcc nop dword [rax], eax ! 0x00005b8b jnz 0x5bae
EOF
RUN
NAME=cmd_ccd
FILE=bins/elf/ls
CMDS=<<EOF
cf bins/elf/echo
EOF
EXPECT=<<EOF
0x00005ae0 (byte=01) f3 ' ' -> 7f ' '
0x00005ae1 (byte=02) 0f ' ' -> 45 'E'
0x00005ae2 (byte=03) 1e ' ' -> 4c 'L'
0x00005ae3 (byte=04) fa ' ' -> 46 'F'
0x00005ae4 (byte=05) 31 '1' -> 02 ' '
0x00005ae5 (byte=06) ed ' ' -> 01 ' '
0x00005ae6 (byte=07) 49 'I' -> 01 ' '
0x00005ae7 (byte=08) 89 ' ' -> 00 ' '
0x00005ae8 (byte=09) d1 ' ' -> 00 ' '
0x00005ae9 (byte=10) 5e '^' -> 00 ' '
0x00005aea (byte=11) 48 'H' -> 00 ' '
0x00005aeb (byte=12) 89 ' ' -> 00 ' '
0x00005aec (byte=13) e2 ' ' -> 00 ' '
0x00005aed (byte=14) 48 'H' -> 00 ' '
0x00005aee (byte=15) 83 ' ' -> 00 ' '
0x00005aef (byte=16) e4 ' ' -> 00 ' '
0x00005af0 (byte=17) f0 ' ' -> 03 ' '
0x00005af1 (byte=18) 50 'P' -> 00 ' '
0x00005af2 (byte=19) 54 'T' -> 3e '>'
0x00005af3 (byte=20) 4c 'L' -> 00 ' '
0x00005af4 (byte=21) 8d ' ' -> 01 ' '
0x00005af5 (byte=22) 05 ' ' -> 00 ' '
0x00005af6 (byte=23) 66 'f' -> 00 ' '
0x00005af7 (byte=24) 0c ' ' -> 00 ' '
0x00005af8 (byte=25) 01 ' ' -> 40 '@'
0x00005af9 (byte=26) 00 ' ' -> 08 ' '
0x00005afa (byte=27) 48 'H' -> 00 ' '
0x00005afb (byte=28) 8d ' ' -> 00 ' '
0x00005afc (byte=29) 0d ' ' -> 00 ' '
0x00005afd (byte=30) ef ' ' -> 00 ' '
0x00005afe (byte=31) 0b ' ' -> 00 ' '
0x00005aff (byte=32) 01 ' ' -> 00 ' '
0x00005b00 (byte=33) 00 ' ' -> 40 '@'
0x00005b01 (byte=34) 48 'H' -> 00 ' '
0x00005b02 (byte=35) 8d ' ' -> 00 ' '
0x00005b03 (byte=36) 3d '=' -> 00 ' '
0x00005b04 (byte=37) 68 'h' -> 00 ' '
0x00005b05 (byte=38) e5 ' ' -> 00 ' '
0x00005b06 (byte=39) ff ' ' -> 00 ' '
0x00005b07 (byte=40) ff ' ' -> 00 ' '
0x00005b08 (byte=41) ff ' ' -> 98 ' '
0x00005b09 (byte=42) 15 ' ' -> 21 '!'
0x00005b0a (byte=43) 0a ' ' -> 00 ' '
0x00005b0b (byte=44) c3 ' ' -> 00 ' '
0x00005b0c (byte=45) 01 ' ' -> 00 ' '
0x00005b0e (byte=47) f4 ' ' -> 00 ' '
0x00005b0f (byte=48) 90 ' ' -> 00 ' '
0x00005b10 (byte=49) 48 'H' -> 00 ' '
0x00005b11 (byte=50) 8d ' ' -> 00 ' '
0x00005b12 (byte=51) 3d '=' -> 00 ' '
0x00005b13 (byte=52) 51 'Q' -> 00 ' '
0x00005b14 (byte=53) c7 ' ' -> 40 '@'
0x00005b15 (byte=54) 01 ' ' -> 00 ' '
0x00005b16 (byte=55) 00 ' ' -> 38 '8'
0x00005b17 (byte=56) 48 'H' -> 00 ' '
0x00005b18 (byte=57) 8d ' ' -> 09 ' '
0x00005b19 (byte=58) 05 ' ' -> 00 ' '
0x00005b1a (byte=59) 4a 'J' -> 40 '@'
0x00005b1b (byte=60) c7 ' ' -> 00 ' '
0x00005b1c (byte=61) 01 ' ' -> 1d ' '
0x00005b1e (byte=63) 48 'H' -> 1c ' '
0x00005b1f (byte=64) 39 '9' -> 00 ' '
0x00005b20 (byte=65) f8 ' ' -> 06 ' '
0x00005b21 (byte=66) 74 't' -> 00 ' '
0x00005b22 (byte=67) 15 ' ' -> 00 ' '
0x00005b23 (byte=68) 48 'H' -> 00 ' '
0x00005b24 (byte=69) 8b ' ' -> 05 ' '
0x00005b25 (byte=70) 05 ' ' -> 00 ' '
0x00005b26 (byte=71) 96 ' ' -> 00 ' '
0x00005b27 (byte=72) c1 ' ' -> 00 ' '
0x00005b28 (byte=73) 01 ' ' -> 40 '@'
0x00005b2a (byte=75) 48 'H' -> 00 ' '
0x00005b2b (byte=76) 85 ' ' -> 00 ' '
0x00005b2c (byte=77) c0 ' ' -> 00 ' '
0x00005b2d (byte=78) 74 't' -> 00 ' '
0x00005b2e (byte=79) 09 ' ' -> 00 ' '
0x00005b2f (byte=80) ff ' ' -> 00 ' '
0x00005b30 (byte=81) e0 ' ' -> 40 '@'
0x00005b31 (byte=82) 0f ' ' -> 00 ' '
0x00005b32 (byte=83) 1f ' ' -> 00 ' '
0x00005b33 (byte=84) 80 ' ' -> 00 ' '
0x00005b38 (byte=89) c3 ' ' -> 40 '@'
0x00005b39 (byte=90) 0f ' ' -> 00 ' '
0x00005b3a (byte=91) 1f ' ' -> 00 ' '
0x00005b3b (byte=92) 80 ' ' -> 00 ' '
0x00005b40 (byte=97) 48 'H' -> f8 ' '
0x00005b41 (byte=98) 8d ' ' -> 01 ' '
0x00005b42 (byte=99) 3d '=' -> 00 ' '
0x00005b43 (byte=100) 21 '!' -> 00 ' '
0x00005b44 (byte=101) c7 ' ' -> 00 ' '
0x00005b45 (byte=102) 01 ' ' -> 00 ' '
0x00005b47 (byte=104) 48 'H' -> 00 ' '
0x00005b48 (byte=105) 8d ' ' -> f8 ' '
0x00005b49 (byte=106) 35 '5' -> 01 ' '
0x00005b4a (byte=107) 1a ' ' -> 00 ' '
0x00005b4b (byte=108) c7 ' ' -> 00 ' '
0x00005b4c (byte=109) 01 ' ' -> 00 ' '
0x00005b4e (byte=111) 48 'H' -> 00 ' '
0x00005b4f (byte=112) 29 ')' -> 00 ' '
0x00005b50 (byte=113) fe ' ' -> 08 ' '
0x00005b51 (byte=114) 48 'H' -> 00 ' '
0x00005b52 (byte=115) c1 ' ' -> 00 ' '
0x00005b53 (byte=116) fe ' ' -> 00 ' '
0x00005b54 (byte=117) 03 ' ' -> 00 ' '
0x00005b55 (byte=118) 48 'H' -> 00 ' '
0x00005b56 (byte=119) 89 ' ' -> 00 ' '
0x00005b57 (byte=120) f0 ' ' -> 00 ' '
0x00005b58 (byte=121) 48 'H' -> 03 ' '
0x00005b59 (byte=122) c1 ' ' -> 00 ' '
0x00005b5a (byte=123) e8 ' ' -> 00 ' '
0x00005b5b (byte=124) 3f '?' -> 00 ' '
0x00005b5c (byte=125) 48 'H' -> 04 ' '
0x00005b5d (byte=126) 01 ' ' -> 00 ' '
0x00005b5e (byte=127) c6 ' ' -> 00 ' '
0x00005b5f (byte=128) 48 'H' -> 00 ' '
0x00005b60 (byte=129) d1 ' ' -> 38 '8'
0x00005b61 (byte=130) fe ' ' -> 02 ' '
0x00005b62 (byte=131) 74 't' -> 00 ' '
0x00005b63 (byte=132) 14 ' ' -> 00 ' '
0x00005b64 (byte=133) 48 'H' -> 00 ' '
0x00005b65 (byte=134) 8b ' ' -> 00 ' '
0x00005b66 (byte=135) 05 ' ' -> 00 ' '
0x00005b67 (byte=136) 3d '=' -> 00 ' '
0x00005b68 (byte=137) c4 ' ' -> 38 '8'
0x00005b69 (byte=138) 01 ' ' -> 02 ' '
0x00005b6b (byte=140) 48 'H' -> 00 ' '
0x00005b6c (byte=141) 85 ' ' -> 00 ' '
0x00005b6d (byte=142) c0 ' ' -> 00 ' '
0x00005b6e (byte=143) 74 't' -> 00 ' '
0x00005b6f (byte=144) 08 ' ' -> 00 ' '
0x00005b70 (byte=145) ff ' ' -> 38 '8'
0x00005b71 (byte=146) e0 ' ' -> 02 ' '
0x00005b72 (byte=147) 66 'f' -> 00 ' '
0x00005b73 (byte=148) 0f ' ' -> 00 ' '
0x00005b74 (byte=149) 1f ' ' -> 00 ' '
0x00005b75 (byte=150) 44 'D' -> 00 ' '
0x00005b78 (byte=153) c3 ' ' -> 1c ' '
0x00005b79 (byte=154) 0f ' ' -> 00 ' '
0x00005b7a (byte=155) 1f ' ' -> 00 ' '
0x00005b7b (byte=156) 80 ' ' -> 00 ' '
0x00005b80 (byte=161) f3 ' ' -> 1c ' '
0x00005b81 (byte=162) 0f ' ' -> 00 ' '
0x00005b82 (byte=163) 1e ' ' -> 00 ' '
0x00005b83 (byte=164) fa ' ' -> 00 ' '
0x00005b84 (byte=165) 80 ' ' -> 00 ' '
0x00005b85 (byte=166) 3d '=' -> 00 ' '
0x00005b86 (byte=167) 3d '=' -> 00 ' '
0x00005b87 (byte=168) c7 ' ' -> 00 ' '
0x00005b8b (byte=172) 75 'u' -> 00 ' '
0x00005b8c (byte=173) 33 '3' -> 00 ' '
0x00005b8d (byte=174) 55 'U' -> 00 ' '
0x00005b8e (byte=175) 48 'H' -> 00 ' '
0x00005b8f (byte=176) 83 ' ' -> 00 ' '
0x00005b90 (byte=177) 3d '=' -> 01 ' '
0x00005b91 (byte=178) 32 '2' -> 00 ' '
0x00005b92 (byte=179) c4 ' ' -> 00 ' '
0x00005b93 (byte=180) 01 ' ' -> 00 ' '
0x00005b94 (byte=181) 00 ' ' -> 05 ' '
0x00005b96 (byte=183) 48 'H' -> 00 ' '
0x00005b97 (byte=184) 89 ' ' -> 00 ' '
0x00005b98 (byte=185) e5 ' ' -> 00 ' '
0x00005b99 (byte=186) 74 't' -> 00 ' '
0x00005b9a (byte=187) 0d ' ' -> 00 ' '
0x00005b9b (byte=188) 48 'H' -> 00 ' '
0x00005b9c (byte=189) 8b ' ' -> 00 ' '
0x00005b9d (byte=190) 3d '=' -> 00 ' '
0x00005b9e (byte=191) 66 'f' -> 00 ' '
0x00005b9f (byte=192) c4 ' ' -> 00 ' '
0x00005ba0 (byte=193) 01 ' ' -> 00 ' '
0x00005ba2 (byte=195) ff ' ' -> 00 ' '
0x00005ba3 (byte=196) 15 ' ' -> 00 ' '
0x00005ba4 (byte=197) 20 ' ' -> 00 ' '
0x00005ba5 (byte=198) c4 ' ' -> 00 ' '
0x00005ba6 (byte=199) 01 ' ' -> 00 ' '
0x00005ba8 (byte=201) e8 ' ' -> 00 ' '
0x00005ba9 (byte=202) 63 'c' -> 00 ' '
0x00005baa (byte=203) ff ' ' -> 00 ' '
0x00005bab (byte=204) ff ' ' -> 00 ' '
0x00005bac (byte=205) ff ' ' -> 00 ' '
0x00005bad (byte=206) c6 ' ' -> 00 ' '
0x00005bae (byte=207) 05 ' ' -> 00 ' '
0x00005baf (byte=208) 14 ' ' -> 00 ' '
0x00005bb0 (byte=209) c7 ' ' -> 64 'd'
0x00005bb1 (byte=210) 01 ' ' -> 14 ' '
0x00005bb3 (byte=212) 01 ' ' -> 00 ' '
0x00005bb4 (byte=213) 5d ']' -> 00 ' '
0x00005bb5 (byte=214) c3 ' ' -> 00 ' '
0x00005bb6 (byte=215) 66 'f' -> 00 ' '
0x00005bb7 (byte=216) 2e '.' -> 00 ' '
0x00005bb8 (byte=217) 0f ' ' -> 64 'd'
0x00005bb9 (byte=218) 1f ' ' -> 14 ' '
0x00005bba (byte=219) 84 ' ' -> 00 ' '
0x00005bc0 (byte=225) c3 ' ' -> 00 ' '
0x00005bc1 (byte=226) 66 'f' -> 00 ' '
0x00005bc2 (byte=227) 66 'f' -> 20 ' '
0x00005bc3 (byte=228) 2e '.' -> 00 ' '
0x00005bc4 (byte=229) 0f ' ' -> 00 ' '
0x00005bc5 (byte=230) 1f ' ' -> 00 ' '
0x00005bc6 (byte=231) 84 ' ' -> 00 ' '
0x00005bc8 (byte=233) 00 ' ' -> 01 ' '
0x00005bcc (byte=237) 0f ' ' -> 06 ' '
0x00005bcd (byte=238) 1f ' ' -> 00 ' '
0x00005bce (byte=239) 40 '@' -> 00 ' '
0x00005bd0 (byte=241) f3 ' ' -> d8 ' '
0x00005bd1 (byte=242) 0f ' ' -> 1d ' '
0x00005bd2 (byte=243) 1e ' ' -> 00 ' '
0x00005bd3 (byte=244) fa ' ' -> 00 ' '
0x00005bd4 (byte=245) e9 ' ' -> 00 ' '
0x00005bd5 (byte=246) 67 'g' -> 00 ' '
0x00005bd6 (byte=247) ff ' ' -> 00 ' '
0x00005bd7 (byte=248) ff ' ' -> 00 ' '
0x00005bd8 (byte=249) ff ' ' -> d8 ' '
0x00005bd9 (byte=250) 0f ' ' -> 1d ' '
0x00005bda (byte=251) 1f ' ' -> 20 ' '
0x00005bdb (byte=252) 80 ' ' -> 00 ' '
Compare 41/256 equal bytes (16%)
EOF
RUN
NAME=cmd_cu
FILE=bins/elf/ls
CMDS=<<EOF
cu 0x5af0
echo --------
cu 0x5ae0
EOF
EXPECT=<<EOF
- 0x00005ae0 f30f1efa31ed4989d15e4889e24883e4 ....1.I..^H..H.. !
+ 0x00005af0 f050544c8d05660c0100488d0def0b01 .PTL..f...H..... !
- 0x00005af0 f050544c8d05660c0100488d0def0b01 .PTL..f...H..... !
+ 0x00005b00 00488d3d68e5ffffff150ac30100f490 .H.=h........... !
- 0x00005b00 00488d3d68e5ffffff150ac30100f490 .H.=h........... !
+ 0x00005b10 488d3d51c70100488d054ac701004839 H.=Q...H..J...H9 !
- 0x00005b10 488d3d51c70100488d054ac701004839 H.=Q...H..J...H9 !
+ 0x00005b20 f87415488b0596c101004885c07409ff .t.H......H..t.. !
- 0x00005b20 f87415488b0596c101004885c07409ff .t.H......H..t.. !
+ 0x00005b30 e00f1f8000000000c30f1f8000000000 ................ !
- 0x00005b30 e00f1f8000000000c30f1f8000000000 ................ !
+ 0x00005b40 488d3d21c70100488d351ac701004829 H.=!...H.5....H) !
- 0x00005b40 488d3d21c70100488d351ac701004829 H.=!...H.5....H) !
+ 0x00005b50 fe48c1fe034889f048c1e83f4801c648 .H...H..H..?H..H !
- 0x00005b50 fe48c1fe034889f048c1e83f4801c648 .H...H..H..?H..H !
+ 0x00005b60 d1fe7414488b053dc401004885c07408 ..t.H..=...H..t. !
- 0x00005b60 d1fe7414488b053dc401004885c07408 ..t.H..=...H..t. !
+ 0x00005b70 ffe0660f1f440000c30f1f8000000000 ..f..D.......... !
- 0x00005b70 ffe0660f1f440000c30f1f8000000000 ..f..D.......... !
+ 0x00005b80 f30f1efa803d3dc70100007533554883 .....==....u3UH. !
- 0x00005b80 f30f1efa803d3dc70100007533554883 .....==....u3UH. !
+ 0x00005b90 3d32c40100004889e5740d488b3d66c4 =2....H..t.H.=f. !
- 0x00005b90 3d32c40100004889e5740d488b3d66c4 =2....H..t.H.=f. !
+ 0x00005ba0 0100ff1520c40100e863ffffffc60514 .... ....c...... !
- 0x00005ba0 0100ff1520c40100e863ffffffc60514 .... ....c...... !
+ 0x00005bb0 c70100015dc3662e0f1f840000000000 ....].f......... !
- 0x00005bb0 c70100015dc3662e0f1f840000000000 ....].f......... !
+ 0x00005bc0 c366662e0f1f8400000000000f1f4000 .ff...........@. !
- 0x00005bc0 c366662e0f1f8400000000000f1f4000 .ff...........@. !
+ 0x00005bd0 f30f1efae967ffffff0f1f8000000000 .....g.......... !
- 0x00005bd0 f30f1efae967ffffff0f1f8000000000 .....g.......... !
+ 0x00005be0 488b0731d248f7f64889d0c30f1f4000 H..1.H..H.....@. !
--------
0x00005ae0 f30f1efa31ed4989d15e4889e24883e4 ....1.I..^H..H.. |
0x00005af0 f050544c8d05660c0100488d0def0b01 .PTL..f...H..... |
0x00005b00 00488d3d68e5ffffff150ac30100f490 .H.=h........... |
0x00005b10 488d3d51c70100488d054ac701004839 H.=Q...H..J...H9 |
0x00005b20 f87415488b0596c101004885c07409ff .t.H......H..t.. |
0x00005b30 e00f1f8000000000c30f1f8000000000 ................ |
0x00005b40 488d3d21c70100488d351ac701004829 H.=!...H.5....H) |
0x00005b50 fe48c1fe034889f048c1e83f4801c648 .H...H..H..?H..H |
0x00005b60 d1fe7414488b053dc401004885c07408 ..t.H..=...H..t. |
0x00005b70 ffe0660f1f440000c30f1f8000000000 ..f..D.......... |
0x00005b80 f30f1efa803d3dc70100007533554883 .....==....u3UH. |
0x00005b90 3d32c40100004889e5740d488b3d66c4 =2....H..t.H.=f. |
0x00005ba0 0100ff1520c40100e863ffffffc60514 .... ....c...... |
0x00005bb0 c70100015dc3662e0f1f840000000000 ....].f......... |
0x00005bc0 c366662e0f1f8400000000000f1f4000 .ff...........@. |
0x00005bd0 f30f1efae967ffffff0f1f8000000000 .....g.......... |
EOF
RUN
NAME=cmd_cu_num
FILE=bins/elf/ls
CMDS=<<EOF
e asm.arch=arm
e asm.bits=64
e cfg.bigendian=false
cu1 0x5ad0
echo --------
cu2 0x5ad0
echo --------
cu4 0x5ad0
echo --------
cu8 0x5ad0
echo -------- be
cu4 0x5ad0 @e:cfg.bigendian=true
EOF
EXPECT=<<EOF
0x00005ae0 0xf3 ! 0x15
0x00005ae1 0x0f ! 0x03
0x00005ae2 0x1e ! 0xc3
0x00005ae3 0xfa ! 0x01
0x00005ae4 0x31 ! 0x00
0x00005ae5 0xed ! 0x66
0x00005ae6 0x49 ! 0x2e
0x00005ae7 0x89 ! 0x0f
0x00005ae8 0xd1 ! 0x1f
0x00005ae9 0x5e ! 0x84
0x00005aea 0x48 ! 0x00
0x00005aeb 0x89 ! 0x00
0x00005aec 0xe2 ! 0x00
0x00005aed 0x48 ! 0x00
0x00005aee 0x83 ! 0x00
0x00005aef 0xe4 ! 0x90
0x00005af0 0xf0 ! 0xf3
0x00005af1 0x50 ! 0x0f
0x00005af2 0x54 ! 0x1e
0x00005af3 0x4c ! 0xfa
0x00005af4 0x8d ! 0x31
0x00005af5 0x05 ! 0xed
0x00005af6 0x66 ! 0x49
0x00005af7 0x0c ! 0x89
0x00005af8 0x01 ! 0xd1
0x00005af9 0x00 ! 0x5e
0x00005afa 0x48 = 0x48
0x00005afb 0x8d ! 0x89
0x00005afc 0x0d ! 0xe2
0x00005afd 0xef ! 0x48
0x00005afe 0x0b ! 0x83
0x00005aff 0x01 ! 0xe4
0x00005b00 0x00 ! 0xf0
0x00005b01 0x48 ! 0x50
0x00005b02 0x8d ! 0x54
0x00005b03 0x3d ! 0x4c
0x00005b04 0x68 ! 0x8d
0x00005b05 0xe5 ! 0x05
0x00005b06 0xff ! 0x66
0x00005b07 0xff ! 0x0c
0x00005b08 0xff ! 0x01
0x00005b09 0x15 ! 0x00
0x00005b0a 0x0a ! 0x48
0x00005b0b 0xc3 ! 0x8d
0x00005b0c 0x01 ! 0x0d
0x00005b0d 0x00 ! 0xef
0x00005b0e 0xf4 ! 0x0b
0x00005b0f 0x90 ! 0x01
0x00005b10 0x48 ! 0x00
0x00005b11 0x8d ! 0x48
0x00005b12 0x3d ! 0x8d
0x00005b13 0x51 ! 0x3d
0x00005b14 0xc7 ! 0x68
0x00005b15 0x01 ! 0xe5
0x00005b16 0x00 ! 0xff
0x00005b17 0x48 ! 0xff
0x00005b18 0x8d ! 0xff
0x00005b19 0x05 ! 0x15
0x00005b1a 0x4a ! 0x0a
0x00005b1b 0xc7 ! 0xc3
0x00005b1c 0x01 = 0x01
0x00005b1d 0x00 = 0x00
0x00005b1e 0x48 ! 0xf4
0x00005b1f 0x39 ! 0x90
0x00005b20 0xf8 ! 0x48
0x00005b21 0x74 ! 0x8d
0x00005b22 0x15 ! 0x3d
0x00005b23 0x48 ! 0x51
0x00005b24 0x8b ! 0xc7
0x00005b25 0x05 ! 0x01
0x00005b26 0x96 ! 0x00
0x00005b27 0xc1 ! 0x48
0x00005b28 0x01 ! 0x8d
0x00005b29 0x00 ! 0x05
0x00005b2a 0x48 ! 0x4a
0x00005b2b 0x85 ! 0xc7
0x00005b2c 0xc0 ! 0x01
0x00005b2d 0x74 ! 0x00
0x00005b2e 0x09 ! 0x48
0x00005b2f 0xff ! 0x39
0x00005b30 0xe0 ! 0xf8
0x00005b31 0x0f ! 0x74
0x00005b32 0x1f ! 0x15
0x00005b33 0x80 ! 0x48
0x00005b34 0x00 ! 0x8b
0x00005b35 0x00 ! 0x05
0x00005b36 0x00 ! 0x96
0x00005b37 0x00 ! 0xc1
0x00005b38 0xc3 ! 0x01
0x00005b39 0x0f ! 0x00
0x00005b3a 0x1f ! 0x48
0x00005b3b 0x80 ! 0x85
0x00005b3c 0x00 ! 0xc0
0x00005b3d 0x00 ! 0x74
0x00005b3e 0x00 ! 0x09
0x00005b3f 0x00 ! 0xff
0x00005b40 0x48 ! 0xe0
0x00005b41 0x8d ! 0x0f
0x00005b42 0x3d ! 0x1f
0x00005b43 0x21 ! 0x80
0x00005b44 0xc7 ! 0x00
0x00005b45 0x01 ! 0x00
0x00005b46 0x00 = 0x00
0x00005b47 0x48 ! 0x00
0x00005b48 0x8d ! 0xc3
0x00005b49 0x35 ! 0x0f
0x00005b4a 0x1a ! 0x1f
0x00005b4b 0xc7 ! 0x80
0x00005b4c 0x01 ! 0x00
0x00005b4d 0x00 = 0x00
0x00005b4e 0x48 ! 0x00
0x00005b4f 0x29 ! 0x00
0x00005b50 0xfe ! 0x48
0x00005b51 0x48 ! 0x8d
0x00005b52 0xc1 ! 0x3d
0x00005b53 0xfe ! 0x21
0x00005b54 0x03 ! 0xc7
0x00005b55 0x48 ! 0x01
0x00005b56 0x89 ! 0x00
0x00005b57 0xf0 ! 0x48
0x00005b58 0x48 ! 0x8d
0x00005b59 0xc1 ! 0x35
0x00005b5a 0xe8 ! 0x1a
0x00005b5b 0x3f ! 0xc7
0x00005b5c 0x48 ! 0x01
0x00005b5d 0x01 ! 0x00
0x00005b5e 0xc6 ! 0x48
0x00005b5f 0x48 ! 0x29
0x00005b60 0xd1 ! 0xfe
0x00005b61 0xfe ! 0x48
0x00005b62 0x74 ! 0xc1
0x00005b63 0x14 ! 0xfe
0x00005b64 0x48 ! 0x03
0x00005b65 0x8b ! 0x48
0x00005b66 0x05 ! 0x89
0x00005b67 0x3d ! 0xf0
0x00005b68 0xc4 ! 0x48
0x00005b69 0x01 ! 0xc1
0x00005b6a 0x00 ! 0xe8
0x00005b6b 0x48 ! 0x3f
0x00005b6c 0x85 ! 0x48
0x00005b6d 0xc0 ! 0x01
0x00005b6e 0x74 ! 0xc6
0x00005b6f 0x08 ! 0x48
0x00005b70 0xff ! 0xd1
0x00005b71 0xe0 ! 0xfe
0x00005b72 0x66 ! 0x74
0x00005b73 0x0f ! 0x14
0x00005b74 0x1f ! 0x48
0x00005b75 0x44 ! 0x8b
0x00005b76 0x00 ! 0x05
0x00005b77 0x00 ! 0x3d
0x00005b78 0xc3 ! 0xc4
0x00005b79 0x0f ! 0x01
0x00005b7a 0x1f ! 0x00
0x00005b7b 0x80 ! 0x48
0x00005b7c 0x00 ! 0x85
0x00005b7d 0x00 ! 0xc0
0x00005b7e 0x00 ! 0x74
0x00005b7f 0x00 ! 0x08
0x00005b80 0xf3 ! 0xff
0x00005b81 0x0f ! 0xe0
0x00005b82 0x1e ! 0x66
0x00005b83 0xfa ! 0x0f
0x00005b84 0x80 ! 0x1f
0x00005b85 0x3d ! 0x44
0x00005b86 0x3d ! 0x00
0x00005b87 0xc7 ! 0x00
0x00005b88 0x01 ! 0xc3
0x00005b89 0x00 ! 0x0f
0x00005b8a 0x00 ! 0x1f
0x00005b8b 0x75 ! 0x80
0x00005b8c 0x33 ! 0x00
0x00005b8d 0x55 ! 0x00
0x00005b8e 0x48 ! 0x00
0x00005b8f 0x83 ! 0x00
0x00005b90 0x3d ! 0xf3
0x00005b91 0x32 ! 0x0f
0x00005b92 0xc4 ! 0x1e
0x00005b93 0x01 ! 0xfa
0x00005b94 0x00 ! 0x80
0x00005b95 0x00 ! 0x3d
0x00005b96 0x48 ! 0x3d
0x00005b97 0x89 ! 0xc7
0x00005b98 0xe5 ! 0x01
0x00005b99 0x74 ! 0x00
0x00005b9a 0x0d ! 0x00
0x00005b9b 0x48 ! 0x75
0x00005b9c 0x8b ! 0x33
0x00005b9d 0x3d ! 0x55
0x00005b9e 0x66 ! 0x48
0x00005b9f 0xc4 ! 0x83
0x00005ba0 0x01 ! 0x3d
0x00005ba1 0x00 ! 0x32
0x00005ba2 0xff ! 0xc4
0x00005ba3 0x15 ! 0x01
0x00005ba4 0x20 ! 0x00
0x00005ba5 0xc4 ! 0x00
0x00005ba6 0x01 ! 0x48
0x00005ba7 0x00 ! 0x89
0x00005ba8 0xe8 ! 0xe5
0x00005ba9 0x63 ! 0x74
0x00005baa 0xff ! 0x0d
0x00005bab 0xff ! 0x48
0x00005bac 0xff ! 0x8b
0x00005bad 0xc6 ! 0x3d
0x00005bae 0x05 ! 0x66
0x00005baf 0x14 ! 0xc4
0x00005bb0 0xc7 ! 0x01
0x00005bb1 0x01 ! 0x00
0x00005bb2 0x00 ! 0xff
0x00005bb3 0x01 ! 0x15
0x00005bb4 0x5d ! 0x20
0x00005bb5 0xc3 ! 0xc4
0x00005bb6 0x66 ! 0x01
0x00005bb7 0x2e ! 0x00
0x00005bb8 0x0f ! 0xe8
0x00005bb9 0x1f ! 0x63
0x00005bba 0x84 ! 0xff
0x00005bbb 0x00 ! 0xff
0x00005bbc 0x00 ! 0xff
0x00005bbd 0x00 ! 0xc6
0x00005bbe 0x00 ! 0x05
0x00005bbf 0x00 ! 0x14
0x00005bc0 0xc3 ! 0xc7
0x00005bc1 0x66 ! 0x01
0x00005bc2 0x66 ! 0x00
0x00005bc3 0x2e ! 0x01
0x00005bc4 0x0f ! 0x5d
0x00005bc5 0x1f ! 0xc3
0x00005bc6 0x84 ! 0x66
0x00005bc7 0x00 ! 0x2e
0x00005bc8 0x00 ! 0x0f
0x00005bc9 0x00 ! 0x1f
0x00005bca 0x00 ! 0x84
0x00005bcb 0x00 = 0x00
0x00005bcc 0x0f ! 0x00
0x00005bcd 0x1f ! 0x00
0x00005bce 0x40 ! 0x00
0x00005bcf 0x00 = 0x00
0x00005bd0 0xf3 ! 0xc3
0x00005bd1 0x0f ! 0x66
0x00005bd2 0x1e ! 0x66
0x00005bd3 0xfa ! 0x2e
0x00005bd4 0xe9 ! 0x0f
0x00005bd5 0x67 ! 0x1f
0x00005bd6 0xff ! 0x84
0x00005bd7 0xff ! 0x00
0x00005bd8 0xff ! 0x00
0x00005bd9 0x0f ! 0x00
0x00005bda 0x1f ! 0x00
0x00005bdb 0x80 ! 0x00
0x00005bdc 0x00 ! 0x0f
0x00005bdd 0x00 ! 0x1f
0x00005bde 0x00 ! 0x40
0x00005bdf 0x00 = 0x00
--------
0x00005ae0 0x0ff3 ! 0x0315
0x00005ae2 0xfa1e ! 0x01c3
0x00005ae4 0xed31 ! 0x6600
0x00005ae6 0x8949 ! 0x0f2e
0x00005ae8 0x5ed1 ! 0x841f
0x00005aea 0x8948 ! 0x0000
0x00005aec 0x48e2 ! 0x0000
0x00005aee 0xe483 ! 0x9000
0x00005af0 0x50f0 ! 0x0ff3
0x00005af2 0x4c54 ! 0xfa1e
0x00005af4 0x058d ! 0xed31
0x00005af6 0x0c66 ! 0x8949
0x00005af8 0x0001 ! 0x5ed1
0x00005afa 0x8d48 ! 0x8948
0x00005afc 0xef0d ! 0x48e2
0x00005afe 0x010b ! 0xe483
0x00005b00 0x4800 ! 0x50f0
0x00005b02 0x3d8d ! 0x4c54
0x00005b04 0xe568 ! 0x058d
0x00005b06 0xffff ! 0x0c66
0x00005b08 0x15ff ! 0x0001
0x00005b0a 0xc30a ! 0x8d48
0x00005b0c 0x0001 ! 0xef0d
0x00005b0e 0x90f4 ! 0x010b
0x00005b10 0x8d48 ! 0x4800
0x00005b12 0x513d ! 0x3d8d
0x00005b14 0x01c7 ! 0xe568
0x00005b16 0x4800 ! 0xffff
0x00005b18 0x058d ! 0x15ff
0x00005b1a 0xc74a ! 0xc30a
0x00005b1c 0x0001 = 0x0001
0x00005b1e 0x3948 ! 0x90f4
0x00005b20 0x74f8 ! 0x8d48
0x00005b22 0x4815 ! 0x513d
0x00005b24 0x058b ! 0x01c7
0x00005b26 0xc196 ! 0x4800
0x00005b28 0x0001 ! 0x058d
0x00005b2a 0x8548 ! 0xc74a
0x00005b2c 0x74c0 ! 0x0001
0x00005b2e 0xff09 ! 0x3948
0x00005b30 0x0fe0 ! 0x74f8
0x00005b32 0x801f ! 0x4815
0x00005b34 0x0000 ! 0x058b
0x00005b36 0x0000 ! 0xc196
0x00005b38 0x0fc3 ! 0x0001
0x00005b3a 0x801f ! 0x8548
0x00005b3c 0x0000 ! 0x74c0
0x00005b3e 0x0000 ! 0xff09
0x00005b40 0x8d48 ! 0x0fe0
0x00005b42 0x213d ! 0x801f
0x00005b44 0x01c7 ! 0x0000
0x00005b46 0x4800 ! 0x0000
0x00005b48 0x358d ! 0x0fc3
0x00005b4a 0xc71a ! 0x801f
0x00005b4c 0x0001 ! 0x0000
0x00005b4e 0x2948 ! 0x0000
0x00005b50 0x48fe ! 0x8d48
0x00005b52 0xfec1 ! 0x213d
0x00005b54 0x4803 ! 0x01c7
0x00005b56 0xf089 ! 0x4800
0x00005b58 0xc148 ! 0x358d
0x00005b5a 0x3fe8 ! 0xc71a
0x00005b5c 0x0148 ! 0x0001
0x00005b5e 0x48c6 ! 0x2948
0x00005b60 0xfed1 ! 0x48fe
0x00005b62 0x1474 ! 0xfec1
0x00005b64 0x8b48 ! 0x4803
0x00005b66 0x3d05 ! 0xf089
0x00005b68 0x01c4 ! 0xc148
0x00005b6a 0x4800 ! 0x3fe8
0x00005b6c 0xc085 ! 0x0148
0x00005b6e 0x0874 ! 0x48c6
0x00005b70 0xe0ff ! 0xfed1
0x00005b72 0x0f66 ! 0x1474
0x00005b74 0x441f ! 0x8b48
0x00005b76 0x0000 ! 0x3d05
0x00005b78 0x0fc3 ! 0x01c4
0x00005b7a 0x801f ! 0x4800
0x00005b7c 0x0000 ! 0xc085
0x00005b7e 0x0000 ! 0x0874
0x00005b80 0x0ff3 ! 0xe0ff
0x00005b82 0xfa1e ! 0x0f66
0x00005b84 0x3d80 ! 0x441f
0x00005b86 0xc73d ! 0x0000
0x00005b88 0x0001 ! 0x0fc3
0x00005b8a 0x7500 ! 0x801f
0x00005b8c 0x5533 ! 0x0000
0x00005b8e 0x8348 ! 0x0000
0x00005b90 0x323d ! 0x0ff3
0x00005b92 0x01c4 ! 0xfa1e
0x00005b94 0x0000 ! 0x3d80
0x00005b96 0x8948 ! 0xc73d
0x00005b98 0x74e5 ! 0x0001
0x00005b9a 0x480d ! 0x7500
0x00005b9c 0x3d8b ! 0x5533
0x00005b9e 0xc466 ! 0x8348
0x00005ba0 0x0001 ! 0x323d
0x00005ba2 0x15ff ! 0x01c4
0x00005ba4 0xc420 ! 0x0000
0x00005ba6 0x0001 ! 0x8948
0x00005ba8 0x63e8 ! 0x74e5
0x00005baa 0xffff ! 0x480d
0x00005bac 0xc6ff ! 0x3d8b
0x00005bae 0x1405 ! 0xc466
0x00005bb0 0x01c7 ! 0x0001
0x00005bb2 0x0100 ! 0x15ff
0x00005bb4 0xc35d ! 0xc420
0x00005bb6 0x2e66 ! 0x0001
0x00005bb8 0x1f0f ! 0x63e8
0x00005bba 0x0084 ! 0xffff
0x00005bbc 0x0000 ! 0xc6ff
0x00005bbe 0x0000 ! 0x1405
0x00005bc0 0x66c3 ! 0x01c7
0x00005bc2 0x2e66 ! 0x0100
0x00005bc4 0x1f0f ! 0xc35d
0x00005bc6 0x0084 ! 0x2e66
0x00005bc8 0x0000 ! 0x1f0f
0x00005bca 0x0000 ! 0x0084
0x00005bcc 0x1f0f ! 0x0000
0x00005bce 0x0040 ! 0x0000
0x00005bd0 0x0ff3 ! 0x66c3
0x00005bd2 0xfa1e ! 0x2e66
0x00005bd4 0x67e9 ! 0x1f0f
0x00005bd6 0xffff ! 0x0084
0x00005bd8 0x0fff ! 0x0000
0x00005bda 0x801f ! 0x0000
0x00005bdc 0x0000 ! 0x1f0f
0x00005bde 0x0000 ! 0x0040
--------
0x00005ae0 0xfa1e0ff3 ! 0x01c30315
0x00005ae4 0x8949ed31 ! 0x0f2e6600
0x00005ae8 0x89485ed1 ! 0x0000841f
0x00005aec 0xe48348e2 ! 0x90000000
0x00005af0 0x4c5450f0 ! 0xfa1e0ff3
0x00005af4 0x0c66058d ! 0x8949ed31
0x00005af8 0x8d480001 ! 0x89485ed1
0x00005afc 0x010bef0d ! 0xe48348e2
0x00005b00 0x3d8d4800 ! 0x4c5450f0
0x00005b04 0xffffe568 ! 0x0c66058d
0x00005b08 0xc30a15ff ! 0x8d480001
0x00005b0c 0x90f40001 ! 0x010bef0d
0x00005b10 0x513d8d48 ! 0x3d8d4800
0x00005b14 0x480001c7 ! 0xffffe568
0x00005b18 0xc74a058d ! 0xc30a15ff
0x00005b1c 0x39480001 ! 0x90f40001
0x00005b20 0x481574f8 ! 0x513d8d48
0x00005b24 0xc196058b ! 0x480001c7
0x00005b28 0x85480001 ! 0xc74a058d
0x00005b2c 0xff0974c0 ! 0x39480001
0x00005b30 0x801f0fe0 ! 0x481574f8
0x00005b34 0x00000000 ! 0xc196058b
0x00005b38 0x801f0fc3 ! 0x85480001
0x00005b3c 0x00000000 ! 0xff0974c0
0x00005b40 0x213d8d48 ! 0x801f0fe0
0x00005b44 0x480001c7 ! 0x00000000
0x00005b48 0xc71a358d ! 0x801f0fc3
0x00005b4c 0x29480001 ! 0x00000000
0x00005b50 0xfec148fe ! 0x213d8d48
0x00005b54 0xf0894803 ! 0x480001c7
0x00005b58 0x3fe8c148 ! 0xc71a358d
0x00005b5c 0x48c60148 ! 0x29480001
0x00005b60 0x1474fed1 ! 0xfec148fe
0x00005b64 0x3d058b48 ! 0xf0894803
0x00005b68 0x480001c4 ! 0x3fe8c148
0x00005b6c 0x0874c085 ! 0x48c60148
0x00005b70 0x0f66e0ff ! 0x1474fed1
0x00005b74 0x0000441f ! 0x3d058b48
0x00005b78 0x801f0fc3 ! 0x480001c4
0x00005b7c 0x00000000 ! 0x0874c085
0x00005b80 0xfa1e0ff3 ! 0x0f66e0ff
0x00005b84 0xc73d3d80 ! 0x0000441f
0x00005b88 0x75000001 ! 0x801f0fc3
0x00005b8c 0x83485533 ! 0x00000000
0x00005b90 0x01c4323d ! 0xfa1e0ff3
0x00005b94 0x89480000 ! 0xc73d3d80
0x00005b98 0x480d74e5 ! 0x75000001
0x00005b9c 0xc4663d8b ! 0x83485533
0x00005ba0 0x15ff0001 ! 0x01c4323d
0x00005ba4 0x0001c420 ! 0x89480000
0x00005ba8 0xffff63e8 ! 0x480d74e5
0x00005bac 0x1405c6ff ! 0xc4663d8b
0x00005bb0 0x010001c7 ! 0x15ff0001
0x00005bb4 0x2e66c35d ! 0x0001c420
0x00005bb8 0x00841f0f ! 0xffff63e8
0x00005bbc 0x00000000 ! 0x1405c6ff
0x00005bc0 0x2e6666c3 ! 0x010001c7
0x00005bc4 0x00841f0f ! 0x2e66c35d
0x00005bc8 0x00000000 ! 0x00841f0f
0x00005bcc 0x00401f0f ! 0x00000000
0x00005bd0 0xfa1e0ff3 ! 0x2e6666c3
0x00005bd4 0xffff67e9 ! 0x00841f0f
0x00005bd8 0x801f0fff ! 0x00000000
0x00005bdc 0x00000000 ! 0x00401f0f
--------
0x00005ae0 0x8949ed31fa1e0ff3 ! 0x0f2e660001c30315
0x00005ae8 0xe48348e289485ed1 ! 0x900000000000841f
0x00005af0 0x0c66058d4c5450f0 ! 0x8949ed31fa1e0ff3
0x00005af8 0x010bef0d8d480001 ! 0xe48348e289485ed1
0x00005b00 0xffffe5683d8d4800 ! 0x0c66058d4c5450f0
0x00005b08 0x90f40001c30a15ff ! 0x010bef0d8d480001
0x00005b10 0x480001c7513d8d48 ! 0xffffe5683d8d4800
0x00005b18 0x39480001c74a058d ! 0x90f40001c30a15ff
0x00005b20 0xc196058b481574f8 ! 0x480001c7513d8d48
0x00005b28 0xff0974c085480001 ! 0x39480001c74a058d
0x00005b30 0x00000000801f0fe0 ! 0xc196058b481574f8
0x00005b38 0x00000000801f0fc3 ! 0xff0974c085480001
0x00005b40 0x480001c7213d8d48 ! 0x00000000801f0fe0
0x00005b48 0x29480001c71a358d ! 0x00000000801f0fc3
0x00005b50 0xf0894803fec148fe ! 0x480001c7213d8d48
0x00005b58 0x48c601483fe8c148 ! 0x29480001c71a358d
0x00005b60 0x3d058b481474fed1 ! 0xf0894803fec148fe
0x00005b68 0x0874c085480001c4 ! 0x48c601483fe8c148
0x00005b70 0x0000441f0f66e0ff ! 0x3d058b481474fed1
0x00005b78 0x00000000801f0fc3 ! 0x0874c085480001c4
0x00005b80 0xc73d3d80fa1e0ff3 ! 0x0000441f0f66e0ff
0x00005b88 0x8348553375000001 ! 0x00000000801f0fc3
0x00005b90 0x8948000001c4323d ! 0xc73d3d80fa1e0ff3
0x00005b98 0xc4663d8b480d74e5 ! 0x8348553375000001
0x00005ba0 0x0001c42015ff0001 ! 0x8948000001c4323d
0x00005ba8 0x1405c6ffffff63e8 ! 0xc4663d8b480d74e5
0x00005bb0 0x2e66c35d010001c7 ! 0x0001c42015ff0001
0x00005bb8 0x0000000000841f0f ! 0x1405c6ffffff63e8
0x00005bc0 0x00841f0f2e6666c3 ! 0x2e66c35d010001c7
0x00005bc8 0x00401f0f00000000 ! 0x0000000000841f0f
0x00005bd0 0xffff67e9fa1e0ff3 ! 0x00841f0f2e6666c3
0x00005bd8 0x00000000801f0fff ! 0x00401f0f00000000
-------- be
0x00005ae0 0xf30f1efa ! 0x1503c301
0x00005ae4 0x31ed4989 ! 0x00662e0f
0x00005ae8 0xd15e4889 ! 0x1f840000
0x00005aec 0xe24883e4 ! 0x00000090
0x00005af0 0xf050544c ! 0xf30f1efa
0x00005af4 0x8d05660c ! 0x31ed4989
0x00005af8 0x0100488d ! 0xd15e4889
0x00005afc 0x0def0b01 ! 0xe24883e4
0x00005b00 0x00488d3d ! 0xf050544c
0x00005b04 0x68e5ffff ! 0x8d05660c
0x00005b08 0xff150ac3 ! 0x0100488d
0x00005b0c 0x0100f490 ! 0x0def0b01
0x00005b10 0x488d3d51 ! 0x00488d3d
0x00005b14 0xc7010048 ! 0x68e5ffff
0x00005b18 0x8d054ac7 ! 0xff150ac3
0x00005b1c 0x01004839 ! 0x0100f490
0x00005b20 0xf8741548 ! 0x488d3d51
0x00005b24 0x8b0596c1 ! 0xc7010048
0x00005b28 0x01004885 ! 0x8d054ac7
0x00005b2c 0xc07409ff ! 0x01004839
0x00005b30 0xe00f1f80 ! 0xf8741548
0x00005b34 0x00000000 ! 0x8b0596c1
0x00005b38 0xc30f1f80 ! 0x01004885
0x00005b3c 0x00000000 ! 0xc07409ff
0x00005b40 0x488d3d21 ! 0xe00f1f80
0x00005b44 0xc7010048 ! 0x00000000
0x00005b48 0x8d351ac7 ! 0xc30f1f80
0x00005b4c 0x01004829 ! 0x00000000
0x00005b50 0xfe48c1fe ! 0x488d3d21
0x00005b54 0x034889f0 ! 0xc7010048
0x00005b58 0x48c1e83f ! 0x8d351ac7
0x00005b5c 0x4801c648 ! 0x01004829
0x00005b60 0xd1fe7414 ! 0xfe48c1fe
0x00005b64 0x488b053d ! 0x034889f0
0x00005b68 0xc4010048 ! 0x48c1e83f
0x00005b6c 0x85c07408 ! 0x4801c648
0x00005b70 0xffe0660f ! 0xd1fe7414
0x00005b74 0x1f440000 ! 0x488b053d
0x00005b78 0xc30f1f80 ! 0xc4010048
0x00005b7c 0x00000000 ! 0x85c07408
0x00005b80 0xf30f1efa ! 0xffe0660f
0x00005b84 0x803d3dc7 ! 0x1f440000
0x00005b88 0x01000075 ! 0xc30f1f80
0x00005b8c 0x33554883 ! 0x00000000
0x00005b90 0x3d32c401 ! 0xf30f1efa
0x00005b94 0x00004889 ! 0x803d3dc7
0x00005b98 0xe5740d48 ! 0x01000075
0x00005b9c 0x8b3d66c4 ! 0x33554883
0x00005ba0 0x0100ff15 ! 0x3d32c401
0x00005ba4 0x20c40100 ! 0x00004889
0x00005ba8 0xe863ffff ! 0xe5740d48
0x00005bac 0xffc60514 ! 0x8b3d66c4
0x00005bb0 0xc7010001 ! 0x0100ff15
0x00005bb4 0x5dc3662e ! 0x20c40100
0x00005bb8 0x0f1f8400 ! 0xe863ffff
0x00005bbc 0x00000000 ! 0xffc60514
0x00005bc0 0xc366662e ! 0xc7010001
0x00005bc4 0x0f1f8400 ! 0x5dc3662e
0x00005bc8 0x00000000 ! 0x0f1f8400
0x00005bcc 0x0f1f4000 ! 0x00000000
0x00005bd0 0xf30f1efa ! 0xc366662e
0x00005bd4 0xe967ffff ! 0x0f1f8400
0x00005bd8 0xff0f1f80 ! 0x00000000
0x00005bdc 0x00000000 ! 0x0f1f4000
EOF
RUN
NAME=cmd_cud
FILE=bins/elf/ls
CMDS=<<EOF
cud 0x5a8d
EOF
EXPECT=<<EOF
-0x00005ae0 endbr64
+0x00005a8d add dword [rax], eax
-0x00005ae4 xor ebp, ebp
+0x00005a8f call qword [rip+0x1c343]
-0x00005ae6 mov r9, rdx
+0x00005a95 lea rcx, qword [rip+0x11cbe]
-0x00005ae9 pop rsi
+0x00005a9c mov edx, 0x670
-0x00005aea mov rdx, rsp
+0x00005aa1 lea rsi, qword [rip+0x12dcf]
-0x00005aed and rsp, 0xfffffffffffffff0
+0x00005aa8 lea rdi, qword [rip+0x153b9]
-0x00005af1 push rax
+0x00005aaf call qword [rip+0x1c323]
-0x00005af2 push rsp
+0x00005ab5 lea rcx, qword [rip+0x11bfc]
-0x00005af3 lea r8, qword [rip+0x10c66]
+0x00005abc mov edx, 0x403
-0x00005afa lea rcx, qword [rip+0x10bef]
+0x00005ac1 lea rsi, qword [rip+0x12daf]
-0x00005b01 lea rdi, qword [rip-0x1a98]
+0x00005ac8 lea rdi, qword [rip+0x15339]
-0x00005b08 call qword [rip+0x1c30a]
+0x00005acf call qword [rip+0x1c303]
-0x00005b0e hlt
+0x00005ad5 nop word [rax+rax*1], ax
0x00005b0f nop
-0x00005b10 lea rdi, qword [rip+0x1c751]
+0x00005ae0 endbr64
-0x00005b17 lea rax, qword [rip+0x1c74a]
+0x00005ae4 xor ebp, ebp
-0x00005b1e cmp rax, rdi
+0x00005ae6 mov r9, rdx
-0x00005b21 jz 0x5b38
+0x00005ae9 pop rsi
-0x00005b23 mov rax, qword [rip+0x1c196]
+0x00005aea mov rdx, rsp
-0x00005b2a test rax, rax
+0x00005aed and rsp, 0xfffffffffffffff0
-0x00005b2d jz 0x5b38
+0x00005af1 push rax
-0x00005b2f jmp rax
+0x00005af2 push rsp
-0x00005b31 nop dword [rax], eax
+0x00005af3 lea r8, qword [rip+0x10c66]
-0x00005b38 ret
+0x00005afa lea rcx, qword [rip+0x10bef]
-0x00005b39 nop dword [rax], eax
+0x00005b01 lea rdi, qword [rip-0x1a98]
-0x00005b40 lea rdi, qword [rip+0x1c721]
+0x00005b08 call qword [rip+0x1c30a]
-0x00005b47 lea rsi, qword [rip+0x1c71a]
+0x00005b0e hlt
-0x00005b4e sub rsi, rdi
+0x00005b0f nop
-0x00005b51 sar rsi, 0x03
+0x00005b10 lea rdi, qword [rip+0x1c751]
-0x00005b55 mov rax, rsi
+0x00005b17 lea rax, qword [rip+0x1c74a]
-0x00005b58 shr rax, 0x3f
+0x00005b1e cmp rax, rdi
-0x00005b5c add rsi, rax
+0x00005b21 jz 0x5b20
-0x00005b5f sar rsi, 0x01
+0x00005b23 mov rax, qword [rip+0x1c196]
-0x00005b62 jz 0x5b78
+0x00005b2a test rax, rax
-0x00005b64 mov rax, qword [rip+0x1c43d]
+0x00005b2d jz 0x5b1c
-0x00005b6b test rax, rax
+0x00005b2f jmp rax
-0x00005b6e jz 0x5b78
+0x00005b31 nop dword [rax], eax
-0x00005b70 jmp rax
+0x00005b38 ret
-0x00005b72 nop word [rax+rax*1], ax
+0x00005b39 nop dword [rax], eax
-0x00005b78 ret
+0x00005b40 lea rdi, qword [rip+0x1c721]
-0x00005b79 nop dword [rax], eax
+0x00005b47 lea rsi, qword [rip+0x1c71a]
-0x00005b80 endbr64
+0x00005b4e sub rsi, rdi
-0x00005b84 cmp byte [rip+0x1c73d], 0x00
+0x00005b51 sar rsi, 0x03
-0x00005b8b jnz 0x5bc0
+0x00005b55 mov rax, rsi
-0x00005b8d push rbp
+0x00005b58 shr rax, 0x3f
-0x00005b8e cmp qword [rip+0x1c432], 0x00
+0x00005b5c add rsi, rax
-0x00005b96 mov rbp, rsp
+0x00005b5f sar rsi, 0x01
-0x00005b99 jz 0x5ba8
+0x00005b62 jz 0x5b5c
-0x00005b9b mov rdi, qword [rip+0x1c466]
+0x00005b64 mov rax, qword [rip+0x1c43d]
-0x00005ba2 call qword [rip+0x1c420]
+0x00005b6b test rax, rax
-0x00005ba8 call 0x5b10
+0x00005b6e jz 0x5b5f
-0x00005bad mov byte [rip+0x1c714], 0x01
+0x00005b70 jmp rax
-0x00005bb4 pop rbp
+0x00005b72 nop word [rax+rax*1], ax
0x00005bb5 ret
-0x00005bb6 nop word [rax+rax*1], ax
+0x00005b79 nop dword [rax], eax
-0x00005bc0 ret
+0x00005b80 endbr64
-0x00005bc1 nop word [rax+rax*1], ax
+0x00005b84 cmp byte [rip+0x1c73d], 0x00
-0x00005bcc nop dword [rax], eax
+0x00005b8b jnz 0x5bae
EOF
RUN
NAME=cmd_cw
FILE=bins/elf/ls
CMDS=<<EOF
cwl
echo --------
cw 8 'pd 2' @ 0x5ae0
cwl
echo --------
cwx @ 0x5ae0
cwl
EOF
EXPECT=<<EOF
--------
0x00005ae0
;-- entry0:
0x00005ae0 endbr64
0x00005ae4 xor ebp, ebp
--------
EOF
RUN
NAME=add memory watcher at the same address multiple times and do not crash
FILE=bins/elf/ls
CMDS=<<EOF
cw 8 'pd 2' @ 0x5ae0
cw 8 'pd 2' @ 0x5ae0
cw 8 'pd 2' @ 0x5ae0
cw 8 'pd 2' @ 0x5ae0
cwl
EOF
EXPECT=<<EOF
0x00005ae0
;-- entry0:
0x00005ae0 endbr64
0x00005ae4 xor ebp, ebp
EOF
RUN
NAME=cmd_cx
FILE=bins/elf/ls
CMDS=<<EOF
cx 12 34 56 78 90 ab cd ef
%v
cx f3..1e
%v
EOF
EXPECT=<<EOF
0x00005ae0 (byte=01) f3 ' ' -> 12 ' '
0x00005ae1 (byte=02) 0f ' ' -> 34 '4'
0x00005ae2 (byte=03) 1e ' ' -> 56 'V'
0x00005ae3 (byte=04) fa ' ' -> 78 'x'
0x00005ae4 (byte=05) 31 '1' -> 90 ' '
0x00005ae5 (byte=06) ed ' ' -> ab ' '
0x00005ae6 (byte=07) 49 'I' -> cd ' '
0x00005ae7 (byte=08) 89 ' ' -> ef ' '
Compare 0/8 equal bytes (0%)
0x1
Compare 3/3 equal bytes (100%)
0x0
EOF
RUN
NAME=cmd_cX
FILE=bins/elf/ls
CMDS=<<EOF
cX 0x5b00
EOF
EXPECT=<<EOF
0x00005ae0 (byte=01) f3 ' ' -> 00 ' '
0x00005ae1 (byte=02) 0f ' ' -> 48 'H'
0x00005ae2 (byte=03) 1e ' ' -> 8d ' '
0x00005ae3 (byte=04) fa ' ' -> 3d '='
0x00005ae4 (byte=05) 31 '1' -> 68 'h'
0x00005ae5 (byte=06) ed ' ' -> e5 ' '
0x00005ae6 (byte=07) 49 'I' -> ff ' '
0x00005ae7 (byte=08) 89 ' ' -> ff ' '
0x00005ae8 (byte=09) d1 ' ' -> ff ' '
0x00005ae9 (byte=10) 5e '^' -> 15 ' '
0x00005aea (byte=11) 48 'H' -> 0a ' '
0x00005aeb (byte=12) 89 ' ' -> c3 ' '
0x00005aec (byte=13) e2 ' ' -> 01 ' '
0x00005aed (byte=14) 48 'H' -> 00 ' '
0x00005aee (byte=15) 83 ' ' -> f4 ' '
0x00005aef (byte=16) e4 ' ' -> 90 ' '
0x00005af0 (byte=17) f0 ' ' -> 48 'H'
0x00005af1 (byte=18) 50 'P' -> 8d ' '
0x00005af2 (byte=19) 54 'T' -> 3d '='
0x00005af3 (byte=20) 4c 'L' -> 51 'Q'
0x00005af4 (byte=21) 8d ' ' -> c7 ' '
0x00005af5 (byte=22) 05 ' ' -> 01 ' '
0x00005af6 (byte=23) 66 'f' -> 00 ' '
0x00005af7 (byte=24) 0c ' ' -> 48 'H'
0x00005af8 (byte=25) 01 ' ' -> 8d ' '
0x00005af9 (byte=26) 00 ' ' -> 05 ' '
0x00005afa (byte=27) 48 'H' -> 4a 'J'
0x00005afb (byte=28) 8d ' ' -> c7 ' '
0x00005afc (byte=29) 0d ' ' -> 01 ' '
0x00005afd (byte=30) ef ' ' -> 00 ' '
0x00005afe (byte=31) 0b ' ' -> 48 'H'
0x00005aff (byte=32) 01 ' ' -> 39 '9'
0x00005b00 (byte=33) 00 ' ' -> f8 ' '
0x00005b01 (byte=34) 48 'H' -> 74 't'
0x00005b02 (byte=35) 8d ' ' -> 15 ' '
0x00005b03 (byte=36) 3d '=' -> 48 'H'
0x00005b04 (byte=37) 68 'h' -> 8b ' '
0x00005b05 (byte=38) e5 ' ' -> 05 ' '
0x00005b06 (byte=39) ff ' ' -> 96 ' '
0x00005b07 (byte=40) ff ' ' -> c1 ' '
0x00005b08 (byte=41) ff ' ' -> 01 ' '
0x00005b09 (byte=42) 15 ' ' -> 00 ' '
0x00005b0a (byte=43) 0a ' ' -> 48 'H'
0x00005b0b (byte=44) c3 ' ' -> 85 ' '
0x00005b0c (byte=45) 01 ' ' -> c0 ' '
0x00005b0d (byte=46) 00 ' ' -> 74 't'
0x00005b0e (byte=47) f4 ' ' -> 09 ' '
0x00005b0f (byte=48) 90 ' ' -> ff ' '
0x00005b10 (byte=49) 48 'H' -> e0 ' '
0x00005b11 (byte=50) 8d ' ' -> 0f ' '
0x00005b12 (byte=51) 3d '=' -> 1f ' '
0x00005b13 (byte=52) 51 'Q' -> 80 ' '
0x00005b14 (byte=53) c7 ' ' -> 00 ' '
0x00005b15 (byte=54) 01 ' ' -> 00 ' '
0x00005b17 (byte=56) 48 'H' -> 00 ' '
0x00005b18 (byte=57) 8d ' ' -> c3 ' '
0x00005b19 (byte=58) 05 ' ' -> 0f ' '
0x00005b1a (byte=59) 4a 'J' -> 1f ' '
0x00005b1b (byte=60) c7 ' ' -> 80 ' '
0x00005b1c (byte=61) 01 ' ' -> 00 ' '
0x00005b1e (byte=63) 48 'H' -> 00 ' '
0x00005b1f (byte=64) 39 '9' -> 00 ' '
0x00005b20 (byte=65) f8 ' ' -> 48 'H'
0x00005b21 (byte=66) 74 't' -> 8d ' '
0x00005b22 (byte=67) 15 ' ' -> 3d '='
0x00005b23 (byte=68) 48 'H' -> 21 '!'
0x00005b24 (byte=69) 8b ' ' -> c7 ' '
0x00005b25 (byte=70) 05 ' ' -> 01 ' '
0x00005b26 (byte=71) 96 ' ' -> 00 ' '
0x00005b27 (byte=72) c1 ' ' -> 48 'H'
0x00005b28 (byte=73) 01 ' ' -> 8d ' '
0x00005b29 (byte=74) 00 ' ' -> 35 '5'
0x00005b2a (byte=75) 48 'H' -> 1a ' '
0x00005b2b (byte=76) 85 ' ' -> c7 ' '
0x00005b2c (byte=77) c0 ' ' -> 01 ' '
0x00005b2d (byte=78) 74 't' -> 00 ' '
0x00005b2e (byte=79) 09 ' ' -> 48 'H'
0x00005b2f (byte=80) ff ' ' -> 29 ')'
0x00005b30 (byte=81) e0 ' ' -> fe ' '
0x00005b31 (byte=82) 0f ' ' -> 48 'H'
0x00005b32 (byte=83) 1f ' ' -> c1 ' '
0x00005b33 (byte=84) 80 ' ' -> fe ' '
0x00005b34 (byte=85) 00 ' ' -> 03 ' '
0x00005b35 (byte=86) 00 ' ' -> 48 'H'
0x00005b36 (byte=87) 00 ' ' -> 89 ' '
0x00005b37 (byte=88) 00 ' ' -> f0 ' '
0x00005b38 (byte=89) c3 ' ' -> 48 'H'
0x00005b39 (byte=90) 0f ' ' -> c1 ' '
0x00005b3a (byte=91) 1f ' ' -> e8 ' '
0x00005b3b (byte=92) 80 ' ' -> 3f '?'
0x00005b3c (byte=93) 00 ' ' -> 48 'H'
0x00005b3d (byte=94) 00 ' ' -> 01 ' '
0x00005b3e (byte=95) 00 ' ' -> c6 ' '
0x00005b3f (byte=96) 00 ' ' -> 48 'H'
0x00005b40 (byte=97) 48 'H' -> d1 ' '
0x00005b41 (byte=98) 8d ' ' -> fe ' '
0x00005b42 (byte=99) 3d '=' -> 74 't'
0x00005b43 (byte=100) 21 '!' -> 14 ' '
0x00005b44 (byte=101) c7 ' ' -> 48 'H'
0x00005b45 (byte=102) 01 ' ' -> 8b ' '
0x00005b46 (byte=103) 00 ' ' -> 05 ' '
0x00005b47 (byte=104) 48 'H' -> 3d '='
0x00005b48 (byte=105) 8d ' ' -> c4 ' '
0x00005b49 (byte=106) 35 '5' -> 01 ' '
0x00005b4a (byte=107) 1a ' ' -> 00 ' '
0x00005b4b (byte=108) c7 ' ' -> 48 'H'
0x00005b4c (byte=109) 01 ' ' -> 85 ' '
0x00005b4d (byte=110) 00 ' ' -> c0 ' '
0x00005b4e (byte=111) 48 'H' -> 74 't'
0x00005b4f (byte=112) 29 ')' -> 08 ' '
0x00005b50 (byte=113) fe ' ' -> ff ' '
0x00005b51 (byte=114) 48 'H' -> e0 ' '
0x00005b52 (byte=115) c1 ' ' -> 66 'f'
0x00005b53 (byte=116) fe ' ' -> 0f ' '
0x00005b54 (byte=117) 03 ' ' -> 1f ' '
0x00005b55 (byte=118) 48 'H' -> 44 'D'
0x00005b56 (byte=119) 89 ' ' -> 00 ' '
0x00005b57 (byte=120) f0 ' ' -> 00 ' '
0x00005b58 (byte=121) 48 'H' -> c3 ' '
0x00005b59 (byte=122) c1 ' ' -> 0f ' '
0x00005b5a (byte=123) e8 ' ' -> 1f ' '
0x00005b5b (byte=124) 3f '?' -> 80 ' '
0x00005b5c (byte=125) 48 'H' -> 00 ' '
0x00005b5d (byte=126) 01 ' ' -> 00 ' '
0x00005b5e (byte=127) c6 ' ' -> 00 ' '
0x00005b5f (byte=128) 48 'H' -> 00 ' '
0x00005b60 (byte=129) d1 ' ' -> f3 ' '
0x00005b61 (byte=130) fe ' ' -> 0f ' '
0x00005b62 (byte=131) 74 't' -> 1e ' '
0x00005b63 (byte=132) 14 ' ' -> fa ' '
0x00005b64 (byte=133) 48 'H' -> 80 ' '
0x00005b65 (byte=134) 8b ' ' -> 3d '='
0x00005b66 (byte=135) 05 ' ' -> 3d '='
0x00005b67 (byte=136) 3d '=' -> c7 ' '
0x00005b68 (byte=137) c4 ' ' -> 01 ' '
0x00005b69 (byte=138) 01 ' ' -> 00 ' '
0x00005b6b (byte=140) 48 'H' -> 75 'u'
0x00005b6c (byte=141) 85 ' ' -> 33 '3'
0x00005b6d (byte=142) c0 ' ' -> 55 'U'
0x00005b6e (byte=143) 74 't' -> 48 'H'
0x00005b6f (byte=144) 08 ' ' -> 83 ' '
0x00005b70 (byte=145) ff ' ' -> 3d '='
0x00005b71 (byte=146) e0 ' ' -> 32 '2'
0x00005b72 (byte=147) 66 'f' -> c4 ' '
0x00005b73 (byte=148) 0f ' ' -> 01 ' '
0x00005b74 (byte=149) 1f ' ' -> 00 ' '
0x00005b75 (byte=150) 44 'D' -> 00 ' '
0x00005b76 (byte=151) 00 ' ' -> 48 'H'
0x00005b77 (byte=152) 00 ' ' -> 89 ' '
0x00005b78 (byte=153) c3 ' ' -> e5 ' '
0x00005b79 (byte=154) 0f ' ' -> 74 't'
0x00005b7a (byte=155) 1f ' ' -> 0d ' '
0x00005b7b (byte=156) 80 ' ' -> 48 'H'
0x00005b7c (byte=157) 00 ' ' -> 8b ' '
0x00005b7d (byte=158) 00 ' ' -> 3d '='
0x00005b7e (byte=159) 00 ' ' -> 66 'f'
0x00005b7f (byte=160) 00 ' ' -> c4 ' '
0x00005b80 (byte=161) f3 ' ' -> 01 ' '
0x00005b81 (byte=162) 0f ' ' -> 00 ' '
0x00005b82 (byte=163) 1e ' ' -> ff ' '
0x00005b83 (byte=164) fa ' ' -> 15 ' '
0x00005b84 (byte=165) 80 ' ' -> 20 ' '
0x00005b85 (byte=166) 3d '=' -> c4 ' '
0x00005b86 (byte=167) 3d '=' -> 01 ' '
0x00005b87 (byte=168) c7 ' ' -> 00 ' '
0x00005b88 (byte=169) 01 ' ' -> e8 ' '
0x00005b89 (byte=170) 00 ' ' -> 63 'c'
0x00005b8a (byte=171) 00 ' ' -> ff ' '
0x00005b8b (byte=172) 75 'u' -> ff ' '
0x00005b8c (byte=173) 33 '3' -> ff ' '
0x00005b8d (byte=174) 55 'U' -> c6 ' '
0x00005b8e (byte=175) 48 'H' -> 05 ' '
0x00005b8f (byte=176) 83 ' ' -> 14 ' '
0x00005b90 (byte=177) 3d '=' -> c7 ' '
0x00005b91 (byte=178) 32 '2' -> 01 ' '
0x00005b92 (byte=179) c4 ' ' -> 00 ' '
0x00005b94 (byte=181) 00 ' ' -> 5d ']'
0x00005b95 (byte=182) 00 ' ' -> c3 ' '
0x00005b96 (byte=183) 48 'H' -> 66 'f'
0x00005b97 (byte=184) 89 ' ' -> 2e '.'
0x00005b98 (byte=185) e5 ' ' -> 0f ' '
0x00005b99 (byte=186) 74 't' -> 1f ' '
0x00005b9a (byte=187) 0d ' ' -> 84 ' '
0x00005b9b (byte=188) 48 'H' -> 00 ' '
0x00005b9c (byte=189) 8b ' ' -> 00 ' '
0x00005b9d (byte=190) 3d '=' -> 00 ' '
0x00005b9e (byte=191) 66 'f' -> 00 ' '
0x00005b9f (byte=192) c4 ' ' -> 00 ' '
0x00005ba0 (byte=193) 01 ' ' -> c3 ' '
0x00005ba1 (byte=194) 00 ' ' -> 66 'f'
0x00005ba2 (byte=195) ff ' ' -> 66 'f'
0x00005ba3 (byte=196) 15 ' ' -> 2e '.'
0x00005ba4 (byte=197) 20 ' ' -> 0f ' '
0x00005ba5 (byte=198) c4 ' ' -> 1f ' '
0x00005ba6 (byte=199) 01 ' ' -> 84 ' '
0x00005ba8 (byte=201) e8 ' ' -> 00 ' '
0x00005ba9 (byte=202) 63 'c' -> 00 ' '
0x00005baa (byte=203) ff ' ' -> 00 ' '
0x00005bab (byte=204) ff ' ' -> 00 ' '
0x00005bac (byte=205) ff ' ' -> 0f ' '
0x00005bad (byte=206) c6 ' ' -> 1f ' '
0x00005bae (byte=207) 05 ' ' -> 40 '@'
0x00005baf (byte=208) 14 ' ' -> 00 ' '
0x00005bb0 (byte=209) c7 ' ' -> f3 ' '
0x00005bb1 (byte=210) 01 ' ' -> 0f ' '
0x00005bb2 (byte=211) 00 ' ' -> 1e ' '
0x00005bb3 (byte=212) 01 ' ' -> fa ' '
0x00005bb4 (byte=213) 5d ']' -> e9 ' '
0x00005bb5 (byte=214) c3 ' ' -> 67 'g'
0x00005bb6 (byte=215) 66 'f' -> ff ' '
0x00005bb7 (byte=216) 2e '.' -> ff ' '
0x00005bb8 (byte=217) 0f ' ' -> ff ' '
0x00005bb9 (byte=218) 1f ' ' -> 0f ' '
0x00005bba (byte=219) 84 ' ' -> 1f ' '
0x00005bbb (byte=220) 00 ' ' -> 80 ' '
0x00005bc0 (byte=225) c3 ' ' -> 48 'H'
0x00005bc1 (byte=226) 66 'f' -> 8b ' '
0x00005bc2 (byte=227) 66 'f' -> 07 ' '
0x00005bc3 (byte=228) 2e '.' -> 31 '1'
0x00005bc4 (byte=229) 0f ' ' -> d2 ' '
0x00005bc5 (byte=230) 1f ' ' -> 48 'H'
0x00005bc6 (byte=231) 84 ' ' -> f7 ' '
0x00005bc7 (byte=232) 00 ' ' -> f6 ' '
0x00005bc8 (byte=233) 00 ' ' -> 48 'H'
0x00005bc9 (byte=234) 00 ' ' -> 89 ' '
0x00005bca (byte=235) 00 ' ' -> d0 ' '
0x00005bcb (byte=236) 00 ' ' -> c3 ' '
0x00005bd0 (byte=241) f3 ' ' -> 31 '1'
0x00005bd1 (byte=242) 0f ' ' -> c0 ' '
0x00005bd2 (byte=243) 1e ' ' -> 48 'H'
0x00005bd3 (byte=244) fa ' ' -> 8b ' '
0x00005bd4 (byte=245) e9 ' ' -> 16 ' '
0x00005bd5 (byte=246) 67 'g' -> 48 'H'
0x00005bd6 (byte=247) ff ' ' -> 39 '9'
0x00005bd7 (byte=248) ff ' ' -> 17 ' '
0x00005bd8 (byte=249) ff ' ' -> 74 't'
0x00005bd9 (byte=250) 0f ' ' -> 06 ' '
0x00005bda (byte=251) 1f ' ' -> c3 ' '
0x00005bdb (byte=252) 80 ' ' -> 0f ' '
0x00005bdc (byte=253) 00 ' ' -> 1f ' '
0x00005bdd (byte=254) 00 ' ' -> 44 'D'
Compare 15/256 equal bytes (5%)
EOF
RUN