* 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
95 lines
1.2 KiB
Text
95 lines
1.2 KiB
Text
NAME=dbg.aslr
|
|
FILE=bins/elf/analysis/pie
|
|
ARGS=-d
|
|
CMDS=pi 3 @ entry0
|
|
EXPECT=<<EOF
|
|
xor ebp, ebp
|
|
pop esi
|
|
mov ecx, esp
|
|
EOF
|
|
RUN
|
|
|
|
NAME=function rebase
|
|
FILE=bins/elf/analysis/pie
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
?v main-`dmm~pie[0]`
|
|
doc
|
|
?v main
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x5c5
|
|
0x5c5
|
|
EOF
|
|
RUN
|
|
|
|
NAME=bp rebase
|
|
FILE=bins/elf/analysis/pie
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
aa
|
|
db @ main
|
|
?v main-`dbl~main[0]`
|
|
doc
|
|
?v main-`dbl~main[0]`
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x0
|
|
0x0
|
|
EOF
|
|
RUN
|
|
|
|
NAME=ref rebase
|
|
FILE=bins/elf/hello_world
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
aa
|
|
?v `axt @ main~entry0[1]`-`e bin.baddr`
|
|
doc
|
|
?v `axt @ main~entry0[1]`-`e bin.baddr`
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x6bd
|
|
0x6bd
|
|
EOF
|
|
RUN
|
|
|
|
NAME=flag rebase
|
|
FILE=bins/elf/analysis/pie
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
aa
|
|
fs test
|
|
f testflag @ main+10
|
|
?v `fl~testflag[0]`-`e bin.baddr`
|
|
doc
|
|
?v `fl~testflag[0]`-`e bin.baddr`
|
|
EOF
|
|
EXPECT=<<EOF
|
|
0x5cf
|
|
0x5cf
|
|
EOF
|
|
RUN
|
|
|
|
NAME=var rebase
|
|
FILE=bins/elf/hello_world
|
|
ARGS=-d
|
|
CMDS=<<EOF
|
|
aa
|
|
afv @ main
|
|
doc
|
|
afv @ main
|
|
EOF
|
|
EXPECT=<<EOF
|
|
var int64_t var_20h @ rbp-0x20
|
|
var int64_t var_1ch @ rbp-0x1c
|
|
var int64_t var_18h @ rbp-0x18
|
|
var int64_t var_10h @ rbp-0x10
|
|
var int64_t var_8h @ rbp-0x8
|
|
var int64_t var_20h @ rbp-0x20
|
|
var int64_t var_1ch @ rbp-0x1c
|
|
var int64_t var_18h @ rbp-0x18
|
|
var int64_t var_10h @ rbp-0x10
|
|
var int64_t var_8h @ rbp-0x8
|
|
EOF
|
|
RUN
|