mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-04 20:46:20 +00:00
2293d29308
* x86 cmp/sub esil: Support bitsize of 64 * Fix pij tests * Don't shift if bitsize is 0 * Don't esilprint anything if bitsize is invalid * Use %u instead of %d * Check whether bitsize is 0
871 lines
33 KiB
Plaintext
871 lines
33 KiB
Plaintext
NAME=p2 hello-linux-x86_64
|
||
FILE=bins/elf/analysis/hello-linux-x86_64
|
||
CMDS=p2 16
|
||
EXPECT=<<EOF
|
||
----..==----##..
|
||
--==####..####..
|
||
==..##..------==
|
||
--==####..####--
|
||
==..==##--##==##
|
||
..----####--====
|
||
==..==..########
|
||
##..##==--==##--
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p= 0xff 0x00
|
||
FILE=-
|
||
BROKEN=1
|
||
CMDS=<<EOF
|
||
b 2
|
||
wx 0xff
|
||
p= 2@0
|
||
EOF
|
||
EXPECT=<<EOF
|
||
___________________________________________________
|
||
00 00ff | __________________________________________________|
|
||
01 0000 ||
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p=b 0xff 0x00
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
b 2
|
||
wx 0xff
|
||
e zoom.in=raw
|
||
p=b 2 2@0
|
||
EOF
|
||
EXPECT=<<EOF
|
||
0x00000000 000 00ff |###################################################
|
||
0x00000001 001 0000 |#
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p= - crash
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
e zoom.in = block
|
||
p=p" 1 " 1 EN
|
||
EOF
|
||
EXPECT=<<EOF
|
||
0x00000000 000 0000 |#
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p=d
|
||
FILE=bins/elf/arm1.bin
|
||
ARGS=-n
|
||
CMDS=p=d 10 @ 0
|
||
EXPECT=<<EOF
|
||
min: 0 0x0
|
||
max: 127 0x7f
|
||
unique (count): 6 0x6
|
||
range (max-min): 127 0x7f
|
||
size (of block): 10 0xa
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p=e 5
|
||
FILE=bins/elf/arm1.bin
|
||
CMDS=p=e 5@0
|
||
EXPECT=<<EOF
|
||
0x00000000 000 009f |########
|
||
0x0001bec1 001 00c3 |#
|
||
0x00037d82 002 00c3 |#
|
||
0x00053c43 003 00c3 |#######################################
|
||
0x0006fb04 004 0051 |################
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p=e 5 0x100
|
||
FILE=bins/elf/arm1.bin
|
||
ARGS=-n
|
||
CMDS=<<EOF
|
||
e zoom.in = block
|
||
p=e 5 0x100
|
||
EOF
|
||
EXPECT=<<EOF
|
||
0x00000000 000 007f |#########################
|
||
0x00000033 001 006b |###
|
||
0x00000066 002 007a |#########################
|
||
0x00000099 003 006a |#####################
|
||
0x000000cc 004 005f |###################
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p=e 5 0x100 1
|
||
FILE=bins/elf/arm1.bin
|
||
ARGS=-n
|
||
CMDS=<<EOF
|
||
e zoom.in = block
|
||
p=e 5 0x100 1
|
||
EOF
|
||
EXPECT=<<EOF
|
||
0x00000000 000 006b |###
|
||
0x00000033 001 007a |#########################
|
||
0x00000066 002 006a |#####################
|
||
0x00000099 003 005f |###################
|
||
0x000000cc 004 0059 |##################
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p=p 5
|
||
FILE=bins/elf/arm1.bin
|
||
ARGS=-n
|
||
CMDS=p=p 5@0
|
||
EXPECT=<<EOF
|
||
0x00000000 000 0032 |##########
|
||
0x0001bec1 001 0031 |#
|
||
0x00037d82 002 0035 |###
|
||
0x00053c43 003 0040 |###########
|
||
0x0006fb04 004 0076 |########################
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p=p 5 0x100
|
||
FILE=bins/elf/arm1.bin
|
||
ARGS=-n
|
||
CMDS=<<EOF
|
||
e zoom.in = block
|
||
p=p 5 0x100
|
||
EOF
|
||
EXPECT=<<EOF
|
||
0x00000000 000 0032 |#########
|
||
0x00000033 001 0019 |#
|
||
0x00000066 002 001e |#
|
||
0x00000099 003 001e |##
|
||
0x000000cc 004 0028 |########
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p=p 5 0x100 1
|
||
FILE=bins/elf/arm1.bin
|
||
ARGS=-n
|
||
CMDS=<<EOF
|
||
e zoom.in = block
|
||
p=p 5 0x100 1
|
||
EOF
|
||
EXPECT=<<EOF
|
||
0x00000000 000 0019 |#
|
||
0x00000033 001 001e |#
|
||
0x00000066 002 001e |##
|
||
0x00000099 003 0028 |#######
|
||
0x000000cc 004 001e |######
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p8 10
|
||
FILE=malloc://1024
|
||
CMDS=wx 90909090909090909090 ; p8 10
|
||
EXPECT=<<EOF
|
||
90909090909090909090
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p8 -10
|
||
FILE=malloc://1024
|
||
CMDS=wx 90909090909090909090 ; s 10 ; p8 -10
|
||
EXPECT=<<EOF
|
||
90909090909090909090
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi 3
|
||
FILE=malloc://512
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx b8010000004839ca7f
|
||
pi 3
|
||
EOF
|
||
EXPECT=<<EOF
|
||
mov eax, 1
|
||
cmp rdx, rcx
|
||
jg 0xa
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pij 3
|
||
FILE=malloc://512
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx b8010000004839ca7f
|
||
pij 3
|
||
EOF
|
||
EXPECT=<<EOF
|
||
[{"offset":0,"val":1,"esil":"1,rax,=","refptr":false,"fcn_addr":0,"fcn_last":0,"size":5,"opcode":"mov eax, 1","disasm":"mov eax, 1","bytes":"b801000000","family":"cpu","type":"mov","reloc":false,"type_num":9,"type2_num":0},{"offset":5,"esil":"rcx,rdx,==,$z,zf,:=,64,$b,cf,:=,$p,pf,:=,63,$s,sf,:=,rcx,0x8000000000000000,-,!,63,$o,^,of,:=,3,$b,af,:=","refptr":false,"fcn_addr":0,"fcn_last":0,"size":3,"opcode":"cmp rdx, rcx","disasm":"cmp rdx, rcx","bytes":"4839ca","family":"cpu","type":"cmp","reloc":false,"type_num":15,"type2_num":0},{"offset":8,"esil":"sf,of,!,^,zf,!,&,?{,10,rip,=,}","refptr":false,"fcn_addr":0,"fcn_last":0,"size":2,"opcode":"jg 0xa","disasm":"jg 0xa","bytes":"7f00","family":"cpu","type":"cjmp","reloc":false,"type_num":2147483649,"type2_num":0,"jump":10,"fail":10}]
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi 6
|
||
FILE=malloc://512
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx b8010000004839ca7f00b8010000004839ca7f00
|
||
pi 6
|
||
EOF
|
||
EXPECT=<<EOF
|
||
mov eax, 1
|
||
cmp rdx, rcx
|
||
jg 0xa
|
||
mov eax, 1
|
||
cmp rdx, rcx
|
||
jg 0x14
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi -5 @ 0x0040050f
|
||
FILE=bins/elf/analysis/main
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
pi -5 @ 0x0040050f
|
||
EOF
|
||
EXPECT=<<EOF
|
||
pop rbp
|
||
jmp sym.register_tm_clones
|
||
push rbp
|
||
mov rbp, rsp
|
||
mov edi, str.Hello_World
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi -5 @ 0x0040050f (anal)
|
||
FILE=bins/elf/analysis/main
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
aaa
|
||
pi -5 @ 0x0040050f
|
||
EOF
|
||
EXPECT=<<EOF
|
||
pop rbp
|
||
jmp sym.register_tm_clones
|
||
push rbp
|
||
mov rbp, rsp
|
||
mov edi, str.Hello_World
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pij -5 @ 0x0040050f
|
||
FILE=bins/elf/analysis/main
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
pij -3 @ 0x0040050f
|
||
EOF
|
||
EXPECT=<<EOF
|
||
[{"offset":4195590,"esil":"rbp,8,rsp,-,=[8],8,rsp,-=","refptr":false,"fcn_addr":0,"fcn_last":0,"size":1,"opcode":"push rbp","disasm":"push rbp","bytes":"55","family":"cpu","type":"rpush","reloc":false,"type_num":268435468,"type2_num":0,"flags":["main","sym.main"]},{"offset":4195591,"esil":"rsp,rbp,=","refptr":false,"fcn_addr":0,"fcn_last":0,"size":3,"opcode":"mov rbp, rsp","disasm":"mov rbp, rsp","bytes":"4889e5","family":"cpu","type":"mov","reloc":false,"type_num":9,"type2_num":0},{"offset":4195594,"ptr":4195780,"val":4195780,"esil":"4195780,rdi,=","refptr":false,"fcn_addr":0,"fcn_last":0,"size":5,"opcode":"mov edi, 0x4005c4","disasm":"mov edi, str.Hello_World","bytes":"bfc4054000","family":"cpu","type":"mov","reloc":false,"type_num":9,"type2_num":0}]
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi -5
|
||
FILE=bins/elf/analysis/main
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
s 0x0040050f
|
||
pi -5
|
||
EOF
|
||
EXPECT=<<EOF
|
||
pop rbp
|
||
jmp sym.register_tm_clones
|
||
push rbp
|
||
mov rbp, rsp
|
||
mov edi, str.Hello_World
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pif bsz
|
||
FILE=malloc://1024
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx 5b415c415d415e415f5dc3
|
||
af
|
||
b 2
|
||
pif
|
||
EOF
|
||
EXPECT=<<EOF
|
||
pop rbx
|
||
pop r12
|
||
pop r13
|
||
pop r14
|
||
pop r15
|
||
pop rbp
|
||
ret
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi~?
|
||
FILE=malloc://1024
|
||
CMDS=<<EOF
|
||
pi 200~?
|
||
pi 200~?
|
||
pd 200~?
|
||
EOF
|
||
EXPECT=<<EOF
|
||
200
|
||
200
|
||
200
|
||
EOF
|
||
RUN
|
||
|
||
NAME=tmpbits
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
p8 1 @b:32
|
||
e asm.bits
|
||
EOF
|
||
EXPECT=<<EOF
|
||
00
|
||
64
|
||
EOF
|
||
RUN
|
||
|
||
NAME=tmpbits
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=32
|
||
p8 1 @b:64
|
||
e asm.bits
|
||
EOF
|
||
EXPECT=<<EOF
|
||
00
|
||
32
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi 3
|
||
FILE=malloc://512
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx b8010000004839ca7f
|
||
pi 3
|
||
EOF
|
||
EXPECT=<<EOF
|
||
mov eax, 1
|
||
cmp rdx, rcx
|
||
jg 0xa
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pij 3 (2)
|
||
FILE=malloc://512
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx b8010000004839ca7f
|
||
pij 3
|
||
EOF
|
||
EXPECT=<<EOF
|
||
[{"offset":0,"val":1,"esil":"1,rax,=","refptr":false,"fcn_addr":0,"fcn_last":0,"size":5,"opcode":"mov eax, 1","disasm":"mov eax, 1","bytes":"b801000000","family":"cpu","type":"mov","reloc":false,"type_num":9,"type2_num":0},{"offset":5,"esil":"rcx,rdx,==,$z,zf,:=,64,$b,cf,:=,$p,pf,:=,63,$s,sf,:=,rcx,0x8000000000000000,-,!,63,$o,^,of,:=,3,$b,af,:=","refptr":false,"fcn_addr":0,"fcn_last":0,"size":3,"opcode":"cmp rdx, rcx","disasm":"cmp rdx, rcx","bytes":"4839ca","family":"cpu","type":"cmp","reloc":false,"type_num":15,"type2_num":0},{"offset":8,"esil":"sf,of,!,^,zf,!,&,?{,10,rip,=,}","refptr":false,"fcn_addr":0,"fcn_last":0,"size":2,"opcode":"jg 0xa","disasm":"jg 0xa","bytes":"7f00","family":"cpu","type":"cjmp","reloc":false,"type_num":2147483649,"type2_num":0,"jump":10,"fail":10}]
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi 6
|
||
FILE=malloc://512
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx b8010000004839ca7f00b8010000004839ca7f00
|
||
pi 6
|
||
EOF
|
||
EXPECT=<<EOF
|
||
mov eax, 1
|
||
cmp rdx, rcx
|
||
jg 0xa
|
||
mov eax, 1
|
||
cmp rdx, rcx
|
||
jg 0x14
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi -3 @ 3
|
||
FILE=malloc://512
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx b8010000004839ca7f00
|
||
pi -3 @ 10
|
||
EOF
|
||
EXPECT=<<EOF
|
||
add byte [rax], al
|
||
cmp rdx, rcx
|
||
jg 0xa
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pij -3 @ 3
|
||
FILE=malloc://512
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx b8010000004839ca7f00
|
||
pij -3 @ 10~{}
|
||
EOF
|
||
EXPECT=<<EOF
|
||
[
|
||
{
|
||
"offset": 3,
|
||
"esil": "al,rax,+=[1],7,$o,of,:=,7,$s,sf,:=,$z,zf,:=,7,$c,cf,:=,$p,pf,:=,3,$c,af,:=",
|
||
"refptr": true,
|
||
"fcn_addr": 0,
|
||
"fcn_last": 0,
|
||
"size": 2,
|
||
"opcode": "add byte [rax], al",
|
||
"disasm": "add byte [rax], al",
|
||
"bytes": "0000",
|
||
"family": "cpu",
|
||
"type": "add",
|
||
"reloc": false,
|
||
"type_num": 17,
|
||
"type2_num": 0
|
||
},
|
||
{
|
||
"offset": 5,
|
||
"esil": "rcx,rdx,==,$z,zf,:=,64,$b,cf,:=,$p,pf,:=,63,$s,sf,:=,rcx,0x8000000000000000,-,!,63,$o,^,of,:=,3,$b,af,:=",
|
||
"refptr": false,
|
||
"fcn_addr": 0,
|
||
"fcn_last": 0,
|
||
"size": 3,
|
||
"opcode": "cmp rdx, rcx",
|
||
"disasm": "cmp rdx, rcx",
|
||
"bytes": "4839ca",
|
||
"family": "cpu",
|
||
"type": "cmp",
|
||
"reloc": false,
|
||
"type_num": 15,
|
||
"type2_num": 0
|
||
},
|
||
{
|
||
"offset": 8,
|
||
"esil": "sf,of,!,^,zf,!,&,?{,10,rip,=,}",
|
||
"refptr": false,
|
||
"fcn_addr": 0,
|
||
"fcn_last": 0,
|
||
"size": 2,
|
||
"opcode": "jg 0xa",
|
||
"disasm": "jg 0xa",
|
||
"bytes": "7f00",
|
||
"family": "cpu",
|
||
"type": "cjmp",
|
||
"reloc": false,
|
||
"type_num": 2147483649,
|
||
"type2_num": 0,
|
||
"jump": 10,
|
||
"fail": 10
|
||
}
|
||
]
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi -10
|
||
FILE=malloc://1024
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx 90909090909090909090 ; s 10 ; pi -10
|
||
EOF
|
||
EXPECT=<<EOF
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pif bsz
|
||
FILE=malloc://1024
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx 5b415c415d415e415f5dc3
|
||
af
|
||
b 2
|
||
pif
|
||
EOF
|
||
EXPECT=<<EOF
|
||
pop rbx
|
||
pop r12
|
||
pop r13
|
||
pop r14
|
||
pop r15
|
||
pop rbp
|
||
ret
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pi~?
|
||
FILE=malloc://1024
|
||
CMDS=<<EOF
|
||
pi 200~?
|
||
pi 200~?
|
||
pd 200~?
|
||
EOF
|
||
EXPECT=<<EOF
|
||
200
|
||
200
|
||
200
|
||
EOF
|
||
RUN
|
||
|
||
NAME=tmpbits
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
p8 1 @b:32
|
||
e asm.bits
|
||
EOF
|
||
EXPECT=<<EOF
|
||
00
|
||
64
|
||
EOF
|
||
RUN
|
||
|
||
NAME=tmpbits
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=32
|
||
p8 1 @b:64
|
||
e asm.bits
|
||
EOF
|
||
EXPECT=<<EOF
|
||
00
|
||
32
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pm hello.c
|
||
FILE=bins/src/hello.c
|
||
CMDS=pm
|
||
EXPECT=<<EOF
|
||
0x00000000 1 C source code
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pm elf/main
|
||
FILE=bins/elf/analysis/main
|
||
ARGS=-n
|
||
CMDS=pm
|
||
EXPECT=<<EOF
|
||
0x00000000 1 ELF 64-bit LSB executable, x86-64, version 1
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pm mach0/fatmach0-3true
|
||
FILE=bins/mach0/fatmach0-3true
|
||
ARGS=-n
|
||
CMDS=pm
|
||
EXPECT=<<EOF
|
||
0x00000000 1 Fat-Mach-O
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pm java/Hello.class
|
||
FILE=bins/java/Hello.class
|
||
ARGS=-n
|
||
CMDS=pm
|
||
EXPECT=<<EOF
|
||
0x00000000 1 Java CLASS
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pm pe/a.exe
|
||
FILE=bins/pe/a.exe
|
||
ARGS=-n
|
||
CMDS=pm
|
||
EXPECT=<<EOF
|
||
0x00000000 1 PE for MS Windows (console) Intel 80386 32-bit
|
||
EOF
|
||
RUN
|
||
|
||
NAME=print raw lines
|
||
FILE=bins/other/projects/resetc64
|
||
CMDS=<<EOF
|
||
sl 5
|
||
prl 1~[0]
|
||
e lines.abs=true
|
||
prl 1~[0]
|
||
EOF
|
||
EXPECT=<<EOF
|
||
+1
|
||
5
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pib from beginning of bb
|
||
FILE=bins/elf/analysis/x64-loop
|
||
CMDS=<<EOF
|
||
s main
|
||
af
|
||
pib
|
||
EOF
|
||
EXPECT=<<EOF
|
||
push rbp
|
||
mov rbp, rsp
|
||
sub rsp, 0x20
|
||
mov dword [var_14h], edi
|
||
mov qword [var_20h], rsi
|
||
mov dword [var_4h], 0
|
||
jmp 0x400523
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pib inside bb
|
||
FILE=bins/elf/analysis/x64-loop
|
||
CMDS=<<EOF
|
||
s main
|
||
af
|
||
so 2
|
||
pib
|
||
EOF
|
||
EXPECT=<<EOF
|
||
sub rsp, 0x20
|
||
mov dword [var_14h], edi
|
||
mov qword [var_20h], rsi
|
||
mov dword [var_4h], 0
|
||
jmp 0x400523
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pI size > bocksize
|
||
FILE=malloc://1024
|
||
CMDS=<<EOF
|
||
e asm.arch=x86
|
||
e asm.bits=64
|
||
wx 90909090909090909090
|
||
b 1
|
||
pI 10
|
||
EOF
|
||
EXPECT=<<EOF
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
nop
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p- with "r2 --"
|
||
FILE=--
|
||
CMDS=p-
|
||
EXPECT=<<EOF
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p- with malloc://512
|
||
FILE=malloc://512
|
||
CMDS=p-
|
||
EXPECT=<<EOF
|
||
0x00000000 [^_____________________________________________] 0x00000200
|
||
EOF
|
||
RUN
|
||
|
||
NAME=psW 32 widestring
|
||
FILE=bins/elf/crackme0x00b
|
||
CMDS=psW @ obj.pass.1964
|
||
EXPECT=<<EOF
|
||
w0wgreat
|
||
EOF
|
||
RUN
|
||
|
||
NAME=psW 32 widestring leading zeros
|
||
FILE=bins/elf/crackme0x00b
|
||
CMDS=psW @ 0x0804a03e
|
||
EXPECT=<<EOF
|
||
w0wgreat
|
||
EOF
|
||
RUN
|
||
|
||
NAME=ps leading zeros
|
||
BROKEN=1
|
||
FILE=bins/elf/crackme0x00b
|
||
CMDS=ps @ 0x0804a03e
|
||
EXPECT=<<EOF
|
||
w
|
||
EOF
|
||
RUN
|
||
|
||
NAME=io.unalloc, io.unalloc.ch and prc
|
||
FILE=bins/elf/analysis/tiny.elf
|
||
CMDS=<<EOF
|
||
. scripts/palette.r2
|
||
(print; prc 0x00010032-0x0000fffa @ 0x0000fffa)
|
||
e io.unalloc=true
|
||
e scr.color=0
|
||
.(print)
|
||
?e
|
||
e io.unalloc.ch=-
|
||
.(print)
|
||
?e
|
||
e scr.color=3
|
||
e io.unalloc.ch=
|
||
.(print)
|
||
?e
|
||
e io.unalloc.ch=?
|
||
.(print)
|
||
EOF
|
||
EXPECT=<<EOF
|
||
0x0000fffa ????????????se,,,,,,
|
||
0x0001000a .. ..
|
||
0x0001001a en....OO,,OO;; ..
|
||
0x0001002a ..
|
||
|
||
0x0000fffa ------------se,,,,,,
|
||
0x0001000a .. ..
|
||
0x0001001a en....OO,,OO;; ..
|
||
0x0001002a ..
|
||
|
||
[38;2;19;161;14m0x0000fffa[0m [0m..[0m..[0m..[0m..[0m..[0m..[38;2;0;0;0m[48;2;149;254;184m[38;2;0;0;0mse[38;2;0;0;0m[48;2;103;155;0m[38;2;0;0;0m [38;2;0;0;0m[48;2;192;255;67m[38;2;0;0;0m [38;2;0;0;0m[48;2;117;176;0m[38;2;0;0;0m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [0m
|
||
[38;2;19;161;14m0x0001000a[0m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;100;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;117;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;76;57;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;76;57;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [0m
|
||
[38;2;19;161;14m0x0001001a[0m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;135;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;29;117m[38;2;240;240;240men[38;2;0;0;0m[48;2;255;195;15m[38;2;0;0;0m [38;2;240;240;240m[48;2;86;86;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;25;0;76m[38;2;240;240;240m [38;2;240;240;240m[48;2;50;76;0m[38;2;240;240;240m [38;2;0;0;0m[48;2;147;94;255m[38;2;0;0;0m [38;2;240;240;240m[48;2;0;76;76m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;0;0;0m[48;2;135;135;0m[38;2;0;0;0m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [0m
|
||
[38;2;19;161;14m0x0001002a[0m [38;2;240;240;240m[48;2;76;57;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [0m
|
||
|
||
[38;2;19;161;14m0x0000fffa[0m [0m??[0m??[0m??[0m??[0m??[0m??[38;2;0;0;0m[48;2;149;254;184m[38;2;0;0;0mse[38;2;0;0;0m[48;2;103;155;0m[38;2;0;0;0m [38;2;0;0;0m[48;2;192;255;67m[38;2;0;0;0m [38;2;0;0;0m[48;2;117;176;0m[38;2;0;0;0m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [0m
|
||
[38;2;19;161;14m0x0001000a[0m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;100;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;117;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;76;57;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;76;57;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [0m
|
||
[38;2;19;161;14m0x0001001a[0m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;135;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;29;117m[38;2;240;240;240men[38;2;0;0;0m[48;2;255;195;15m[38;2;0;0;0m [38;2;240;240;240m[48;2;86;86;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;25;0;76m[38;2;240;240;240m [38;2;240;240;240m[48;2;50;76;0m[38;2;240;240;240m [38;2;0;0;0m[48;2;147;94;255m[38;2;0;0;0m [38;2;240;240;240m[48;2;0;76;76m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;0;0;0m[48;2;135;135;0m[38;2;0;0;0m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [0m
|
||
[38;2;19;161;14m0x0001002a[0m [38;2;240;240;240m[48;2;76;57;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m [0m
|
||
EOF
|
||
RUN
|
||
|
||
NAME=prc text color
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
. scripts/palette.r2
|
||
woe 0 0xff 1
|
||
(test_flag; f `p8 1`)
|
||
.(test_flag) @@s:0 0xff 1
|
||
e scr.color=3
|
||
prc 256
|
||
EOF
|
||
EXPECT=<<EOF
|
||
[38;2;19;161;14m0x00000000[0m [38;2;240;240;240m[48;2;0;0;0m[38;2;240;240;240m00[38;2;240;240;240m[48;2;86;0;0m[38;2;240;240;240m01[38;2;240;240;240m[48;2;100;0;0m[38;2;240;240;240m02[38;2;240;240;240m[48;2;117;0;0m[38;2;240;240;240m03[38;2;240;240;240m[48;2;135;0;0m[38;2;240;240;240m04[38;2;240;240;240m[48;2;155;0;0m[38;2;240;240;240m05[38;2;240;240;240m[48;2;176;0;0m[38;2;240;240;240m06[38;2;240;240;240m[48;2;198;0;0m[38;2;240;240;240m07[38;2;240;240;240m[48;2;221;0;0m[38;2;240;240;240m08[38;2;240;240;240m[48;2;245;0;0m[38;2;240;240;240m09[38;2;240;240;240m[48;2;255;15;15m[38;2;240;240;240m0a[38;2;240;240;240m[48;2;255;40;40m[38;2;240;240;240m0b[38;2;0;0;0m[48;2;255;67;67m[38;2;0;0;0m0c[38;2;0;0;0m[48;2;255;94;94m[38;2;0;0;0m0d[38;2;0;0;0m[48;2;255;121;121m[38;2;0;0;0m0e[38;2;0;0;0m[48;2;254;149;149m[38;2;0;0;0m0f[0m
|
||
[38;2;19;161;14m0x00000010[0m [38;2;240;240;240m[48;2;76;22;0m[38;2;240;240;240m10[38;2;240;240;240m[48;2;86;25;0m[38;2;240;240;240m11[38;2;240;240;240m[48;2;100;30;0m[38;2;240;240;240m12[38;2;240;240;240m[48;2;117;35;0m[38;2;240;240;240m13[38;2;240;240;240m[48;2;135;40;0m[38;2;240;240;240m14[38;2;240;240;240m[48;2;155;46;0m[38;2;240;240;240m15[38;2;240;240;240m[48;2;176;52;0m[38;2;240;240;240m16[38;2;240;240;240m[48;2;198;59;0m[38;2;240;240;240m17[38;2;240;240;240m[48;2;221;66;0m[38;2;240;240;240m18[38;2;0;0;0m[48;2;245;73;0m[38;2;0;0;0m19[38;2;0;0;0m[48;2;255;87;15m[38;2;0;0;0m1a[38;2;0;0;0m[48;2;255;105;40m[38;2;0;0;0m1b[38;2;0;0;0m[48;2;255;123;67m[38;2;0;0;0m1c[38;2;0;0;0m[48;2;255;142;94m[38;2;0;0;0m1d[38;2;0;0;0m[48;2;255;161;121m[38;2;0;0;0m1e[38;2;0;0;0m[48;2;254;181;149m[38;2;0;0;0m1f[0m
|
||
[38;2;19;161;14m0x00000020[0m [38;2;240;240;240m[48;2;76;57;0m[38;2;240;240;240m20[38;2;240;240;240m[48;2;86;64;0m[38;2;240;240;240m21[38;2;240;240;240m[48;2;100;75;0m[38;2;240;240;240m22[38;2;240;240;240m[48;2;117;87;0m[38;2;240;240;240m23[38;2;240;240;240m[48;2;135;101;0m[38;2;240;240;240m24[38;2;0;0;0m[48;2;155;116;0m[38;2;0;0;0m25[38;2;0;0;0m[48;2;176;132;0m[38;2;0;0;0m26[38;2;0;0;0m[48;2;198;148;0m[38;2;0;0;0m27[38;2;0;0;0m[48;2;221;166;0m[38;2;0;0;0m28[38;2;0;0;0m[48;2;245;184;0m[38;2;0;0;0m29[38;2;0;0;0m[48;2;255;195;15m[38;2;0;0;0m2a[38;2;0;0;0m[48;2;255;201;40m[38;2;0;0;0m2b[38;2;0;0;0m[48;2;255;208;67m[38;2;0;0;0m2c[38;2;0;0;0m[48;2;255;214;94m[38;2;0;0;0m2d[38;2;0;0;0m[48;2;255;221;121m[38;2;0;0;0m2e[38;2;0;0;0m[48;2;254;228;149m[38;2;0;0;0m2f[0m
|
||
[38;2;19;161;14m0x00000030[0m [38;2;240;240;240m[48;2;76;76;0m[38;2;240;240;240m30[38;2;240;240;240m[48;2;86;86;0m[38;2;240;240;240m31[38;2;240;240;240m[48;2;100;100;0m[38;2;240;240;240m32[38;2;240;240;240m[48;2;117;117;0m[38;2;240;240;240m33[38;2;0;0;0m[48;2;135;135;0m[38;2;0;0;0m34[38;2;0;0;0m[48;2;155;155;0m[38;2;0;0;0m35[38;2;0;0;0m[48;2;176;176;0m[38;2;0;0;0m36[38;2;0;0;0m[48;2;198;198;0m[38;2;0;0;0m37[38;2;0;0;0m[48;2;221;221;0m[38;2;0;0;0m38[38;2;0;0;0m[48;2;245;245;0m[38;2;0;0;0m39[38;2;0;0;0m[48;2;255;255;15m[38;2;0;0;0m3a[38;2;0;0;0m[48;2;255;255;40m[38;2;0;0;0m3b[38;2;0;0;0m[48;2;255;255;67m[38;2;0;0;0m3c[38;2;0;0;0m[48;2;255;255;94m[38;2;0;0;0m3d[38;2;0;0;0m[48;2;255;255;121m[38;2;0;0;0m3e[38;2;0;0;0m[48;2;255;254;149m[38;2;0;0;0m3f[0m
|
||
[38;2;19;161;14m0x00000040[0m [38;2;240;240;240m[48;2;50;76;0m[38;2;240;240;240m40[38;2;240;240;240m[48;2;57;86;0m[38;2;240;240;240m41[38;2;240;240;240m[48;2;66;100;0m[38;2;240;240;240m42[38;2;240;240;240m[48;2;78;117;0m[38;2;240;240;240m43[38;2;240;240;240m[48;2;90;135;0m[38;2;240;240;240m44[38;2;0;0;0m[48;2;103;155;0m[38;2;0;0;0m45[38;2;0;0;0m[48;2;117;176;0m[38;2;0;0;0m46[38;2;0;0;0m[48;2;132;198;0m[38;2;0;0;0m47[38;2;0;0;0m[48;2;147;221;0m[38;2;0;0;0m48[38;2;0;0;0m[48;2;163;245;0m[38;2;0;0;0m49[38;2;0;0;0m[48;2;175;255;15m[38;2;0;0;0m4a[38;2;0;0;0m[48;2;183;255;40m[38;2;0;0;0m4b[38;2;0;0;0m[48;2;192;255;67m[38;2;0;0;0m4c[38;2;0;0;0m[48;2;201;255;94m[38;2;0;0;0m4d[38;2;0;0;0m[48;2;210;255;121m[38;2;0;0;0m4e[38;2;0;0;0m[48;2;219;254;149m[38;2;0;0;0m4f[0m
|
||
[38;2;19;161;14m0x00000050[0m [38;2;240;240;240m[48;2;31;76;0m[38;2;240;240;240m50[38;2;240;240;240m[48;2;35;86;0m[38;2;240;240;240m51[38;2;240;240;240m[48;2;41;100;0m[38;2;240;240;240m52[38;2;240;240;240m[48;2;48;117;0m[38;2;240;240;240m53[38;2;240;240;240m[48;2;56;135;0m[38;2;240;240;240m54[38;2;240;240;240m[48;2;64;155;0m[38;2;240;240;240m55[38;2;0;0;0m[48;2;73;176;0m[38;2;0;0;0m56[38;2;0;0;0m[48;2;82;198;0m[38;2;0;0;0m57[38;2;0;0;0m[48;2;92;221;0m[38;2;0;0;0m58[38;2;0;0;0m[48;2;102;245;0m[38;2;0;0;0m59[38;2;0;0;0m[48;2;115;255;15m[38;2;0;0;0m5a[38;2;0;0;0m[48;2;130;255;40m[38;2;0;0;0m5b[38;2;0;0;0m[48;2;145;255;67m[38;2;0;0;0m5c[38;2;0;0;0m[48;2;161;255;94m[38;2;0;0;0m5d[38;2;0;0;0m[48;2;177;255;121m[38;2;0;0;0m5e[38;2;0;0;0m[48;2;193;254;149m[38;2;0;0;0m5f[0m
|
||
[38;2;19;161;14m0x00000060[0m [38;2;240;240;240m[48;2;0;76;0m[38;2;240;240;240m60[38;2;240;240;240m[48;2;0;86;0m[38;2;240;240;240m61[38;2;240;240;240m[48;2;0;100;0m[38;2;240;240;240m62[38;2;240;240;240m[48;2;0;117;0m[38;2;240;240;240m63[38;2;240;240;240m[48;2;0;135;0m[38;2;240;240;240m64[38;2;240;240;240m[48;2;0;155;0m[38;2;240;240;240m65[38;2;240;240;240m[48;2;0;176;0m[38;2;240;240;240m66[38;2;0;0;0m[48;2;0;198;0m[38;2;0;0;0m67[38;2;0;0;0m[48;2;0;221;0m[38;2;0;0;0m68[38;2;0;0;0m[48;2;0;245;0m[38;2;0;0;0m69[38;2;0;0;0m[48;2;15;255;15m[38;2;0;0;0m6a[38;2;0;0;0m[48;2;40;255;40m[38;2;0;0;0m6b[38;2;0;0;0m[48;2;67;255;67m[38;2;0;0;0m6c[38;2;0;0;0m[48;2;94;255;94m[38;2;0;0;0m6d[38;2;0;0;0m[48;2;121;255;121m[38;2;0;0;0m6e[38;2;0;0;0m[48;2;149;254;149m[38;2;0;0;0m6f[0m
|
||
[38;2;19;161;14m0x00000070[0m [38;2;240;240;240m[48;2;0;76;25m[38;2;240;240;240m70[38;2;240;240;240m[48;2;0;86;28m[38;2;240;240;240m71[38;2;240;240;240m[48;2;0;100;33m[38;2;240;240;240m72[38;2;240;240;240m[48;2;0;117;39m[38;2;240;240;240m73[38;2;240;240;240m[48;2;0;135;45m[38;2;240;240;240m74[38;2;240;240;240m[48;2;0;155;51m[38;2;240;240;240m75[38;2;240;240;240m[48;2;0;176;58m[38;2;240;240;240m76[38;2;0;0;0m[48;2;0;198;66m[38;2;0;0;0m77[38;2;0;0;0m[48;2;0;221;73m[38;2;0;0;0m78[38;2;0;0;0m[48;2;0;245;81m[38;2;0;0;0m79[38;2;0;0;0m[48;2;15;255;95m[38;2;0;0;0m7a[38;2;0;0;0m[48;2;40;255;112m[38;2;0;0;0m7b[38;2;0;0;0m[48;2;67;255;129m[38;2;0;0;0m7c[38;2;0;0;0m[48;2;94;255;147m[38;2;0;0;0m7d[38;2;0;0;0m[48;2;121;255;166m[38;2;0;0;0m7e[38;2;0;0;0m[48;2;149;254;184m[38;2;0;0;0m7f[0m
|
||
[38;2;19;161;14m0x00000080[0m [38;2;240;240;240m[48;2;0;76;76m[38;2;240;240;240m80[38;2;240;240;240m[48;2;0;86;86m[38;2;240;240;240m81[38;2;240;240;240m[48;2;0;100;100m[38;2;240;240;240m82[38;2;240;240;240m[48;2;0;117;117m[38;2;240;240;240m83[38;2;240;240;240m[48;2;0;135;135m[38;2;240;240;240m84[38;2;0;0;0m[48;2;0;155;155m[38;2;0;0;0m85[38;2;0;0;0m[48;2;0;176;176m[38;2;0;0;0m86[38;2;0;0;0m[48;2;0;198;198m[38;2;0;0;0m87[38;2;0;0;0m[48;2;0;221;221m[38;2;0;0;0m88[38;2;0;0;0m[48;2;0;245;245m[38;2;0;0;0m89[38;2;0;0;0m[48;2;15;255;254m[38;2;0;0;0m8a[38;2;0;0;0m[48;2;40;255;254m[38;2;0;0;0m8b[38;2;0;0;0m[48;2;67;255;254m[38;2;0;0;0m8c[38;2;0;0;0m[48;2;94;255;254m[38;2;0;0;0m8d[38;2;0;0;0m[48;2;121;255;255m[38;2;0;0;0m8e[38;2;0;0;0m[48;2;149;255;254m[38;2;0;0;0m8f[0m
|
||
[38;2;19;161;14m0x00000090[0m [38;2;240;240;240m[48;2;0;57;76m[38;2;240;240;240m90[38;2;240;240;240m[48;2;0;64;86m[38;2;240;240;240m91[38;2;240;240;240m[48;2;0;75;100m[38;2;240;240;240m92[38;2;240;240;240m[48;2;0;87;117m[38;2;240;240;240m93[38;2;240;240;240m[48;2;0;101;135m[38;2;240;240;240m94[38;2;240;240;240m[48;2;0;116;155m[38;2;240;240;240m95[38;2;240;240;240m[48;2;0;132;176m[38;2;240;240;240m96[38;2;0;0;0m[48;2;0;148;198m[38;2;0;0;0m97[38;2;0;0;0m[48;2;0;166;221m[38;2;0;0;0m98[38;2;0;0;0m[48;2;0;184;245m[38;2;0;0;0m99[38;2;0;0;0m[48;2;15;195;255m[38;2;0;0;0m9a[38;2;0;0;0m[48;2;40;201;255m[38;2;0;0;0m9b[38;2;0;0;0m[48;2;67;208;255m[38;2;0;0;0m9c[38;2;0;0;0m[48;2;94;214;255m[38;2;0;0;0m9d[38;2;0;0;0m[48;2;121;221;255m[38;2;0;0;0m9e[38;2;0;0;0m[48;2;149;228;254m[38;2;0;0;0m9f[0m
|
||
[38;2;19;161;14m0x000000a0[0m [38;2;240;240;240m[48;2;0;38;76m[38;2;240;240;240ma0[38;2;240;240;240m[48;2;0;43;86m[38;2;240;240;240ma1[38;2;240;240;240m[48;2;0;50;100m[38;2;240;240;240ma2[38;2;240;240;240m[48;2;0;58;117m[38;2;240;240;240ma3[38;2;240;240;240m[48;2;0;67;135m[38;2;240;240;240ma4[38;2;240;240;240m[48;2;0;77;155m[38;2;240;240;240ma5[38;2;240;240;240m[48;2;0;88;176m[38;2;240;240;240ma6[38;2;240;240;240m[48;2;0;99;198m[38;2;240;240;240ma7[38;2;240;240;240m[48;2;0;110;221m[38;2;240;240;240ma8[38;2;240;240;240m[48;2;0;122;245m[38;2;240;240;240ma9[38;2;0;0;0m[48;2;15;135;255m[38;2;0;0;0maa[38;2;0;0;0m[48;2;40;147;255m[38;2;0;0;0mab[38;2;0;0;0m[48;2;67;161;255m[38;2;0;0;0mac[38;2;0;0;0m[48;2;94;174;255m[38;2;0;0;0mad[38;2;0;0;0m[48;2;121;188;255m[38;2;0;0;0mae[38;2;0;0;0m[48;2;149;202;254m[38;2;0;0;0maf[0m
|
||
[38;2;19;161;14m0x000000b0[0m [38;2;240;240;240m[48;2;0;19;76m[38;2;240;240;240mb0[38;2;240;240;240m[48;2;0;21;86m[38;2;240;240;240mb1[38;2;240;240;240m[48;2;0;25;100m[38;2;240;240;240mb2[38;2;240;240;240m[48;2;0;29;117m[38;2;240;240;240mb3[38;2;240;240;240m[48;2;0;33;135m[38;2;240;240;240mb4[38;2;240;240;240m[48;2;0;38;155m[38;2;240;240;240mb5[38;2;240;240;240m[48;2;0;44;176m[38;2;240;240;240mb6[38;2;240;240;240m[48;2;0;49;198m[38;2;240;240;240mb7[38;2;240;240;240m[48;2;0;55;221m[38;2;240;240;240mb8[38;2;240;240;240m[48;2;0;61;245m[38;2;240;240;240mb9[38;2;240;240;240m[48;2;15;75;255m[38;2;240;240;240mba[38;2;240;240;240m[48;2;40;94;255m[38;2;240;240;240mbb[38;2;0;0;0m[48;2;67;114;255m[38;2;0;0;0mbc[38;2;0;0;0m[48;2;94;134;255m[38;2;0;0;0mbd[38;2;0;0;0m[48;2;121;154;255m[38;2;0;0;0mbe[38;2;0;0;0m[48;2;149;176;254m[38;2;0;0;0mbf[0m
|
||
[38;2;19;161;14m0x000000c0[0m [38;2;240;240;240m[48;2;25;0;76m[38;2;240;240;240mc0[38;2;240;240;240m[48;2;28;0;86m[38;2;240;240;240mc1[38;2;240;240;240m[48;2;33;0;100m[38;2;240;240;240mc2[38;2;240;240;240m[48;2;39;0;117m[38;2;240;240;240mc3[38;2;240;240;240m[48;2;45;0;135m[38;2;240;240;240mc4[38;2;240;240;240m[48;2;51;0;155m[38;2;240;240;240mc5[38;2;240;240;240m[48;2;58;0;176m[38;2;240;240;240mc6[38;2;240;240;240m[48;2;66;0;198m[38;2;240;240;240mc7[38;2;240;240;240m[48;2;73;0;221m[38;2;240;240;240mc8[38;2;240;240;240m[48;2;81;0;245m[38;2;240;240;240mc9[38;2;240;240;240m[48;2;95;15;255m[38;2;240;240;240mca[38;2;240;240;240m[48;2;112;40;255m[38;2;240;240;240mcb[38;2;0;0;0m[48;2;129;67;255m[38;2;0;0;0mcc[38;2;0;0;0m[48;2;147;94;255m[38;2;0;0;0mcd[38;2;0;0;0m[48;2;166;121;255m[38;2;0;0;0mce[38;2;0;0;0m[48;2;184;149;254m[38;2;0;0;0mcf[0m
|
||
[38;2;19;161;14m0x000000d0[0m [38;2;240;240;240m[48;2;51;0;76m[38;2;240;240;240md0[38;2;240;240;240m[48;2;57;0;86m[38;2;240;240;240md1[38;2;240;240;240m[48;2;66;0;100m[38;2;240;240;240md2[38;2;240;240;240m[48;2;78;0;117m[38;2;240;240;240md3[38;2;240;240;240m[48;2;90;0;135m[38;2;240;240;240md4[38;2;240;240;240m[48;2;103;0;155m[38;2;240;240;240md5[38;2;240;240;240m[48;2;117;0;176m[38;2;240;240;240md6[38;2;240;240;240m[48;2;132;0;198m[38;2;240;240;240md7[38;2;240;240;240m[48;2;147;0;221m[38;2;240;240;240md8[38;2;240;240;240m[48;2;163;0;245m[38;2;240;240;240md9[38;2;240;240;240m[48;2;175;15;255m[38;2;240;240;240mda[38;2;0;0;0m[48;2;183;40;255m[38;2;0;0;0mdb[38;2;0;0;0m[48;2;192;67;255m[38;2;0;0;0mdc[38;2;0;0;0m[48;2;201;94;255m[38;2;0;0;0mdd[38;2;0;0;0m[48;2;210;121;255m[38;2;0;0;0mde[38;2;0;0;0m[48;2;219;149;254m[38;2;0;0;0mdf[0m
|
||
[38;2;19;161;14m0x000000e0[0m [38;2;240;240;240m[48;2;76;0;76m[38;2;240;240;240me0[38;2;240;240;240m[48;2;86;0;86m[38;2;240;240;240me1[38;2;240;240;240m[48;2;100;0;100m[38;2;240;240;240me2[38;2;240;240;240m[48;2;117;0;117m[38;2;240;240;240me3[38;2;240;240;240m[48;2;135;0;135m[38;2;240;240;240me4[38;2;240;240;240m[48;2;155;0;155m[38;2;240;240;240me5[38;2;240;240;240m[48;2;176;0;176m[38;2;240;240;240me6[38;2;240;240;240m[48;2;198;0;198m[38;2;240;240;240me7[38;2;240;240;240m[48;2;221;0;221m[38;2;240;240;240me8[38;2;240;240;240m[48;2;245;0;245m[38;2;240;240;240me9[38;2;0;0;0m[48;2;254;15;255m[38;2;0;0;0mea[38;2;0;0;0m[48;2;254;40;255m[38;2;0;0;0meb[38;2;0;0;0m[48;2;254;67;255m[38;2;0;0;0mec[38;2;0;0;0m[48;2;254;94;255m[38;2;0;0;0med[38;2;0;0;0m[48;2;254;121;255m[38;2;0;0;0mee[38;2;0;0;0m[48;2;254;149;254m[38;2;0;0;0mef[0m
|
||
[38;2;19;161;14m0x000000f0[0m [38;2;240;240;240m[48;2;76;0;50m[38;2;240;240;240mf0[38;2;240;240;240m[48;2;86;0;57m[38;2;240;240;240mf1[38;2;240;240;240m[48;2;100;0;66m[38;2;240;240;240mf2[38;2;240;240;240m[48;2;117;0;78m[38;2;240;240;240mf3[38;2;240;240;240m[48;2;135;0;90m[38;2;240;240;240mf4[38;2;240;240;240m[48;2;155;0;103m[38;2;240;240;240mf5[38;2;240;240;240m[48;2;176;0;117m[38;2;240;240;240mf6[38;2;240;240;240m[48;2;198;0;132m[38;2;240;240;240mf7[38;2;240;240;240m[48;2;221;0;147m[38;2;240;240;240mf8[38;2;240;240;240m[48;2;245;0;163m[38;2;240;240;240mf9[38;2;240;240;240m[48;2;255;15;175m[38;2;240;240;240mfa[38;2;0;0;0m[48;2;255;40;183m[38;2;0;0;0mfb[38;2;0;0;0m[48;2;255;67;192m[38;2;0;0;0mfc[38;2;0;0;0m[48;2;255;94;201m[38;2;0;0;0mfd[38;2;0;0;0m[48;2;255;121;210m[38;2;0;0;0mfe[38;2;0;0;0m[48;2;255;255;255m[38;2;0;0;0mff[0m
|
||
EOF
|
||
RUN
|
||
|
||
NAME=prc single-char-flag fix
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
woe 0 0xff 1
|
||
f s @ 0x77
|
||
prc 256
|
||
EOF
|
||
EXPECT=<<EOF
|
||
0x00000000
|
||
0x00000010
|
||
0x00000020 ................................
|
||
0x00000030 ................................
|
||
0x00000040 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||
0x00000050 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||
0x00000060 ::::::::::::::::::::::::::::::::
|
||
0x00000070 :::::::::::::: s::::::::::::::::
|
||
0x00000080 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
0x00000090 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
0x000000a0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||
0x000000b0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||
0x000000c0 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
|
||
0x000000d0 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
|
||
0x000000e0 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
0x000000f0 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##
|
||
EOF
|
||
RUN
|
||
|
||
NAME=prc hex.offset=0
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
e hex.offset=0
|
||
woe 0 0xff 1
|
||
f s @ 0x77
|
||
prc 256
|
||
EOF
|
||
EXPECT=<<EOF
|
||
|
||
|
||
................................
|
||
................................
|
||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||
::::::::::::::::::::::::::::::::
|
||
:::::::::::::: s::::::::::::::::
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
|
||
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##
|
||
EOF
|
||
RUN
|
||
|
||
NAME=p=e hex.offset=0
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
e hex.offset=0
|
||
e scr.color=0
|
||
woe 0 0xff 1
|
||
p=e 10
|
||
EOF
|
||
EXPECT=<<EOF
|
||
000 00ff |#
|
||
001 00ff |#
|
||
002 00ff |#
|
||
003 00ff |#
|
||
004 00ff |###################################################
|
||
005 0006 |#
|
||
006 0000 |#
|
||
007 0000 |#
|
||
008 0000 |#
|
||
009 0000 |#
|
||
EOF
|
||
RUN
|
||
|
||
NAME=pxA hex.offset=0
|
||
FILE=-
|
||
CMDS=<<EOF
|
||
e hex.offset=0
|
||
e scr.color=0
|
||
woe 0 0xff 1
|
||
pxA 10
|
||
EOF
|
||
EXPECT=<<EOF
|
||
++++++ _| 10
|
||
EOF
|
||
RUN
|