165 lines
2.4 KiB
Text
165 lines
2.4 KiB
Text
NAME=omp twice bug
|
|
FILE=malloc://1024
|
|
CMDS=<<EOF
|
|
omf rw 1
|
|
wx 9090
|
|
p8 2
|
|
on malloc://1024
|
|
p8 2
|
|
oml
|
|
omp 1
|
|
oml
|
|
p8 2
|
|
EOF
|
|
EXPECT=<<EOF
|
|
9090
|
|
0000
|
|
1 fd: 3 +0x00000000 0x00000000 - 0x000003ff rw-
|
|
2 fd: 4 +0x00000000 0x00000000 * 0x000003ff rw-
|
|
2 fd: 4 +0x00000000 0x00000000 - 0x000003ff rw-
|
|
1 fd: 3 +0x00000000 0x00000000 * 0x000003ff rw-
|
|
9090
|
|
EOF
|
|
RUN
|
|
|
|
NAME=io.maps alloc map
|
|
FILE=malloc://1024
|
|
CMDS=<<EOF
|
|
e io.va=true
|
|
s 0
|
|
b 100
|
|
wox 0x10 @ 0
|
|
on malloc://0x1000 0x80000 >/dev/null
|
|
p8 4 @ 0x80000
|
|
EOF
|
|
EXPECT=<<EOF
|
|
00000000
|
|
EOF
|
|
RUN
|
|
|
|
NAME=io.maps: o 100
|
|
FILE=malloc://1024
|
|
CMDS=<<EOF
|
|
s 0
|
|
b 100
|
|
wox 0x10 @ 0
|
|
o malloc://0x1000 0x80000 > /dev/null
|
|
e io.va=true
|
|
b 0x1000
|
|
wb 0x20 @ 0x80000
|
|
b 20
|
|
p8 @ 0
|
|
p8 @ 90
|
|
p8 @ 0x400
|
|
p8 @ 0x80000
|
|
EOF
|
|
EXPECT=<<EOF
|
|
1010101010101010101010101010101010101010
|
|
1010101010101010101000000000000000000000
|
|
ffffffffffffffffffffffffffffffffffffffff
|
|
2020202020202020202020202020202020202020
|
|
EOF
|
|
RUN
|
|
|
|
NAME=om 0x100;x@0xff
|
|
FILE==
|
|
CMDS=<<EOF
|
|
e io.va=false
|
|
om `ol~[0]` 0x100
|
|
w pop @ 1
|
|
p8 4 @ 0x100
|
|
EOF
|
|
EXPECT=<<EOF
|
|
00000000
|
|
EOF
|
|
RUN
|
|
|
|
NAME=o - 0x9000;x@0x8f00
|
|
FILE==
|
|
CMDS=<<EOF
|
|
o malloc://128 0x9000 > /dev/null
|
|
e io.va=true
|
|
x 32 @ 0x8ff0
|
|
EOF
|
|
EXPECT=<<EOF
|
|
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
|
|
0x00008ff0 ffff ffff ffff ffff ffff ffff ffff ffff ................
|
|
0x00009000 0000 0000 0000 0000 0000 0000 0000 0000 ................
|
|
EOF
|
|
RUN
|
|
|
|
NAME=omfg all rwx
|
|
FILE==
|
|
CMDS=<<EOF
|
|
e scr.null=true
|
|
o malloc://32 0x400
|
|
e scr.null=false
|
|
omfg -rwx
|
|
oml~rwx
|
|
omfg rwx
|
|
oml~rwx~?
|
|
EOF
|
|
EXPECT=<<EOF
|
|
2
|
|
EOF
|
|
RUN
|
|
|
|
NAME=Opening a new map doesnt set io.a to false
|
|
FILE==
|
|
CMDS=<<EOF
|
|
e io.va
|
|
e scr.null=true
|
|
o malloc://32 0x400
|
|
e scr.null=false
|
|
e io.va
|
|
EOF
|
|
EXPECT=<<EOF
|
|
true
|
|
true
|
|
EOF
|
|
RUN
|
|
|
|
NAME=omf one mapping
|
|
FILE==
|
|
CMDS=<<EOF
|
|
omf rwx 1
|
|
oml~rwx~?
|
|
omf r-x 1
|
|
oml~r-x~?
|
|
omf --x 1
|
|
oml~--x~?
|
|
omf -w- 1
|
|
oml~-w-~?
|
|
EOF
|
|
EXPECT=<<EOF
|
|
1
|
|
1
|
|
1
|
|
1
|
|
EOF
|
|
RUN
|
|
|
|
NAME=io.unalloc off-by-one fix
|
|
FILE=bins/elf/analysis/tiny1
|
|
CMDS=<<EOF
|
|
e asm.bytes=true
|
|
e asm.comments=false
|
|
e io.unalloc=true
|
|
e io.unalloc.ch=
|
|
pd 6
|
|
echo
|
|
px 16
|
|
EOF
|
|
EXPECT=<<EOF
|
|
;-- entry0:
|
|
0x08048054 b32a mov bl, 0x2a
|
|
0x08048056 31c0 xor eax, eax
|
|
0x08048058 40 inc eax
|
|
0x08048059 cd80 int 0x80
|
|
0x0804805b unmapped
|
|
0x0804805c unmapped
|
|
|
|
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
|
|
0x08048054 b32a 31c0 40cd 80 .*1.@..
|
|
EOF
|
|
RUN
|