rizin/test/db/cmd/cmd_ps
Anton Kochkov 2f638cad1e Convert f commands to rzshell
* Changed behavior of `f` to only add flag if there is none
* Changed behavior of `f+` to add flag in any case
* Moved listing subcommands from `f` to `fl`
* Moved listing subcommands from `f.` to `f.l`
* Added subcommand `f.l*` to list all local flags in all functions
* Listing flags at the current offset became `fl.`
* Moved `f=` to `fl=`
* Old `fl` (flag length) now became `fL`
* Removed original `fe` commands
* Old `f?` (check if flag exists) now became `fe`
* Removed `fV` commands
* Removed `fn` commands in favor of `fl` and `asm.flags.real=true`
* Removed `fS` commands (`fSo` and `fSn`)
* `fo` became `fortune` and moved from "flags" to "shell" category
* Removed oldshell handlers of the `z` commands
2022-02-03 21:46:42 +08:00

93 lines
1.6 KiB
Text

NAME=ps+ libc++ 32bit
FILE=bins/elf/stdstring32-libc++.LOAD1
ARGS=-n -m 0x08049ee8
CMDS=<<EOF
on bins/elf/stdstring32-libc++.heap 0x09eb8000 > /dev/null
f obj.empty_str 12 @ 0x0804a064
f obj.long_str1 12 @ 0x0804a04c
f obj.short_str1 12 @ 0x0804a034
f obj.long_str2 12 @ 0x0804a058
f obj.short_str2 12 @ 0x0804a040
e asm.bits=32
ps+ @ obj.short_str1
ps+ @ obj.short_str2
ps+ @ obj.empty_str
ps+ @ obj.long_str1
ps+ @ obj.long_str2
EOF
EXPECT=<<EOF
a
abcdefghij
abcdefghijk
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
EOF
RUN
NAME=ps+ libc++ 64bit
FILE=bins/elf/stdstring64-libc++.LOAD1
ARGS=-n -m 0x00600dc8
CMDS=<<EOF
on bins/elf/stdstring64-libc++.heap 0x0128b000 > /dev/null
f obj.empty_str 24 @ 0x006010b8
f obj.long_str1 24 @ 0x00601088
f obj.short_str1 24 @ 0x00601058
f obj.long_str2 24 @ 0x006010a0
f obj.short_str2 24 @ 0x00601070
e asm.bits=64
ps+ @ obj.short_str1
ps+ @ obj.short_str2
ps+ @ obj.empty_str
ps+ @ obj.long_str1
ps+ @ obj.long_str2
EOF
EXPECT=<<EOF
a
abcdefghijklmnopqrstuv
abcdefghijklmnopqrstuvw
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
EOF
RUN
NAME=psx escapes newlines (#10037)
FILE==
CMDS=<<EOF
wz abc\n123\n
psx 9
EOF
EXPECT=<<EOF
abc\x0a123\x0a\x00
EOF
RUN
NAME=ps N and initial nulls (#10037)
FILE==
CMDS=<<EOF
ps 1
ps 2
ps 3
ps 4
ps 8
EOF
EXPECT=<<EOF
\x00
\x00\x00
\x00\x00\x00
\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00
EOF
RUN
NAME=ps+ libc++ 16bit error
FILE==
CMDS=<<EOF
e asm.arch=x86
e asm.bits=16
f obj.empty_str 12 @ 0x0804a064
ps+ @ obj.empty_str
EOF
EXPECT_ERR=<<EOF
Error: bitness of 16 not supported
EOF
RUN