Optimize tests for db/formats (#6051)

This commit is contained in:
Farhan Saiyed 2026-04-25 10:29:03 +05:30 committed by GitHub
parent 23fa936ace
commit 2d2e47c751
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 2195 additions and 2833 deletions

View file

@ -1,12 +1,12 @@
NAME=test va mapping
FILE=malloc://0x4000
BROKEN=1
CMDS=<<EOF
s 0
e io.va=true
b 64
wb 33
S 0 0x1000 64 64 test
om-*
om 3 0x1000 64 0 r
s 0x1000
px 0x40
sd -16

View file

@ -6,20 +6,18 @@ EXPECT=<<EOF
EOF
RUN
NAME=ar file symbols
NAME=ar file symbols and content
FILE=ar://bins/ar/libgdbr.a//xml.o
CMDS=is~xml
CMDS=<<EOF
is~xml
echo ---
px 64
EOF
EXPECT=<<EOF
1 ---------- 0x00000000 LOCAL FILE 0 xml.c
7 0x000009b3 0x080009b3 LOCAL FUNC 5373 gdbr_parse_target_xml
17 0x00000040 0x08000040 GLOBAL FUNC 152 gdbr_read_target_xml
EOF
RUN
NAME=ar file content
FILE=ar://bins/ar/libgdbr.a//xml.o
CMDS=px 64
EXPECT=<<EOF
---
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0x08000040 5548 89e5 4883 ec30 4889 7dd8 6448 8b04 UH..H..0H.}.dH..
0x08000050 2528 0000 0048 8945 f831 c048 8b45 d80f %(...H.E.1.H.E..

View file

@ -2,10 +2,12 @@ NAME=CaRT: iI and extractor info
FILE=bins/cart/sample.cart
CMDS=<<EOF
iI~binsz
echo ---
i~packet
EOF
EXPECT=<<EOF
binsz 0x00000039
---
packet xtr.cart
EOF
RUN

View file

@ -2,6 +2,7 @@ NAME=CGC: Open/iI
FILE=bins/cgc/CADET_00001
CMDS=<<EOF
iI
echo ---
iH
EOF
EXPECT=<<EOF
@ -39,6 +40,7 @@ canary false
pie false
relrocs false
nx false
---
elf:
e_ident:
bytes: "7f 43 47 43 01 01 01 43 01 4d 65 72 69 6e 6f 00"

View file

@ -1,6 +1,9 @@
NAME=binsym demangling
TOOL=rz-bin
ARGS=-qsD c++ all bins/mach0/hellocxx-osx-i386
FILE=bins/mach0/hellocxx-osx-i386
CMDS=<<EOF
e bin.demangle=true
isq
EOF
EXPECT=<<EOF
0x00002054 0 _NXArgc
0x00002058 0 _NXArgv
@ -28,10 +31,22 @@ EXPECT=<<EOF
EOF
RUN
NAME=binsym without demangling
NAME=binsym without demangling and simplified demangling in session
FILE=bins/mach0/hellocxx-osx-i386
ARGS=-M
CMDS=isq
ARGS=-M -e bin.demangle=true
CMDS=<<EOF
e bin.demangle=false
isq
echo ---
e bin.demangle=true
isq~std:
e bin.demangle.flags=simplify
echo ---
isq~std:
e bin.demangle=false
echo ---
isq~_Z
EOF
EXPECT=<<EOF
0x00002054 0 _NXArgc
0x00002058 0 _NXArgv
@ -56,6 +71,55 @@ EXPECT=<<EOF
0x00001e12 0 imp._ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
0x00001e18 0 imp.__cxa_atexit
0x00001e1e 0 imp.exit
---
0x00001d9a 0 unsigned long const& std::min<unsigned long>(unsigned long const&, unsigned long const&)
0x00001c4e 0 std::__verify_grouping(char const*, unsigned long, std::string const&)
0x00002064 0 std::__ioinit
0x00001dee 0 imp.std::string::size() const
0x00001df4 0 imp.std::string::operator[](unsigned long) const
0x00001dfa 0 imp.std::ostream::operator<<(std::ostream& (*)(std::ostream&))
0x00001e00 0 imp.std::ios_base::Init::Init()
0x00001e06 0 imp.std::ios_base::Init::~Init()
0x00001e12 0 imp.std::basic_ostream<char, std::char_traits<char>>& std::operator<<<std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char>>&, char const*)
---
0x00001d9a 0 unsigned long const& std::min<unsigned long>(unsigned long const&, unsigned long const&)
0x00001c4e 0 std::__verify_grouping(char const*, unsigned long, std::string const&)
0x00002064 0 std::__ioinit
0x00001dee 0 imp.std::string::size() const
0x00001df4 0 imp.std::string::operator[](unsigned long) const
0x00001dfa 0 imp.std::ostream::operator<<(std::ostream& (*)(std::ostream&))
0x00001e00 0 imp.std::ios_base::Init::Init()
0x00001e06 0 imp.std::ios_base::Init::~Init()
0x00001e12 0 imp.std::ostream& std::operator<<<std::char_traits<char>>(std::ostream&, char const*)
---
0x00001d9a 0 __ZSt3minImERKT_S2_S2_
0x00001ba0 0 __Z41__static_initialization_and_destruction_0ii
0x00001c4e 0 __ZStL17__verify_groupingPKcmRKSs
0x00002064 0 __ZStL8__ioinit
0x00001dee 0 imp._ZNKSs4sizeEv
0x00001df4 0 imp._ZNKSsixEm
0x00001dfa 0 imp._ZNSolsEPFRSoS_E
0x00001e00 0 imp._ZNSt8ios_base4InitC1Ev
0x00001e06 0 imp._ZNSt8ios_base4InitD1Ev
0x00001e12 0 imp._ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
EOF
RUN
NAME=demangle c++ but simplified before the session.
FILE=bins/mach0/hellocxx-osx-i386
ARGS=-e bin.demangle.flags=simplify
CMDS=<<EOF
ic
EOF
EXPECT=<<EOF
address min max name super
----------------------------------------------------------------
---------- 0x00001c4e 0x00001c4e std
---------- 0x00001e00 0x00001e06 std::ios_base::Init
---------- 0x00001dfa 0x00001dfa std::ostream
---------- 0x00001e12 ---------- std::ostream& std
---------- 0x00001dee 0x00001df4 std::string
---------- 0x00001d9a 0x00001d9a unsigned long const& std
EOF
RUN
@ -112,18 +176,17 @@ sym.imp.MSVCP100.dll_public:_void___thiscall_std::basic_ostream_char__struct_std
EOF
RUN
NAME=C++ demangle relocs
NAME=C++ demangle relocs and exported GLIBCXX symbols
FILE=bins/elf/libstdc++.so.6
CMDS=e asm.bytes=true;pd 1 @ 0x00091004;
CMDS=<<EOF
e asm.bytes=true
pd 1 @ 0x00091004
echo ---
iE~0x0008ce50
EOF
EXPECT=<<EOF
0x00091004 488b159d880f. mov rdx, qword [reloc.vtable_for_std::bad_alloc] ; new:57 ; [0x1898a8:8]=0x180d28 obj.vtable_for_std::bad_alloc ; "(\r\U00000018"
EOF
RUN
NAME=C++ demangle exported GLIBCXX symbols
FILE=bins/elf/libstdc++.so.6
CMDS=iE~0x0008ce50
EXPECT=<<EOF
---
3770 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
3771 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
5087 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
@ -148,11 +211,12 @@ EXPECT=<<EOF
EOF
RUN
NAME=c++ disasm call demangling
NAME=c++ disasm call demangling and xref demangling (xref from fcn)
FILE=bins/elf/abcde-qt32
CMDS=<<EOF
e asm.demangle=true
e asm.var=false
e asm.bytes=false
e asm.demangle=true
(pd_calls; pd 1 @ 0x0804921a; pd 1 @ 0x08049249; pd 1 @ 0x08049278)
e asm.cmt.right=true
.(pd_calls)
@ -166,32 +230,7 @@ aa
echo
e asm.demangle=false
.(pd_calls)
EOF
EXPECT=<<EOF
0x0804921a call sym.__x86.get_pc_thunk.si
0x08049249 call method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
0x08049278 call method.QLabel.QLabel_QString_const___QWidget___QFlags_Qt::WindowType
0x0804921a call sym.__x86.get_pc_thunk.si
0x08049249 call method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
0x08049278 call method.QLabel.QLabel_QString_const___QWidget___QFlags_Qt::WindowType
| 0x0804921a call sym.__x86.get_pc_thunk.si
| 0x08049249 call method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
| 0x08049278 call method.QLabel.QLabel_QString_const___QWidget___QFlags_Qt::WindowType
| 0x0804921a call sym.__x86.get_pc_thunk.si
| 0x08049249 call method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
| 0x08049278 call method.QLabel.QLabel_QString_const___QWidget___QFlags_Qt::WindowType
EOF
RUN
NAME=c++ xref demangling (xref from fcn)
FILE=bins/elf/abcde-qt32
CMDS=<<EOF
e asm.var=false
e asm.bytes=false
aa
echo ---
s sym.__x86.get_pc_thunk.bx
e asm.demangle=true
pd 1
@ -209,6 +248,22 @@ e asm.demangle=false
pd 1
EOF
EXPECT=<<EOF
0x0804921a call sym.__x86.get_pc_thunk.si
0x08049249 call method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
0x08049278 call method.QLabel.QLabel_QString_const___QWidget___QFlags_Qt::WindowType
0x0804921a call sym.__x86.get_pc_thunk.si
0x08049249 call method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
0x08049278 call method.QLabel.QLabel_QString_const___QWidget___QFlags_Qt::WindowType
| 0x0804921a call sym.__x86.get_pc_thunk.si
| 0x08049249 call method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
| 0x08049278 call method.QLabel.QLabel_QString_const___QWidget___QFlags_Qt::WindowType
| 0x0804921a call sym.__x86.get_pc_thunk.si
| 0x08049249 call method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
| 0x08049278 call method.QLabel.QLabel_QString_const___QWidget___QFlags_Qt::WindowType
---
; CALL XREF from sym._init @ 0x8049008
; CALL XREF from method.QtPrivate::RefCount.deref @ 0x8049349
; CALL XREF from method.QString.QString_char_const @ 0x804939d
@ -475,66 +530,3 @@ EXPECT=<<EOF
0x004009e0 16 Swift.String.init (_builtinStringLiteral(Builtin.RawPointer byteSize__Builtin.Word isASCII__Builtin.Int1 _) -> String
EOF
RUN
NAME=demangle c++ but simplified in session.
FILE=bins/mach0/hellocxx-osx-i386
CMDS=<<EOF
isq~std:
e bin.demangle.flags=simplify
echo ====================
isq~std:
e bin.demangle=false
echo ====================
isq~_Z
EOF
EXPECT=<<EOF
0x00001d9a 0 unsigned long const& std::min<unsigned long>(unsigned long const&, unsigned long const&)
0x00001c4e 0 std::__verify_grouping(char const*, unsigned long, std::string const&)
0x00002064 0 std::__ioinit
0x00001dee 0 imp.std::string::size() const
0x00001df4 0 imp.std::string::operator[](unsigned long) const
0x00001dfa 0 imp.std::ostream::operator<<(std::ostream& (*)(std::ostream&))
0x00001e00 0 imp.std::ios_base::Init::Init()
0x00001e06 0 imp.std::ios_base::Init::~Init()
0x00001e12 0 imp.std::basic_ostream<char, std::char_traits<char>>& std::operator<<<std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char>>&, char const*)
====================
0x00001d9a 0 unsigned long const& std::min<unsigned long>(unsigned long const&, unsigned long const&)
0x00001c4e 0 std::__verify_grouping(char const*, unsigned long, std::string const&)
0x00002064 0 std::__ioinit
0x00001dee 0 imp.std::string::size() const
0x00001df4 0 imp.std::string::operator[](unsigned long) const
0x00001dfa 0 imp.std::ostream::operator<<(std::ostream& (*)(std::ostream&))
0x00001e00 0 imp.std::ios_base::Init::Init()
0x00001e06 0 imp.std::ios_base::Init::~Init()
0x00001e12 0 imp.std::ostream& std::operator<<<std::char_traits<char>>(std::ostream&, char const*)
====================
0x00001d9a 0 __ZSt3minImERKT_S2_S2_
0x00001ba0 0 __Z41__static_initialization_and_destruction_0ii
0x00001c4e 0 __ZStL17__verify_groupingPKcmRKSs
0x00002064 0 __ZStL8__ioinit
0x00001dee 0 imp._ZNKSs4sizeEv
0x00001df4 0 imp._ZNKSsixEm
0x00001dfa 0 imp._ZNSolsEPFRSoS_E
0x00001e00 0 imp._ZNSt8ios_base4InitC1Ev
0x00001e06 0 imp._ZNSt8ios_base4InitD1Ev
0x00001e12 0 imp._ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
EOF
RUN
NAME=demangle c++ but simplified before the session.
FILE=bins/mach0/hellocxx-osx-i386
ARGS=-e bin.demangle.flags=simplify
CMDS=<<EOF
ic
EOF
EXPECT=<<EOF
address min max name super
----------------------------------------------------------------
---------- 0x00001c4e 0x00001c4e std
---------- 0x00001e00 0x00001e06 std::ios_base::Init
---------- 0x00001dfa 0x00001dfa std::ostream
---------- 0x00001e12 ---------- std::ostream& std
---------- 0x00001dee 0x00001df4 std::string
---------- 0x00001d9a 0x00001d9a unsigned long const& std
EOF
RUN

File diff suppressed because it is too large Load diff

View file

@ -1,15 +1,19 @@
NAME=: DMP64 Check
FILE=bins/dmp/bmp.dmp
CMDS=i~format
CMDS=<<EOF
i~format
echo ---
iI
echo ---
iH
echo ---
oml~?
echo ---
px 64 @ 0x1000
EOF
EXPECT=<<EOF
format dmp64
EOF
RUN
NAME=: DMP64 Info
FILE=bins/dmp/bmp.dmp
CMDS=iI
EXPECT=<<EOF
---
arch x86
cpu N/A
features N/A
@ -44,13 +48,7 @@ canary false
pie false
relrocs false
nx false
EOF
RUN
NAME=: DMP header & bmp header
FILE=bins/dmp/bmp.dmp
CMDS=iH
EXPECT=<<EOF
---
dmp64:
MajorVersion: 0xf
MinorVersion: 0x47ba
@ -76,21 +74,9 @@ dmp64:
BitmapSize: 0x40000
Pages: 0x544b
EOF
RUN
NAME=: DMP BMP Page maps
FILE=bins/dmp/bmp.dmp
CMDS=oml~?
EXPECT=<<EOF
---
398
EOF
RUN
NAME=: Resolve vaddr
FILE=bins/dmp/bmp.dmp
CMDS=px 64 @ 0x1000
EXPECT=<<EOF
---
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0x00001000 0000 0000 0000 0000 0000 f9ff 0000 0000 ................
0x00001010 0006 0101 0000 0000 0000 0000 0000 0000 ................
@ -349,7 +335,6 @@ FILE=dmp://bins/dmp/bmp.dmp
CMDS=<<EOF
env RZ_CURL=1
e pdb.server=https://raw.githubusercontent.com/rizinorg/test-pdb-repository/main/
iH
dl dmp
dpa
e cfg.debug=1
@ -361,31 +346,6 @@ dbt
oml
EOF
EXPECT=<<EOF
dmp64:
MajorVersion: 0xf
MinorVersion: 0x47ba
DirectoryTableBase: 0x6d4002
PfnDataBase: 0xfffff80510c22468
PsLoadedModuleList: 0xfffff80510af62f0
PsActiveProcessHead: 0xfffff80510ae6980
MachineImageType: 0x8664
NumberProcessors: 0x1
BugCheckCode:
Value: 0x0
Meaning: "Not a crash"
BugCheckParameter1: 0x0
BugCheckParameter2: 0x0
BugCheckParameter3: 0x0
BugCheckParameter4: 0x0
KdDebuggerDataBlock: 0xfffff80510ad45e0
SecondaryDataState: 0x45474150
ProductType: 0x45474150
SuiteMask: 0x45474150
Bitmap:
HeaderSize: 0xa038
BitmapSize: 0x40000
Pages: 0x544b
mxcsr = 0x00001f80
rflags = 0x0000000000040202
rax = 0x0000000000000003

View file

@ -1,34 +1,20 @@
NAME=loading a BIOS file [64k]
FILE=bins/firmware/bios_64k.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [64k]
FILE=bins/firmware/bios_64k.bin
CMDS=ie
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
EOF
RUN
NAME=corrupted section data
FILE=bins/firmware/bios_64k.bin
CMDS=pi 1
EXPECT=<<EOF
jmp far 0xf000:0xffaa
EOF
RUN
NAME=ljmp follow
NAME=BIOS file [64k] analysis
FILE=bins/firmware/bios_64k.bin
CMDS=<<EOF
ie
echo ---
pi 1
echo ---
s $j
% $$
EOF
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
---
jmp far 0xf000:0xffaa
---
int32 1048490
uint32 1048490
hex 0xfffaa
@ -44,209 +30,61 @@ trits 0t1222021020222
EOF
RUN
NAME=loading a BIOS file [128k]
NAME=BIOS file [128k] analysis
FILE=bins/firmware/bios_128k.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [128k]
FILE=bins/firmware/bios_128k.bin
CMDS=ie
CMDS=<<EOF
ie
echo ---
pi 1
EOF
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
EOF
RUN
NAME=corrupted section data
FILE=bins/firmware/bios_128k.bin
CMDS=pi 1
EXPECT=<<EOF
---
jmp far 0xf000:0xffaa
EOF
RUN
NAME=loading a BIOS file [256k]
NAME=BIOS file [256k] analysis
FILE=bins/firmware/bios_256k.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [256k]
FILE=bins/firmware/bios_256k.bin
CMDS=ie
CMDS=<<EOF
ie
echo ---
pi 1
EOF
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
EOF
RUN
NAME=corrupted section data
FILE=bins/firmware/bios_256k.bin
CMDS=pi 1
EXPECT=<<EOF
---
jmp far 0xf000:0xffaa
EOF
RUN
NAME=loading a BIOS file [512k]
NAME=BIOS file [512k] analysis
FILE=bins/firmware/bios_512k.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [512k]
FILE=bins/firmware/bios_512k.bin
CMDS=ie
CMDS=<<EOF
ie
echo ---
pi 1
EOF
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
EOF
RUN
NAME=corrupted section data
FILE=bins/firmware/bios_512k.bin
CMDS=pi 1
EXPECT=<<EOF
---
jmp far 0xf000:0xffaa
EOF
RUN
NAME=loading a BIOS file [1M]
FILE=bins/firmware/bios_1M.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [1M]
FILE=bins/firmware/bios_1M.bin
CMDS=ie
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
EOF
RUN
NAME=corrupted section data
FILE=bins/firmware/bios_1M.bin
CMDS=pi 1
EXPECT=<<EOF
jmp far 0xf000:0xffaa
EOF
RUN
NAME=loading a BIOS file [2M]
FILE=bins/firmware/bios_2M.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [2M]
FILE=bins/firmware/bios_2M.bin
CMDS=ie
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
EOF
RUN
NAME=corrupted section data
FILE=bins/firmware/bios_2M.bin
CMDS=pi 1
EXPECT=<<EOF
jmp far 0xf000:0xffaa
EOF
RUN
NAME=loading a BIOS file [4M]
FILE=bins/firmware/bios_4M.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [4M]
FILE=bins/firmware/bios_4M.bin
CMDS=ie
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
EOF
RUN
NAME=corrupted section data
FILE=bins/firmware/bios_4M.bin
CMDS=pi 1
EXPECT=<<EOF
jmp far 0xf000:0xffaa
EOF
RUN
NAME=loading a BIOS file [8M]
FILE=bins/firmware/bios_8M.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [8M]
FILE=bins/firmware/bios_8M.bin
CMDS=ie
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
EOF
RUN
NAME=corrupted section data
FILE=bins/firmware/bios_8M.bin
CMDS=pi 1
EXPECT=<<EOF
jmp far 0xf000:0xffaa
EOF
RUN
NAME=BIOS iH [64k]
FILE=bins/firmware/bios_64k.bin
CMDS=iH
EXPECT=<<EOF
bios:
entry_point:
opcode: 0xea
type: "far jump"
sections:
- name: "bootblk"
address: 0xf0000
size: 0x10000
EOF
RUN
NAME=BIOS iH [128k]
FILE=bins/firmware/bios_128k.bin
CMDS=iH
EXPECT=<<EOF
bios:
entry_point:
opcode: 0xea
type: "far jump"
sections:
- name: "bootblk"
address: 0xf0000
size: 0x10000
EOF
RUN
NAME=test x86 IO ports
NAME=BIOS file [1M] analysis
FILE=bins/firmware/bios_1M.bin
CMDS=<<EOF
ie
echo ---
pi 1
echo ---
e asm.cpu=generic
e asm.platform=generic
aa
@ -254,6 +92,12 @@ fl @F:platform.ports
CCl~reg
EOF
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
---
jmp far 0xf000:0xffaa
---
0x00000018 1 PS_2_register
0x0000001a 1 PS_2_execute
0x0000001f 1 DMA_1
@ -292,6 +136,53 @@ EXPECT=<<EOF
EOF
RUN
NAME=BIOS file [2M] analysis
FILE=bins/firmware/bios_2M.bin
CMDS=<<EOF
ie
echo ---
pi 1
EOF
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
---
jmp far 0xf000:0xffaa
EOF
RUN
NAME=BIOS file [4M] analysis
FILE=bins/firmware/bios_4M.bin
CMDS=<<EOF
ie
echo ---
pi 1
EOF
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
---
jmp far 0xf000:0xffaa
EOF
RUN
NAME=BIOS file [8M] analysis
FILE=bins/firmware/bios_8M.bin
CMDS=<<EOF
ie
echo ---
pi 1
EOF
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x000ffff0 0x00000000 ---------- ---------- program
---
jmp far 0xf000:0xffaa
EOF
RUN
NAME=GNS1: comprehensive validation
FILE=bins/firmware/gns1_test.bin

View file

@ -1,16 +1,14 @@
NAME=GBA: 3D - Maps
FILE=bins/gba/3D.gba
CMDS=oml
CMDS=<<EOF
oml
echo ---
iS
EOF
EXPECT=<<EOF
1 fd: 4 +0x00000000 0x080105cc - 0x09ffffff r-x mmap.ROM
2 fd: 3 +0x00000000 0x08000000 * 0x080105cb r-x fmap.ROM
EOF
RUN
NAME=GBA: 3D - Sections
FILE=bins/gba/3D.gba
CMDS=iS
EXPECT=<<EOF
---
paddr size vaddr vsize align perm name type flags
-------------------------------------------------------------------
0x00000000 0x105cc 0x08000000 0x2000000 0x0 -r-x ROM

View file

@ -1,6 +1,12 @@
NAME=Gameboy: Sections
FILE=bins/gbc/a.gb
CMDS=ia;iH;oml
CMDS=<<EOF
ia
echo ---
iH
echo ---
oml
EOF
EXPECT=<<EOF
[Info]
arch gb
@ -95,6 +101,7 @@ iram_echo 0x1e00 0x0000e000 r-x iram
paddr vaddr len size section type string
-----------------------------------------
---
gb:
main_address: 0x150
nintendo_logo: |
@ -124,6 +131,7 @@ gb:
header_checksum: 0x24
global_checksum: 0xa499
---
1 fd: 3 +0x00000000 0x00000000 * 0x00003fff r-x fmap.rom_bank00
2 fd: 3 +0x00004000 0x00004000 - 0x00007fff r-x fmap.rom_bank01
3 fd: 3 +0x00008000 0x00014000 - 0x00017fff r-x fmap.rom_bank02

View file

@ -1,6 +1,10 @@
NAME=hunk test
FILE=bins/hunk/test
CMDS=ia ; iH
CMDS=<<EOF
ia
echo ---
iH
EOF
EXPECT=<<EOF
[Info]
arch m68k
@ -224,6 +228,7 @@ name size address flags mirror
paddr vaddr len size section type string
-----------------------------------------
---
hunks_count: 3
hunks:
- index: 0

File diff suppressed because it is too large Load diff

View file

@ -1,88 +1,12 @@
NAME=Open LE cdogs.exe
FILE=bins/le/cdogs.exe
CMDS=iH
EXPECT=<<EOF
le:
signature: "LE"
le_offset: 0x2d98
byte_order: "little endian"
word_order: "little endian"
format_level: 0
module_name: "cdogs"
type: "Program module (EXE)"
cpu: "80386"
os: "OS/2"
arch: "x86"
version: 0
mflags: 0x200
flags:
- "PMWINAPI"
- "EXE"
mpages: 61
initial_eip_obj: 1
initial_eip: 0x16058
initial_stack_obj: 2
initial_esp: 0x26030
page_size: 0x1000
last_page_size: 0xd8c
fixup_size: 0xa14a
fixup_checksum: 0x0
loader_size: 0xa278
loader_checksum: 0x0
obj_table: 0xc4
obj_count: 2
obj_page_map: 0xf4
obj_iter_data_map: 0x0
resource_table: 0x1e8
resource_count: 0
resident_name_table: 0x1e8
entry_table: 0x1f1
directives_table: 0x0
directives_count: 0
fixup_page_table: 0x1f2
fixup_record_table: 0x2ea
import_module_name_table: 0xa33b
import_module_name_count: 0
import_procedure_name_table: 0xa33b
per_page_checksum_table: 0x0
enumerated_data_pages: 0xd200
number_of_preload_pages: 0
non_resident_names_table: 0x0
size_non_resident_names: 0
checksum_non_resident_names: 0x0
autodata_obj: 2
debug_info: 0x0
debug_length: 0x0
preload_pages: 0
demand_pages: 0
heap_size: 0x0
stack_size: 0x0
EOF
RUN
NAME=cdogs.exe entrypoint
FILE=bins/le/cdogs.exe
CMDS=ie:vaddr:quiet
EXPECT=<<EOF
0x00026058
EOF
RUN
NAME=cdogs.exe sections
FILE=bins/le/cdogs.exe
CMDS=iS
EXPECT=<<EOF
paddr size vaddr vsize align perm name type flags
-------------------------------------------------------------------
0x0000d200 0x2d000 0x00010000 0x2d000 0x0 -r-x obj1_1
0x0003a200 0xfd8c 0x00040000 0x26030 0x0 -rw- obj2_1
EOF
RUN
NAME=cdogs.exe relocations
FILE=bins/le/cdogs.exe
CMDS=<<EOF
iH
echo ---
ie:vaddr:quiet
echo ---
iS
echo ---
ir > $relocs
cat $relocs~?
cat $relocs~0x00010~?
@ -149,8 +73,80 @@ cat $relocs~0x0004c~?
cat $relocs~0x0004d~?
cat $relocs~0x0004e~?
cat $relocs~0x0004f~?
echo ---
aac
# aaef
aflc
echo ---
s
echo ---
pi 1
EOF
EXPECT=<<EOF
le:
signature: "LE"
le_offset: 0x2d98
byte_order: "little endian"
word_order: "little endian"
format_level: 0
module_name: "cdogs"
type: "Program module (EXE)"
cpu: "80386"
os: "OS/2"
arch: "x86"
version: 0
mflags: 0x200
flags:
- "PMWINAPI"
- "EXE"
mpages: 61
initial_eip_obj: 1
initial_eip: 0x16058
initial_stack_obj: 2
initial_esp: 0x26030
page_size: 0x1000
last_page_size: 0xd8c
fixup_size: 0xa14a
fixup_checksum: 0x0
loader_size: 0xa278
loader_checksum: 0x0
obj_table: 0xc4
obj_count: 2
obj_page_map: 0xf4
obj_iter_data_map: 0x0
resource_table: 0x1e8
resource_count: 0
resident_name_table: 0x1e8
entry_table: 0x1f1
directives_table: 0x0
directives_count: 0
fixup_page_table: 0x1f2
fixup_record_table: 0x2ea
import_module_name_table: 0xa33b
import_module_name_count: 0
import_procedure_name_table: 0xa33b
per_page_checksum_table: 0x0
enumerated_data_pages: 0xd200
number_of_preload_pages: 0
non_resident_names_table: 0x0
size_non_resident_names: 0
checksum_non_resident_names: 0x0
autodata_obj: 2
debug_info: 0x0
debug_length: 0x0
preload_pages: 0
demand_pages: 0
heap_size: 0x0
stack_size: 0x0
---
0x00026058
---
paddr size vaddr vsize align perm name type flags
-------------------------------------------------------------------
0x0000d200 0x2d000 0x00010000 0x2d000 0x0 -r-x obj1_1
0x0003a200 0xfd8c 0x00040000 0x26030 0x0 -rw- obj2_1
---
5237
151
160
@ -216,12 +212,28 @@ EXPECT=<<EOF
381
561
588
---
789
---
0x26058
---
jmp 0x260d0
EOF
RUN
NAME=Open LX GCC.EXE
FILE=bins/le/GCC.EXE
CMDS=iH
CMDS=<<EOF
iH
echo ---
ie:vaddr:quiet
echo ---
iS
echo ---
ir
echo ---
il
EOF
EXPECT=<<EOF
le:
signature: "LX"
@ -280,34 +292,16 @@ le:
heap_size: 0x0
stack_size: 0x0
EOF
RUN
NAME=GCC.EXE entrypoint
FILE=bins/le/GCC.EXE
CMDS=ie:vaddr:quiet
EXPECT=<<EOF
---
0x00010000
EOF
RUN
NAME=GCC.EXE sections
FILE=bins/le/GCC.EXE
CMDS=iS
EXPECT=<<EOF
---
paddr size vaddr vsize align perm name type flags
--------------------------------------------------------------------
0x00001000 0xf000 0x00010000 0xf000 0x0 -r-x obj1_1
0x00010000 0x1000 0x00020000 0x2804 0x0 -rw- obj2_1
0x00000000 0x0 0x00030000 0x2000000 0x0 -rw- obj3_1
0x00000000 0x0 0x02030000 0x800000 0x0 -rw- obj4_1
EOF
RUN
NAME=GCC.EXE relocations
FILE=bins/le/GCC.EXE
CMDS=ir
EXPECT=<<EOF
---
vaddr paddr target type name
-----------------------------------------------------
0x00010006 0x00001006 0x02832000 SET_32 emx_1
@ -321,13 +315,7 @@ EXPECT=<<EOF
0x0001d39f 0x0000e39f 0x02832018 SET_32 doscalls_257
0x0001d3d9 0x0000e3d9 0x02832020 SET_32 doscalls_281
0x0001d3f4 0x0000e3f4 0x02832018 SET_32 doscalls_257
EOF
RUN
NAME=GCC.EXE linked libs
FILE=bins/le/GCC.EXE
CMDS=il
EXPECT=<<EOF
---
library
---------
emx
@ -337,7 +325,23 @@ RUN
NAME=Open LX GNUGREP.DLL
FILE=bins/le/GNUGREP.DLL
CMDS=iH
CMDS=<<EOF
iH
echo ---
ie:vaddr:quiet
echo ---
is
echo ---
iS
echo ---
il
echo ---
ir > $relocs
cat $relocs~?
cat $relocs~GNUREGEX~?
cat $relocs~EMXLIBC~?
cat $relocs~emx~?
EOF
EXPECT=<<EOF
le:
signature: "LX"
@ -394,22 +398,10 @@ le:
heap_size: 0x0
stack_size: 0x0
EOF
RUN
NAME=GNUGREP.DLL entrypoint
FILE=bins/le/GNUGREP.DLL
CMDS=ie:vaddr:quiet
EXPECT=<<EOF
---
0x00010000
0x00010ddc
EOF
RUN
NAME=GNUGREP.DLL symbol
FILE=bins/le/GNUGREP.DLL
CMDS=is
EXPECT=<<EOF
---
nth paddr vaddr bind type size lib name
---------------------------------------------------------------
1 0x000023dc 0x00010ddc GLOBAL UNK 0 grepmain
@ -454,44 +446,20 @@ nth paddr vaddr bind type size lib name
40 0x00000000 0x00043098 GLOBAL UNK 0 imp.GNUREGEX_9
41 0x00000000 0x0004309c GLOBAL UNK 0 imp.GNUREGEX_12
42 0x00000000 0x000430a0 GLOBAL UNK 0 imp.EMXLIBC_207
EOF
RUN
NAME=GNUGREP.DLL sections
FILE=bins/le/GNUGREP.DLL
CMDS=iS
EXPECT=<<EOF
---
paddr size vaddr vsize align perm name type flags
-----------------------------------------------------------------
0x00001600 0x7e00 0x00010000 0x8000 0x0 -r-x obj1_1
0x00009400 0x200 0x00020000 0x1000 0x0 -r-x obj2_1
0x00009600 0x200 0x00030000 0x1000 0x0 -r-x obj3_1
0x00001400 0x200 0x00040000 0x1000 0x0 -rw- obj4_1
EOF
RUN
NAME=GNUGREP.DLL linked libs
FILE=bins/le/GNUGREP.DLL
CMDS=il
EXPECT=<<EOF
---
library
---------
GNUREGEX
EMXLIBC
emx
EOF
RUN
NAME=GNUGREP.DLL relocations
FILE=bins/le/GNUGREP.DLL
CMDS=<<EOF
ir > $relocs
cat $relocs~?
cat $relocs~GNUREGEX~?
cat $relocs~EMXLIBC~?
cat $relocs~emx~?
EOF
EXPECT=<<EOF
---
1168
8
183
@ -499,37 +467,9 @@ EXPECT=<<EOF
EOF
RUN
NAME=LE: corkami cdogs.exe - open
FILE=bins/le/cdogs.exe
TIMEOUT=1320
CMDS=<<EOF
aac
# aaef
aflc
EOF
EXPECT=<<EOF
789
EOF
RUN
NAME=LE: corkami cdogs.exe - entrypoint
FILE=bins/le/cdogs.exe
CMDS=s
EXPECT=<<EOF
0x26058
EOF
RUN
NAME=LE: corkami cdogs.exe - pi 1
FILE=bins/le/cdogs.exe
CMDS=pi 1
EXPECT=<<EOF
jmp 0x260d0
EOF
RUN
NAME=DOSEXT.EXE open extender binary
FILE=bins/le/DOSEXT.EXE
BROKEN=1
CMDS=iH
EXPECT=<<EOF
le:
@ -590,7 +530,6 @@ le:
stack_size: 0x1000
EOF
BROKEN=1
RUN
NAME=hellolx.dll unpack iterated page
@ -601,34 +540,24 @@ EXPECT=<<EOF
EOF
RUN
NAME=sdl.dll unpack compressed page
NAME=sdl.dll
FILE=bins/le/sdl.dll
CMDS=p8 8 @ 0x20000
CMDS=<<EOF
p8 8 @ 0x20000
echo ---
p8 6 @ 0x1000B
echo ---
p8 4 @ 0x202bd
echo ---
p8 4 @ 0x20b32
EOF
EXPECT=<<EOF
ccebfd9090909000
EOF
RUN
NAME=sdl.dll 16:32 fixup
FILE=bins/le/sdl.dll
CMDS=p8 6 @ 0x1000B
EXPECT=<<EOF
---
595005000200
EOF
RUN
NAME=sdl.dll 32 bit relative fixup
FILE=bins/le/sdl.dll
CMDS=p8 4 @ 0x202bd
EXPECT=<<EOF
---
3fad0500
EOF
RUN
NAME=sdl.dll 32 bit absolute fixup
FILE=bins/le/sdl.dll
CMDS=p8 4 @ 0x20b32
EXPECT=<<EOF
---
69010600
EOF
RUN

View file

@ -1,4 +1,4 @@
NAME=LUAC: info
NAME=LUAC: none53.luac
FILE=bins/luac/none53.luac
CMDS=<<EOF
i~guid,machine
@ -12,7 +12,7 @@ machine Lua 5.3 VM
EOF
RUN
NAME=LUAC: big file
NAME=LUAC: big53.luac
FILE=bins/luac/big53.luac
CMDS=<<EOF
iS~code

View file

@ -1,15 +1,20 @@
NAME=mdmp open
NAME=mdmp calc.dmp
FILE=bins/mdmp/calc.dmp
CMDS=i~format
CMDS=<<EOF
i~format
echo ---
iI
echo ---
oml
echo ---
ie
echo ---
obR
echo ok
EOF
EXPECT=<<EOF
format mdmp
EOF
RUN
NAME=mdmp info
FILE=bins/mdmp/calc.dmp
CMDS=iI
EXPECT=<<EOF
---
arch x86
cpu N/A
features N/A
@ -46,6 +51,21 @@ canary false
pie false
relrocs false
nx false
---
1 fd: 3 +0x000043ac 0x0398f9b8 - 0x0398ffff r-- fmap.memory.0x398f9b8
2 fd: 3 +0x000049f4 0x77639dea - 0x77639ee9 r-- fmap.memory.0x77639dea
3 fd: 3 +0x00004af4 0x032cf638 - 0x032cffff r-- fmap.memory.0x32cf638
4 fd: 3 +0x000054bc 0x0367f868 - 0x0367ffff r-- fmap.memory.0x367f868
5 fd: 3 +0x00005c54 0x000bd0d8 - 0x000bffff r-- fmap.memory.0xbd0d8
6 fd: 3 +0x00008b7c 0x03a7ff08 - 0x03a7ffff r-- fmap.memory.0x3a7ff08
7 fd: 3 +0x00008c74 0x7776ad90 - 0x7776ae8f r-- fmap.memory.0x7776ad90
8 fd: 3 +0x00008d74 0x7776bafa - 0x7776bbf9 r-- fmap.memory.0x7776bafa
9 fd: 3 +0x00008e74 0x7776c06a - 0x7776c169 r-- fmap.memory.0x7776c06a
---
vaddr paddr hvaddr haddr type
------------------------------
---
ok
EOF
RUN
@ -84,25 +104,51 @@ EXPECT=<<EOF
EOF
RUN
NAME=mdmp maps
FILE=bins/mdmp/calc.dmp
CMDS=oml
EXPECT=<<EOF
1 fd: 3 +0x000043ac 0x0398f9b8 - 0x0398ffff r-- fmap.memory.0x398f9b8
2 fd: 3 +0x000049f4 0x77639dea - 0x77639ee9 r-- fmap.memory.0x77639dea
3 fd: 3 +0x00004af4 0x032cf638 - 0x032cffff r-- fmap.memory.0x32cf638
4 fd: 3 +0x000054bc 0x0367f868 - 0x0367ffff r-- fmap.memory.0x367f868
5 fd: 3 +0x00005c54 0x000bd0d8 - 0x000bffff r-- fmap.memory.0xbd0d8
6 fd: 3 +0x00008b7c 0x03a7ff08 - 0x03a7ffff r-- fmap.memory.0x3a7ff08
7 fd: 3 +0x00008c74 0x7776ad90 - 0x7776ae8f r-- fmap.memory.0x7776ad90
8 fd: 3 +0x00008d74 0x7776bafa - 0x7776bbf9 r-- fmap.memory.0x7776bafa
9 fd: 3 +0x00008e74 0x7776c06a - 0x7776c169 r-- fmap.memory.0x7776c06a
EOF
RUN
NAME=mdmp memory64 maps
NAME=mdmp hello64.dmp
FILE=bins/mdmp/hello64.dmp
CMDS=oml
CMDS=<<EOF
oml
echo ---
il:quiet~?
echo ---
il~kernel32.dll
echo ---
ie:quiet~?
echo ---
ie~0x00401500
echo ---
is~?
echo ---
is~imp.DeleteCriticalSection~KERNEL32.dll
echo ---
is~A_SHAFinal
echo ---
ii~?
echo ---
ii~KERNEL32.dll~GetCurrentProcessId
echo ---
iE~?
echo ---
iE~CsrVerifyRegion
echo ---
iz~0x002e2fe1[1,2,3,4,5,6,7,8]
iz~0x002e2feb[1,2,3,4,5,6,7,8]
iz~0x002e2ff5[1,2,3,4,5,6,7,8]
iz~0x00330d85[1,2,3,4,5,6,7,8]
iz~0x003310c1[1,2,3,4,5,6,7,8]
iz~0x00161a37[1,2,3,4,5,6,7,8]
iz~0x00161c7f[1,2,3,4,5,6,7,8]
iz~0x00161dbf[1,2,3,4,5,6,7,8]
iz~0x001d9d45[1,2,3,4,5,6,7,8]
iz~0x001da0a5[1,2,3,4,5,6,7,8]
iz~0x003fad45[1,2,3,4,5,6,7,8]
iz~0x003fb0ad[1,2,3,4,5,6,7,8]
iz~0x00480857[1,2,3,4,5,6,7,8]
iz~0x004808c7[1,2,3,4,5,6,7,8]
iz~0x00499cf5[1,2,3,4,5,6,7,8]
iz~0x0049a045[1,2,3,4,5,6,7,8]
EOF
TIMEOUT=2040
EXPECT=<<EOF
1 fd: 3 +0x00002c8f 0x00010000 - 0x0001ffff r-- fmap.memory64.0x10000
2 fd: 3 +0x00012c8f 0x00020000 - 0x0002ffff r-- fmap.memory64.0x20000
@ -157,27 +203,145 @@ EXPECT=<<EOF
51 fd: 3 +0x0049cc8f 0x7fffffb0000 - 0x7fffffd2fff r-- fmap.memory64.0x7fffffb0000
52 fd: 3 +0x004bfc8f 0x7fffffd7000 - 0x7fffffd7fff r-- fmap.memory64.0x7fffffd7000
53 fd: 3 +0x004c0c8f 0x7fffffde000 - 0x7fffffdffff r-- fmap.memory64.0x7fffffde000
---
49
---
[0x00400000] - kernel32.dll
---
5
---
0x00401500 0x0009418f ---------- 0x00092d37 program
---
6826
---
1 0x0009ae8b 0x004081fc NONE FUNC 0 KERNEL32.dll imp.DeleteCriticalSection
---
9 0x001eb87f 0x77728bf0 GLOBAL FUNC 0 ntdll.dll A_SHAFinal
---
1511
---
4 0x00408214 NONE FUNC KERNEL32.dll GetCurrentProcessId
---
5317
---
39 0x0029513f 0x777d24b0 GLOBAL FUNC 0 ntdll.dll CsrVerifyRegion
---
0x77820352 4 10 C:_Windows_System32__tdll.dll utf16le Alpc
0x7782035c 4 10 C:_Windows_System32__tdll.dll utf16le Pool
0x77820366 5 12 C:_Windows_System32__tdll.dll utf16le Timer
0x7786e0f6 15 32 C:_Windows_System32__tdll.dll utf16le VS_VERSION_INFO
0x7786e432 11 24 C:_Windows_System32__tdll.dll utf16le VarFileInfo
0x7759dda8 7 16 C:_Windows_System32_kernel32.dll utf16le win.ini
0x7759dff0 20 42 C:_Windows_System32_kernel32.dll utf16le \Classes\Wow6432Node
0x7759e130 45 92 C:_Windows_System32_kernel32.dll utf16le \REGISTRY\USER\*\SOFTWARE\Classes\Wow6432Node
0x776160b6 15 32 C:_Windows_System32_kernel32.dll utf16le VS_VERSION_INFO
0x77616416 11 24 C:_Windows_System32_kernel32.dll utf16le VarFileInfo
0x7fefd5080b6 15 32 C:_Windows_System32_KERNELBASE.dll utf16le VS_VERSION_INFO
0x7fefd50841e 11 24 C:_Windows_System32_KERNELBASE.dll utf16le VarFileInfo
0x7fefdb33bc8 4 10 C:_Windows_System32_msvcrt.dll utf16le PATH
0x7fefdb33c38 10 22 C:_Windows_System32_msvcrt.dll utf16le SystemRoot
0x7fefdb4d066 15 32 C:_Windows_System32_msvcrt.dll utf16le VS_VERSION_INFO
0x7fefdb4d3b6 11 24 C:_Windows_System32_msvcrt.dll utf16le VarFileInfo
EOF
RUN
NAME=mdmp entrypoints nomem .dmp
FILE=bins/mdmp/calc.dmp
CMDS=ie
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
------------------------------
EOF
RUN
NAME=mdmp resolve vaddr to paddr
NAME=mdmp hello.dmp
FILE=bins/mdmp/hello.dmp
CMDS=px 64 @ 0x00400000
CMDS=<<EOF
px 64 @ 0x00400000
echo ---
il:quiet~?
echo ---
il~kernel32.dll
echo ---
ie:quiet~?
iee:quiet~?
echo ---
ie~0x004014e0
echo ---
is~?
echo ---
is~DeleteCriticalSection:0
echo ---
is~RtlDeleteCriticalSection:0
echo ---
ii~?
echo ---
ii~TerminateProcess~KERNEL32.dll
echo ---
iE~?
echo ---
iE~Ordinal_1
echo ---
iz~0x0043cf24[1,2,3,4,5,6,7,8]
iz~0x0043cf2e[1,2,3,4,5,6,7,8]
iz~0x0043cf38[1,2,3,4,5,6,7,8]
iz~0x00447247[1,2,3,4,5,6,7,8]
iz~0x0044726b[1,2,3,4,5,6,7,8]
iz~0x00447291[1,2,3,4,5,6,7,8]
iz~0x004472ac[1,2,3,4,5,6,7,8]
iz~0x0048acc8[1,2,3,4,5,6,7,8]
iz~0x0048b004[1,2,3,4,5,6,7,8]
iz~0x00168c38[1,2,3,4,5,6,7,8]
iz~0x00168f80[1,2,3,4,5,6,7,8]
iz~0x00128c38[1,2,3,4,5,6,7,8]
iz~0x00128fa8[1,2,3,4,5,6,7,8]
iz~0x000cdc38[1,2,3,4,5,6,7,8]
iz~0x000cdf84[1,2,3,4,5,6,7,8]
iz~0x00299106[1,2,3,4,5,6,7,8]
iz~0x001adff0[1,2,3,4,5,6,7,8]
iz~0x0033641a[1,2,3,4,5,6,7,8]
iz~0x00337f88[1,2,3,4,5,6,7,8]
EOF
EXPECT=<<EOF
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0x00400000 4d5a 9000 0300 0000 0400 0000 ffff 0000 MZ..............
0x00400010 b800 0000 0000 0000 4000 0000 0000 0000 ........@.......
0x00400020 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00400030 0000 0000 0000 0000 0000 0000 8000 0000 ................
---
57
---
[0x00400000] - kernel32.dll
---
11
2
---
0x004014e0 0x000990b2 ---------- 0x00097c7a program
---
7468
---
1 0x0009dcda 0x00406108 NONE FUNC 0 KERNEL32.dll imp.DeleteCriticalSection
---
358 0x001c2176 0x76fb05a4 NONE FUNC 0 ntdll.dll imp.RtlDeleteCriticalSection
---
2030
---
17 0x00406148 NONE FUNC KERNEL32.dll TerminateProcess
---
5440
---
1 0x0041f1f2 0x77802620 GLOBAL FUNC 0 ntdll.dll Ordinal_1
---
0x77820352 4 10 C:_Windows_System32__tdll.dll utf16le Alpc
0x7782035c 4 10 C:_Windows_System32__tdll.dll utf16le Pool
0x77820366 5 12 C:_Windows_System32__tdll.dll utf16le Timer
0x7782a675 35 36 C:_Windows_System32__tdll.dll ascii RtlFindActivationContextSectionGuid
0x7782a699 37 38 C:_Windows_System32__tdll.dll ascii RtlFindActivationContextSectionString
0x7782a6bf 26 27 C:_Windows_System32__tdll.dll ascii RtlFindCharInUnicodeString
0x7782a6da 16 17 C:_Windows_System32__tdll.dll ascii RtlFindClearBits
0x7786e0f6 15 32 C:_Windows_System32__tdll.dll utf16le VS_VERSION_INFO
0x7786e432 11 24 C:_Windows_System32__tdll.dll utf16le VarFileInfo
0x7500d066 15 32 C:_Windows_System32_wow64.dll utf16le VS_VERSION_INFO
0x7500d3ae 11 24 C:_Windows_System32_wow64.dll utf16le VarFileInfo
0x74fc9066 15 32 C:_Windows_System32_wow64win.dll utf16le VS_VERSION_INFO
0x74fc93d6 11 24 C:_Windows_System32_wow64win.dll utf16le VarFileInfo
0x74f66066 15 32 C:_Windows_System32_wow64cpu.dll utf16le VS_VERSION_INFO
0x74f663b2 11 24 C:_Windows_System32_wow64cpu.dll utf16le VarFileInfo
0x77378534 11 12 C:_Windows_SysWOW64_kernel32.dll ascii _vfprintf_l
0x75d9341e 11 24 C:_Windows_SysWOW64_KERNELBASE.dll utf16le VarFileInfo
0x77415848 39 40 C:_Windows_SysWOW64_msvcrt.dll ascii Assertion failed: %s
0x774173b6 11 24 C:_Windows_SysWOW64_msvcrt.dll utf16le VarFileInfo
EOF
RUN
@ -209,281 +373,3 @@ mdmp_token_info_list "dddd TokenListSize TokenListEntries ListHeaderSize Element
mdmp_vs_fixedfileinfo "ddddddddddddd dwSignature dwStrucVersion dwFileVersionMs dwFileVersionLs dwProductVersionMs dwProductVersionLs dwFileFlagsMask dwFileFlags dwFileOs dwFileType dwFileSubtype dwFileDateMs dwFileDateLs"
EOF
RUN
NAME=mdmp 32bit - libraries count
FILE=bins/mdmp/hello.dmp
CMDS=il:quiet~?
EXPECT=<<EOF
57
EOF
RUN
NAME=mdmp 32bit - libraries resolving
FILE=bins/mdmp/hello.dmp
CMDS=il~kernel32.dll
EXPECT=<<EOF
[0x00400000] - kernel32.dll
EOF
RUN
NAME=mdmp 32bit - entrypoints count
FILE=bins/mdmp/hello.dmp
CMDS=<<EOF
ie:quiet~?
iee:quiet~?
EOF
EXPECT=<<EOF
11
2
EOF
RUN
NAME=mdmp 32bit - entrypoints resolving
FILE=bins/mdmp/hello.dmp
CMDS=ie~0x004014e0
EXPECT=<<EOF
0x004014e0 0x000990b2 ---------- 0x00097c7a program
EOF
RUN
NAME=mdmp 32bit - symbols count
FILE=bins/mdmp/hello.dmp
CMDS=is~?
EXPECT=<<EOF
7468
EOF
RUN
NAME=mdmp 32bit - symbols resolving 1
FILE=bins/mdmp/hello.dmp
CMDS=is~DeleteCriticalSection:0
EXPECT=<<EOF
1 0x0009dcda 0x00406108 NONE FUNC 0 KERNEL32.dll imp.DeleteCriticalSection
EOF
RUN
NAME=mdmp 32bit - symbols resolving 2
FILE=bins/mdmp/hello.dmp
CMDS=is~RtlDeleteCriticalSection:0
EXPECT=<<EOF
358 0x001c2176 0x76fb05a4 NONE FUNC 0 ntdll.dll imp.RtlDeleteCriticalSection
EOF
RUN
NAME=mdmp 32bit - imports count
FILE=bins/mdmp/hello.dmp
CMDS=ii~?
EXPECT=<<EOF
2030
EOF
RUN
NAME=mdmp 32bit - imports resolving
FILE=bins/mdmp/hello.dmp
CMDS=ii~TerminateProcess~KERNEL32.dll
EXPECT=<<EOF
17 0x00406148 NONE FUNC KERNEL32.dll TerminateProcess
EOF
RUN
NAME=mdmp 32bit - exports count
FILE=bins/mdmp/hello.dmp
CMDS=iE~?
EXPECT=<<EOF
5440
EOF
RUN
NAME=mdmp 32bit - exports resolving
FILE=bins/mdmp/hello.dmp
CMDS=iE~Ordinal_1
EXPECT=<<EOF
1 0x0041f1f2 0x77802620 GLOBAL FUNC 0 ntdll.dll Ordinal_1
EOF
RUN
NAME=mdmp 32bit - strings
FILE=bins/mdmp/hello.dmp
CMDS=<<EOF
iz~0x0043cf24[1,2,3,4,5,6,7,8]
iz~0x0043cf2e[1,2,3,4,5,6,7,8]
iz~0x0043cf38[1,2,3,4,5,6,7,8]
iz~0x00447247[1,2,3,4,5,6,7,8]
iz~0x0044726b[1,2,3,4,5,6,7,8]
iz~0x00447291[1,2,3,4,5,6,7,8]
iz~0x004472ac[1,2,3,4,5,6,7,8]
iz~0x0048acc8[1,2,3,4,5,6,7,8]
iz~0x0048b004[1,2,3,4,5,6,7,8]
iz~0x00168c38[1,2,3,4,5,6,7,8]
iz~0x00168f80[1,2,3,4,5,6,7,8]
iz~0x00128c38[1,2,3,4,5,6,7,8]
iz~0x00128fa8[1,2,3,4,5,6,7,8]
iz~0x000cdc38[1,2,3,4,5,6,7,8]
iz~0x000cdf84[1,2,3,4,5,6,7,8]
iz~0x00299106[1,2,3,4,5,6,7,8]
iz~0x001adff0[1,2,3,4,5,6,7,8]
iz~0x0033641a[1,2,3,4,5,6,7,8]
iz~0x00337f88[1,2,3,4,5,6,7,8]
EOF
EXPECT=<<EOF
0x77820352 4 10 C:_Windows_System32__tdll.dll utf16le Alpc
0x7782035c 4 10 C:_Windows_System32__tdll.dll utf16le Pool
0x77820366 5 12 C:_Windows_System32__tdll.dll utf16le Timer
0x7782a675 35 36 C:_Windows_System32__tdll.dll ascii RtlFindActivationContextSectionGuid
0x7782a699 37 38 C:_Windows_System32__tdll.dll ascii RtlFindActivationContextSectionString
0x7782a6bf 26 27 C:_Windows_System32__tdll.dll ascii RtlFindCharInUnicodeString
0x7782a6da 16 17 C:_Windows_System32__tdll.dll ascii RtlFindClearBits
0x7786e0f6 15 32 C:_Windows_System32__tdll.dll utf16le VS_VERSION_INFO
0x7786e432 11 24 C:_Windows_System32__tdll.dll utf16le VarFileInfo
0x7500d066 15 32 C:_Windows_System32_wow64.dll utf16le VS_VERSION_INFO
0x7500d3ae 11 24 C:_Windows_System32_wow64.dll utf16le VarFileInfo
0x74fc9066 15 32 C:_Windows_System32_wow64win.dll utf16le VS_VERSION_INFO
0x74fc93d6 11 24 C:_Windows_System32_wow64win.dll utf16le VarFileInfo
0x74f66066 15 32 C:_Windows_System32_wow64cpu.dll utf16le VS_VERSION_INFO
0x74f663b2 11 24 C:_Windows_System32_wow64cpu.dll utf16le VarFileInfo
0x77378534 11 12 C:_Windows_SysWOW64_kernel32.dll ascii _vfprintf_l
0x75d9341e 11 24 C:_Windows_SysWOW64_KERNELBASE.dll utf16le VarFileInfo
0x77415848 39 40 C:_Windows_SysWOW64_msvcrt.dll ascii Assertion failed: %s
0x774173b6 11 24 C:_Windows_SysWOW64_msvcrt.dll utf16le VarFileInfo
EOF
RUN
NAME=mdmp 64bit - libraries count
FILE=bins/mdmp/hello64.dmp
CMDS=il:quiet~?
EXPECT=<<EOF
49
EOF
RUN
NAME=mdmp 64bit - libraries resolving
FILE=bins/mdmp/hello64.dmp
CMDS=il~kernel32.dll
EXPECT=<<EOF
[0x00400000] - kernel32.dll
EOF
RUN
NAME=mdmp 64bit - entrypoints count
FILE=bins/mdmp/hello64.dmp
CMDS=ie:quiet~?
EXPECT=<<EOF
5
EOF
RUN
NAME=mdmp 64bit - entrypoints resolving
FILE=bins/mdmp/hello64.dmp
CMDS=ie~0x00401500
EXPECT=<<EOF
0x00401500 0x0009418f ---------- 0x00092d37 program
EOF
RUN
NAME=mdmp 64bit - symbols count
FILE=bins/mdmp/hello64.dmp
CMDS=is~?
EXPECT=<<EOF
6826
EOF
RUN
NAME=mdmp 64bit - symbols resolving 1
FILE=bins/mdmp/hello64.dmp
CMDS=is~imp.DeleteCriticalSection~KERNEL32.dll
EXPECT=<<EOF
1 0x0009ae8b 0x004081fc NONE FUNC 0 KERNEL32.dll imp.DeleteCriticalSection
EOF
RUN
NAME=mdmp 64bit - symbols resolving 2
FILE=bins/mdmp/hello64.dmp
CMDS=is~A_SHAFinal
EXPECT=<<EOF
9 0x001eb87f 0x77728bf0 GLOBAL FUNC 0 ntdll.dll A_SHAFinal
EOF
RUN
NAME=mdmp 64bit - imports count
FILE=bins/mdmp/hello64.dmp
CMDS=ii~?
EXPECT=<<EOF
1511
EOF
RUN
NAME=mdmp 64bit - imports resolving
FILE=bins/mdmp/hello64.dmp
CMDS=ii~KERNEL32.dll~GetCurrentProcessId
EXPECT=<<EOF
4 0x00408214 NONE FUNC KERNEL32.dll GetCurrentProcessId
EOF
RUN
NAME=mdmp 64bit - exports count
FILE=bins/mdmp/hello64.dmp
CMDS=iE~?
EXPECT=<<EOF
5317
EOF
RUN
NAME=mdmp 64bit - exports resolving
FILE=bins/mdmp/hello64.dmp
CMDS=iE~CsrVerifyRegion
EXPECT=<<EOF
39 0x0029513f 0x777d24b0 GLOBAL FUNC 0 ntdll.dll CsrVerifyRegion
EOF
RUN
NAME=mdmp 64bit - strings
FILE=bins/mdmp/hello64.dmp
TIMEOUT=2040
CMDS=<<EOF
iz~0x002e2fe1[1,2,3,4,5,6,7,8]
iz~0x002e2feb[1,2,3,4,5,6,7,8]
iz~0x002e2ff5[1,2,3,4,5,6,7,8]
iz~0x00330d85[1,2,3,4,5,6,7,8]
iz~0x003310c1[1,2,3,4,5,6,7,8]
iz~0x00161a37[1,2,3,4,5,6,7,8]
iz~0x00161c7f[1,2,3,4,5,6,7,8]
iz~0x00161dbf[1,2,3,4,5,6,7,8]
iz~0x001d9d45[1,2,3,4,5,6,7,8]
iz~0x001da0a5[1,2,3,4,5,6,7,8]
iz~0x003fad45[1,2,3,4,5,6,7,8]
iz~0x003fb0ad[1,2,3,4,5,6,7,8]
iz~0x00480857[1,2,3,4,5,6,7,8]
iz~0x004808c7[1,2,3,4,5,6,7,8]
iz~0x00499cf5[1,2,3,4,5,6,7,8]
iz~0x0049a045[1,2,3,4,5,6,7,8]
EOF
EXPECT=<<EOF
0x77820352 4 10 C:_Windows_System32__tdll.dll utf16le Alpc
0x7782035c 4 10 C:_Windows_System32__tdll.dll utf16le Pool
0x77820366 5 12 C:_Windows_System32__tdll.dll utf16le Timer
0x7786e0f6 15 32 C:_Windows_System32__tdll.dll utf16le VS_VERSION_INFO
0x7786e432 11 24 C:_Windows_System32__tdll.dll utf16le VarFileInfo
0x7759dda8 7 16 C:_Windows_System32_kernel32.dll utf16le win.ini
0x7759dff0 20 42 C:_Windows_System32_kernel32.dll utf16le \Classes\Wow6432Node
0x7759e130 45 92 C:_Windows_System32_kernel32.dll utf16le \REGISTRY\USER\*\SOFTWARE\Classes\Wow6432Node
0x776160b6 15 32 C:_Windows_System32_kernel32.dll utf16le VS_VERSION_INFO
0x77616416 11 24 C:_Windows_System32_kernel32.dll utf16le VarFileInfo
0x7fefd5080b6 15 32 C:_Windows_System32_KERNELBASE.dll utf16le VS_VERSION_INFO
0x7fefd50841e 11 24 C:_Windows_System32_KERNELBASE.dll utf16le VarFileInfo
0x7fefdb33bc8 4 10 C:_Windows_System32_msvcrt.dll utf16le PATH
0x7fefdb33c38 10 22 C:_Windows_System32_msvcrt.dll utf16le SystemRoot
0x7fefdb4d066 15 32 C:_Windows_System32_msvcrt.dll utf16le VS_VERSION_INFO
0x7fefdb4d3b6 11 24 C:_Windows_System32_msvcrt.dll utf16le VarFileInfo
EOF
RUN
NAME=mdmp reload file
FILE=bins/mdmp/calc.dmp
CMDS=<<EOF
obR
echo ok
EOF
EXPECT=<<EOF
ok
EOF
RUN

View file

@ -1,7 +1,74 @@
NAME=iH
NAME=mdt analysis
FILE=bins/mdt/bin-mdt/load-test.mdt
CMDS=<<EOF
iH
echo ---
oml
echo ---
echo "======== Sections ========"
iS
echo "======== Segments ========"
iSS
echo ---
ie
echo ---
# This should give the same (relative) result as the reloc tests in db/analysis/hexagon.
# The load-bin.b04 is the same binary as used for the reloc tests there.
echo "==== Print relocs ===="
ir
echo ---
# This should give the same (relative) result as the reloc tests in db/analysis/hexagon.
# The load-bin.b04 is the same binary as used for the reloc tests there.
e plugins.hexagon.imm.sign=false
echo "==== Print instructions ===="
s section.load_test.b04.text
pi 30
echo "==== Print patched bytes ===="
s loc.r_hex_32
px 16~[1-8]
echo ---
# The binaries in the image are test/bins/analysis/hexagon-hello-loop
# and test/bins/elf/hexagon/relocs.
# The numbers of symbols should always match the sum.
# So it can be cross-checked.
echo "==== symbols count hexagon-hello-loop + relocs. Expected 519 + 22 ===="
isq~?
echo ---
# The binaries in the image are test/bins/analysis/hexagon-hello-loop
# and test/bins/elf/hexagon/relocs.
e plugins.hexagon.imm.sign=false
echo "==== symbols vaddr correct hexagon-hello-loop ===="
is~fputs
is~.CONST_4197D78400000000
echo "==== symbols vaddr correct relocs ===="
is~test_sym
is~r_hex_b15_pcrel
echo ---
# The binaries in the image are test/bins/analysis/hexagon-hello-loop
# and test/bins/elf/hexagon/relocs.
# Note that hexagon-hello-loop doesn't have relocations.
e plugins.hexagon.imm.sign=false
echo "==== hexagon-hello-loop ===="
# One for each executable section.
echo "== .init"
pi 10 @ sym..init
echo "== .text"
pi 10 @ sym._Putfld
echo "== .fini"
pi 10 @ sym._fini
echo "==== relocs ===="
echo "== loc.r_hex_b7_pcrel_x"
pi 10 @ loc.r_hex_b7_pcrel_x
EOF
EXPECT=<<EOF
mdt_segments:
@ -103,15 +170,7 @@ mdt_segments:
e_shnum: 5
e_shstrndx: 1
EOF
RUN
NAME=oml
FILE=bins/mdt/bin-mdt/load-test.mdt
CMDS=<<EOF
oml
EOF
EXPECT=<<EOF
---
1 fd: 4 +0x00000000 0x89201c18 - 0x89201fff --- mmap.load-test.b01
2 fd: 5 +0x00000000 0x89200000 - 0x89201c17 --- vmap.load-test.b01
3 fd: 6 +0x00000000 0xfe030000 - 0xfe0aefff r-x mmap.load-test.b02
@ -126,18 +185,7 @@ EXPECT=<<EOF
12 fd: 11 +0x0000022c 0xc00c922c - 0xc00c9387 --x vmap.load-test.b04..rela.text
13 fd: 11 +0x000000bc 0xc00c90bc - 0xc00c922b --- vmap.load-test.b04..symtab
14 fd: 11 +0x00000000 0xc00c9000 - 0xc00c9033 r-- vmap.load-test.b04.ehdr
EOF
RUN
NAME=iSS - segments
FILE=bins/mdt/bin-mdt/load-test.mdt
CMDS=<<EOF
echo "======== Sections ========"
iS
echo "======== Segments ========"
iSS
EOF
EXPECT=<<EOF
---
======== Sections ========
paddr size vaddr vsize align perm name type flags
----------------------------------------------------------------------------------
@ -175,32 +223,11 @@ EXPECT=<<EOF
0x874af000 0x12160 0x00550000 0x1a000 0x1000 -r-x load-test.b03
0x00000000 0x34 0xc00c9000 0x34 0x0 -rw- load-test.b04.ehdr
0x874c9000 0x5b4 0xc00c9000 0x1000 0x1000 -r-x load-test.b04
EOF
RUN
NAME=ie - entries
FILE=bins/mdt/bin-mdt/load-test.mdt
CMDS=<<EOF
ie
EOF
EXPECT=<<EOF
---
vaddr paddr hvaddr haddr type
-------------------------------------------------
0xfe000000 0x00000000 ---------- ---------- init
EOF
RUN
NAME=ir - relocs print
FILE=bins/mdt/bin-mdt/load-test.mdt
CMDS=<<EOF
# This should give the same (relative) result as the reloc tests in db/analysis/hexagon.
# The load-bin.b04 is the same binary as used for the reloc tests there.
echo "==== Print relocs ===="
ir
EOF
EXPECT=<<EOF
---
==== Print relocs ====
vaddr paddr target type name
---------------------------------------------------------------------------
@ -233,26 +260,7 @@ EXPECT=<<EOF
0xc00c90b0 0x000000b0 0xc00c9034 R_HEX_16 test_sym
0xc00c90b4 0x000000b4 0xc00c9034 R_HEX_8 test_sym
0xc00c90b8 0x000000b8 0xc00c9034 R_HEX_32_PCREL test_sym - 0xc00c90b8
EOF
RUN
NAME=ir - relocs patching
FILE=bins/mdt/bin-mdt/load-test.mdt
CMDS=<<EOF
# This should give the same (relative) result as the reloc tests in db/analysis/hexagon.
# The load-bin.b04 is the same binary as used for the reloc tests there.
e plugins.hexagon.imm.sign=false
echo "==== Print instructions ===="
s section.load_test.b04.text
pi 30
echo "==== Print patched bytes ===="
s loc.r_hex_32
px 16~[1-8]
EOF
EXPECT=<<EOF
---
==== Print instructions ====
[ nop
[ nop
@ -287,43 +295,10 @@ EXPECT=<<EOF
==== Print patched bytes ====
offset - 0 1 2 3 4 5
3490 0cc0 3490 0000 3400 0000 7cff ffff
EOF
RUN
NAME=is - symbols count
FILE=bins/mdt/bin-mdt/load-test.mdt
CMDS=<<EOF
# The binaries in the image are test/bins/analysis/hexagon-hello-loop
# and test/bins/elf/hexagon/relocs.
# The numbers of symbols should always match the sum.
# So it can be cross-checked.
echo "==== symbols count hexagon-hello-loop + relocs. Expected 519 + 22 ===="
isq~?
EOF
EXPECT=<<EOF
---
==== symbols count hexagon-hello-loop + relocs. Expected 519 + 22 ====
541
EOF
RUN
NAME=is - symbols vaddr
FILE=bins/mdt/bin-mdt/load-test.mdt
CMDS=<<EOF
# The binaries in the image are test/bins/analysis/hexagon-hello-loop
# and test/bins/elf/hexagon/relocs.
e plugins.hexagon.imm.sign=false
echo "==== symbols vaddr correct hexagon-hello-loop ===="
is~fputs
is~.CONST_4197D78400000000
echo "==== symbols vaddr correct relocs ===="
is~test_sym
is~r_hex_b15_pcrel
EOF
EXPECT=<<EOF
---
==== symbols vaddr correct hexagon-hello-loop ====
425 0x0000a2d0 0x005592d0 GLOBAL FUNC 244 fputs
61 0x00001000 0x00550000 LOCAL FILE 0 fputs.c
@ -332,31 +307,7 @@ EXPECT=<<EOF
22 0x00000034 0xc00c9034 GLOBAL NOTYPE 0 test_sym
9 0x00000078 0xc00c9078 LOCAL NOTYPE 0 r_hex_b15_pcrel_x
8 0x00000048 0xc00c9048 LOCAL NOTYPE 0 r_hex_b15_pcrel
EOF
RUN
NAME=is - symbols assembly
FILE=bins/mdt/bin-mdt/load-test.mdt
CMDS=<<EOF
# The binaries in the image are test/bins/analysis/hexagon-hello-loop
# and test/bins/elf/hexagon/relocs.
# Note that hexagon-hello-loop doesn't have relocations.
e plugins.hexagon.imm.sign=false
echo "==== hexagon-hello-loop ===="
# One for each executable section.
echo "== .init"
pi 10 @ sym..init
echo "== .text"
pi 10 @ sym._Putfld
echo "== .fini"
pi 10 @ sym._fini
echo "==== relocs ===="
echo "== loc.r_hex_b7_pcrel_x"
pi 10 @ loc.r_hex_b7_pcrel_x
EOF
EXPECT=<<EOF
---
==== hexagon-hello-loop ====
== .init
[ allocframe(SP,#0x8):raw

View file

@ -2,10 +2,12 @@ NAME=Menuet: Open/iI/iH
FILE=bins/menuet/dosbox
CMDS=<<EOF
iI~?MenuetOS
echo ---
iH
EOF
EXPECT=<<EOF
1
---
menuet:
magic: "4d 45 4e 55 45 54 30 31 |MENUET01 |"
version: 1
@ -19,13 +21,3 @@ menuet:
EOF
RUN
NAME=Menuet: maps
FILE=bins/menuet/dosbox
CMDS=oml
EXPECT=<<EOF
1 fd: 3 +0x00000024 0x00000024 * 0x0011b023 r-x fmap.text
2 fd: 4 +0x00000000 0xffb8000c - 0xffb80817 r-- mmap.idata
3 fd: 3 +0x0dfde800 0x0dfde800 - 0xffb8000b r-- fmap.idata
EOF
RUN

View file

@ -1,6 +1,14 @@
NAME=Load Nintendo 3DS boot.firm file
NAME=Nintendo 3DS analysis
FILE=bins/firmware/luma3ds_boot.firm
CMDS=iI ; iS ; ie ; iT
CMDS=<<EOF
iI
echo ---
iS
echo ---
ie
echo ---
iT
EOF
EXPECT=<<EOF
arch arm
cpu N/A
@ -36,16 +44,19 @@ canary false
pie false
relrocs false
nx false
---
paddr size vaddr vsize align perm name type flags
------------------------------------------------------------------------------------------------
0x00000200 0x17c00 0x18180000 0x17c00 0x0 -rwx sysmodule.arm11 Arm11 SysModule xdma
0x00017e00 0x600 0x1ff80000 0x600 0x0 -rwx entry.arm11 Arm11 Kernel xdma
0x00018400 0xfa00 0x08006000 0xfa00 0x0 -rwx entry.arm9 Arm9 Kernel ndma
0x00027e00 0x5a00 0x18000000 0x5a00 0x0 -rwx extensions.arm11 Arm11 Kernel Extensions xdma
---
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x08006000 0x00018400 ---------- ---------- program
0x1ff80000 0x00017e00 ---------- ---------- program
---
md5 f7c0d04ab092e3707a4020154f49b4d5
sha1 67dde28ca87305199542ace0b1b5632e585cd92c
sha256 21a50466c73aa2bf255a167424586aed456e970e3ac69ebb0a930abd9075b31b

View file

@ -1,4 +1,4 @@
NAME=NE Symbols
NAME=NE anim8 analysis
FILE=bins/ne/anim8.exe
CMDS=<<EOF
ia

View file

@ -1,4 +1,4 @@
NAME=NES: Pong - open
NAME=NES: Pong analysis
FILE=bins/nes/Pong.nes
ARGS=-A
CMDS=q!

View file

@ -1,6 +1,14 @@
NAME=Nintendo DS
FILE=bins/nds/bin
CMDS=iI ; omlt ; iS ; ie
CMDS=<<EOF
iI
echo ---
omlt
echo ---
iS
echo ---
ie
EOF
EXPECT=<<EOF
arch arm
cpu N/A
@ -36,16 +44,19 @@ canary false
pie false
relrocs false
nx false
---
.-------------------------------------------------------------------------------------.
| id | fd | pa | pa_end | size | va | va_end | perm | name |
)-------------------------------------------------------------------------------------(
| 1 | 3 | 0x200 | 0x1b0a64 | 0x1b0864 | 0x2000000 | 0x21b0864 | r-x | fmap.arm9 |
| 2 | 3 | 0x1b0c00 | 0x1be750 | 0xdb50 | 0x37f8000 | 0x3805b50 | r-x | fmap.arm7 |
`-------------------------------------------------------------------------------------'
---
paddr size vaddr vsize align perm name type flags
-------------------------------------------------------------------
0x00000200 0x1b0864 0x02000000 0x1b0864 0x0 -rwx arm9
0x001b0c00 0xdb50 0x037f8000 0xdb50 0x0 -rwx arm7
---
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x02000000 0x00000200 ---------- ---------- program

View file

@ -1,15 +1,19 @@
NAME=nro detection
FILE=bins/nro/appstore.nro
CMDS=iI~?switch
CMDS=<<EOF
iI~?switch
echo ---
iS
echo ---
oml
echo ---
ie
echo ---
p8 0x30 @ 0x80
EOF
EXPECT=<<EOF
2
EOF
RUN
NAME=nro sections
FILE=bins/nro/appstore.nro
CMDS=iS
EXPECT=<<EOF
---
paddr size vaddr vsize align perm name type flags
---------------------------------------------------------------------
0x00000000 0x80 0x00000000 0x80 0x0 -r-- header
@ -17,33 +21,15 @@ EXPECT=<<EOF
0x00000000 0x1b4000 0x00000000 0x1b4000 0x0 -r-x text
0x001b4000 0x5a000 0x001b4000 0x5a000 0x0 -r-- ro
0x0020e000 0xf000 0x0020e000 0xf000 0x0 -rw- data
EOF
RUN
NAME=nro maps
FILE=bins/nro/appstore.nro
CMDS=oml
EXPECT=<<EOF
---
1 fd: 3 +0x00000000 0x00000000 * 0x001b3fff r-x fmap.text
2 fd: 3 +0x001b4000 0x001b4000 - 0x0020dfff r-- fmap.ro
3 fd: 3 +0x0020e000 0x0020e000 - 0x0021cfff r-- fmap.data
EOF
RUN
NAME=nro entry
FILE=bins/nro/appstore.nro
CMDS=ie
EXPECT=<<EOF
---
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x00000080 0x00000080 ---------- ---------- program
EOF
RUN
NAME=nro data
FILE=bins/nro/appstore.nro
CMDS=p8 0x30 @ 0x80
EXPECT=<<EOF
---
fb031eaa01000094dc2302d1f90300aafa0301aae0100090c11100d00000199121e02191210000cb211c009121f07d92
EOF
RUN

View file

@ -1,47 +1,14 @@
NAME=nso detection
FILE=bins/nso/application.nso
CMDS=iI~?switch
EXPECT=<<EOF
2
EOF
RUN
NAME=nso sections
FILE=bins/nso/application.nso
CMDS=iS
EXPECT=<<EOF
paddr size vaddr vsize align perm name type flags
-------------------------------------------------------------------
0x00000000 0x100 0x00000000 0x100 0x0 -r-- header
0x00000000 0x20e18 0x08000000 0x20e18 0x0 -r-x text
0x00020e18 0xdb0c 0x08021000 0xdb0c 0x0 -r-- ro
0x0002e924 0x4218 0x0802f000 0x4218 0x0 -rw- data
EOF
RUN
NAME=nso maps
FILE=bins/nso/application.nso
CMDS=oml
EXPECT=<<EOF
1 fd: 4 +0x00000000 0x08000000 * 0x08020e17 r-x vmap.text
2 fd: 4 +0x00020e18 0x08021000 - 0x0802eb0b r-- vmap.ro
3 fd: 4 +0x0002e924 0x0802f000 - 0x08033217 r-- vmap.data
EOF
RUN
NAME=nso entry
FILE=bins/nso/application.nso
CMDS=ie
EXPECT=<<EOF
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x08000000 0x00000100 ---------- ---------- program
EOF
RUN
NAME=nso data
NAME=nso analysis
FILE=bins/nso/application.nso
CMDS=<<EOF
iI~?switch
echo ---
iS
echo ---
oml
echo ---
ie
echo ---
echo text
p8 0x30 @ 0x08000080
echo ro
@ -51,6 +18,23 @@ p8 0x30 @ 0x0802f000
p8 0x30 @ 0x0802f350
EOF
EXPECT=<<EOF
2
---
paddr size vaddr vsize align perm name type flags
-------------------------------------------------------------------
0x00000000 0x100 0x00000000 0x100 0x0 -r-- header
0x00000000 0x20e18 0x08000000 0x20e18 0x0 -r-x text
0x00020e18 0xdb0c 0x08021000 0xdb0c 0x0 -r-- ro
0x0002e924 0x4218 0x0802f000 0x4218 0x0 -rw- data
---
1 fd: 4 +0x00000000 0x08000000 * 0x08020e17 r-x vmap.text
2 fd: 4 +0x00020e18 0x08021000 - 0x0802eb0b r-- vmap.ro
3 fd: 4 +0x0002e924 0x0802f000 - 0x08033217 r-- vmap.data
---
vaddr paddr hvaddr haddr type
----------------------------------------------------
0x08000000 0x00000100 ---------- ---------- program
---
text
e7031eaa01000094c62302d1e50300aae40301aabf0000f1841841ba400000544a240014fb0307aaf90305aafa0304aa
ro

View file

@ -2,11 +2,17 @@ NAME=16 bits omf
FILE=bins/omf/hello_world
CMDS=<<EOF
iI~bits
echo ---
iH
echo ---
ie:quiet
echo ---
is
echo ---
iS
echo ---
oml
echo ---
px 16 @ section.text_1
px 16 @ section.data_1
e asm.bytes=true
@ -14,6 +20,7 @@ pdq 1~mov[1]
EOF
EXPECT=<<EOF
bits 16
---
omf:
bits: 16
num_names: 3
@ -49,16 +56,21 @@ omf:
paddr: 0x73
vaddr: 0x1000
---
0x00001000 0x00000073 ---------- ---------- program
---
nth paddr vaddr bind type size lib name
----------------------------------------------------
1 0x00000073 0x00001000 NONE NONE 0 _start
---
paddr size vaddr vsize align perm name type flags
--------------------------------------------------------------
0x00000073 0x13 0x00001000 0x13 0x0 -rwx text_1
0x00000095 0xe 0x00001013 0xe 0x0 -rwx data_1
---
1 fd: 3 +0x00000073 0x00001000 * 0x00001012 r-x fmap.text_1
2 fd: 3 +0x00000095 0x00001013 - 0x00001020 r-x fmap.data_1
---
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0000:1000 ba0e 00b9 0000 bb01 00b8 0400 cd80 b801 ................
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF

View file

@ -272,11 +272,53 @@ EXPECT=<<EOF
EOF
RUN
NAME=find structure R2_TEST_STRUCT
NAME=PDB Project1 structs unions and enums
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -ao R2_TEST_STRUCT
CMDS=<<EOF
!rz-bin -P ${RZ_FILE} | grep -ao R2_TEST_STRUCT
echo ---
!rz-bin -P ${RZ_FILE} | grep -ao R2_TEST_UNION
echo ---
!rz-bin -P ${RZ_FILE} | grep -ao R2_TEST_ENUM
echo ---
!rz-bin -P ${RZ_FILE} | grep -ao r2_struct_var_1
echo ---
!rz-bin -P ${RZ_FILE} | grep -ao r2_struct_var_2
echo ---
!rz-bin -P ${RZ_FILE} | grep r2_struct_var_1 | grep -ao int32_t
echo ---
!rz-bin -P ${RZ_FILE} | grep r2_struct_var_2 | grep -ao int16_t
echo ---
!rz-bin -P ${RZ_FILE} | grep -ao r2_union_var_1
echo ---
!rz-bin -P ${RZ_FILE} | grep -ao r2_union_var_2
echo ---
!rz-bin -P ${RZ_FILE} | grep r2_union_var_1 | grep -ao int32_t
echo ---
!rz-bin -P ${RZ_FILE} | grep r2_union_var_2 | grep -ao double
EOF
EXPECT=<<EOF
R2_TEST_STRUCT
---
R2_TEST_UNION
---
R2_TEST_ENUM
---
r2_struct_var_1
---
r2_struct_var_2
---
int32_t
---
int16_t
---
r2_union_var_1
---
r2_union_var_2
---
int32_t
---
double
EOF
RUN
@ -297,22 +339,6 @@ _onexit_table_t
EOF
RUN
NAME=find union R2_TEST_UNION
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -ao R2_TEST_UNION
EXPECT=<<EOF
R2_TEST_UNION
EOF
RUN
NAME=find enum R2_TEST_ENUM
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -ao R2_TEST_ENUM
EXPECT=<<EOF
R2_TEST_ENUM
EOF
RUN
NAME=find enum _RTC_ErrorNumber
FILE=bins/pdb/vs2019_cpp_override.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -ao _RTC_ErrorNumber
@ -329,14 +355,6 @@ _RTC_ILLEGAL
EOF
RUN
NAME=member1 name of structure R2_TEST_STRUCT
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -ao r2_struct_var_1
EXPECT=<<EOF
r2_struct_var_1
EOF
RUN
NAME=member1 of structure _onexit_table_t # LF_STRUCTURE_19
FILE=bins/pdb/vs2019_cpp_override.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -ao "void\ (\*\*_first)();"
@ -345,62 +363,6 @@ void (**_first)();
EOF
RUN
NAME=member2 name of structure R2_TEST_STRUCT
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -ao r2_struct_var_2
EXPECT=<<EOF
r2_struct_var_2
EOF
RUN
NAME=member1 type of structure R2_TEST_STRUCT
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep r2_struct_var_1 | grep -ao int32_t
EXPECT=<<EOF
int32_t
EOF
RUN
NAME=member2 type of structure R2_TEST_STRUCT
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep r2_struct_var_2 | grep -ao int16_t
EXPECT=<<EOF
int16_t
EOF
RUN
NAME=member1 name of union R2_TEST_UNION
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -ao r2_union_var_1
EXPECT=<<EOF
r2_union_var_1
EOF
RUN
NAME=member2 name of union R2_TEST_UNION
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -ao r2_union_var_2
EXPECT=<<EOF
r2_union_var_2
EOF
RUN
NAME=member1 type of union R2_TEST_UNION
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep r2_union_var_1 | grep -ao int32_t
EXPECT=<<EOF
int32_t
EOF
RUN
NAME=member2 type of union R2_TEST_UNION
FILE=bins/pdb/Project1.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep r2_union_var_2 | grep -ao double
EXPECT=<<EOF
double
EOF
RUN
NAME=GUID CHECK
FILE=bins/pdb/user32.dll
CMDS=!rz-bin -I ${RZ_FILE} | grep -ao 15F778B3671D4EFDBDCDE79905308B792
@ -420,50 +382,32 @@ __enc$textbss$end
EOF
RUN
NAME=member1 type of struct _CONSOLE_READCONSOLE_CONTROL of arm PDB
NAME=arm PDB structs enums and symbols
FILE=bins/pe/hello_world_arm/hello_world_arm_ZiZoO2.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -C2 _CONSOLE_READCONSOLE_CONTROL | grep nLength | grep -ao uint32_t
CMDS=<<EOF
!rz-bin -P ${RZ_FILE} | grep -C2 _CONSOLE_READCONSOLE_CONTROL | grep nLength | grep -ao uint32_t
echo ---
!rz-bin -P ${RZ_FILE} | grep -C2 _CONSOLE_READCONSOLE_CONTROL | grep -ao nLength
echo ---
!rz-bin -P ${RZ_FILE} | grep all_control_bits | grep -ao 0x3c09f00
echo ---
!rz-bin -P ${RZ_FILE} | grep "__acrt_fenv_abstract_status {"
echo ---
!rz-bin -P ${RZ_FILE} | grep "_towlower_internal"
echo ---
!rz-bin -P ${RZ_FILE} | grep "south africa"
EOF
EXPECT=<<EOF
uint32_t
EOF
RUN
NAME=member1 name of struct _CONSOLE_READCONSOLE_CONTROL of arm PDB
FILE=bins/pe/hello_world_arm/hello_world_arm_ZiZoO2.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep -C2 _CONSOLE_READCONSOLE_CONTROL | grep -ao nLength
EXPECT=<<EOF
---
nLength
EOF
RUN
NAME=member value of enum __acrt_fenv_machine_arm_control of arm PDB
FILE=bins/pe/hello_world_arm/hello_world_arm_ZiZoO2.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep all_control_bits | grep -ao 0x3c09f00
EXPECT=<<EOF
---
0x3c09f00
EOF
RUN
NAME=enum __acrt_fenv_abstract_status of arm PDB
FILE=bins/pe/hello_world_arm/hello_world_arm_ZiZoO2.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep "__acrt_fenv_abstract_status {"
EXPECT=<<EOF
---
enum __acrt_fenv_abstract_status {
EOF
RUN
NAME=symbol _towlower_internal of arm PDB
FILE=bins/pe/hello_world_arm/hello_world_arm_ZiZoO2.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep "_towlower_internal"
EXPECT=<<EOF
---
0x00066da4 4366 .text _towlower_internal
EOF
RUN
NAME=complex symbol of arm PDB
FILE=bins/pe/hello_world_arm/hello_world_arm_ZiZoO2.pdb
CMDS=!rz-bin -P ${RZ_FILE} | grep "south africa"
EXPECT=<<EOF
---
0x000820c4 4366 .rdata `string'::1484532236::"south africa"
EOF
RUN

View file

@ -1,26 +1,20 @@
NAME=Plan9: Open/iI
NAME=Plan9: analysis
FILE=bins/plan9/bin
CMDS=iI~?plan9
CMDS=<<EOF
iI~?plan9
echo ---
oml
echo ---
iS
EOF
EXPECT=<<EOF
2
EOF
RUN
NAME=Plan9: maps
FILE=bins/plan9/bin
CMDS=oml
EXPECT=<<EOF
---
1 fd: 4 +0x00000000 0x364a0721 - 0x364a0e21 r-x mmap.text
2 fd: 3 +0x00000020 0x00000020 * 0x364a0720 r-x fmap.text
3 fd: 5 +0x00000000 0x76d40c21 - 0x76d41120 rw- mmap.data
4 fd: 3 +0x364a0721 0x364a0721 - 0x76d40c20 r-- fmap.data
EOF
RUN
NAME=Plan9: sections
FILE=bins/plan9/bin
CMDS=iS
EXPECT=<<EOF
---
paddr size vaddr vsize align perm name type flags
-----------------------------------------------------------------------
0x00000020 0x364a0701 0x00000020 0x364a0e02 0x0 -r-x text

View file

@ -3,6 +3,7 @@ FILE=bins/prg/t01.prg
ARGS=-F prg
CMDS=<<EOF
iI
echo ---
p8 0x30 @ 0x0801
EOF
EXPECT=<<EOF
@ -40,6 +41,7 @@ canary false
pie false
relrocs false
nx false
---
0c08e2079e2032303632000000a941a2ff9dff03cad0faad2408a2ff9dffd7cad0fa6005ffffffffffffffffffffffff
EOF
RUN

View file

@ -1,25 +1,19 @@
NAME=psx: sqrxz4 - iI
NAME=psx: sqrxz4 analysis
FILE=bins/psx/HITPSX.EXE
CMDS=iI~?psx
CMDS=<<EOF
iI~?psx
echo ---
iS
echo ---
oml
EOF
EXPECT=<<EOF
1
EOF
RUN
NAME=psx: sqrxz4 - sections
FILE=bins/psx/HITPSX.EXE
CMDS=iS
EXPECT=<<EOF
---
paddr size vaddr vsize align perm name type flags
-------------------------------------------------------------------
0x00000800 0x180000 0x80010000 0x180000 0x0 -r-x TEXT
EOF
RUN
NAME=psx: sqrxz4 - maps
FILE=bins/psx/HITPSX.EXE
CMDS=oml
EXPECT=<<EOF
---
1 fd: 3 +0x00000800 0x80010000 * 0x8018ffff r-x fmap.TEXT
EOF
RUN

View file

@ -1,61 +1,39 @@
NAME=load qnx
NAME=qnx analysis
FILE=bins/qnx/test.x
CMDS=iI~bintype
CMDS=<<EOF
iI~bintype
echo ---
ie:quiet
echo ---
iS
echo ---
oml
echo ---
px 16 @ 0x00000152
echo ---
iC
echo ---
iH
EOF
EXPECT=<<EOF
bintype QNX
EOF
RUN
NAME=entry point of qnx
FILE=bins/qnx/test.x
CMDS=ie:quiet
EXPECT=<<EOF
---
0x0000021c 0x0000021c ---------- ---------- program
EOF
RUN
NAME=sections of qnx
FILE=bins/qnx/test.x
CMDS=iS
EXPECT=<<EOF
---
paddr size vaddr vsize align perm name type flags
-----------------------------------------------------------------------
0x00000044 0xf6 0x00000044 0xf6 0x0 ---- LMF_LOAD
0x00000152 0x6c3 0x00000152 0x6c3 0x0 ---- LMF_LOAD_0x152
EOF
RUN
NAME=maps of qnx
FILE=bins/qnx/test.x
CMDS=oml
EXPECT=<<EOF
---
1 fd: 3 +0x00000044 0x00000044 - 0x00000139 --- fmap.LMF_LOAD
2 fd: 3 +0x00000152 0x00000152 - 0x00000814 --- fmap.LMF_LOAD
3 fd: 3 +0x00000000 0x00000000 * 0x00001481 r-x
EOF
RUN
NAME=sections 16 bits content
FILE=bins/qnx/test.x
CMDS=px 16 @ 0x00000152
EXPECT=<<EOF
---
- offset - 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF
0x00000152 0000 0000 0000 cd00 9090 9090 0000 0000 ................
EOF
RUN
NAME=get signature info
FILE=bins/qnx/test.x
CMDS=iC
EXPECT=<<EOF
---
2692336605
EOF
RUN
NAME=get header info
FILE=bins/qnx/test.x
CMDS=iH
EXPECT=<<EOF
---
qnx_lmf:
version: 400
cflags: 0x16

View file

@ -2,9 +2,13 @@ NAME=snes speed_test_v51
FILE=bins/snes/speed_test_v51.sfc
CMDS=<<EOF
iI
echo ---
iH
echo ---
im
echo ---
iS
echo ---
is
EOF
EXPECT=<<EOF
@ -42,6 +46,7 @@ canary false
pie false
relrocs false
nx false
---
snes_rom:
game_title: "SA-1 Support Test "
speed: "slow"
@ -72,6 +77,7 @@ snes_rom:
reset: 0x8000
irq: 0x8347
---
name size address flags mirror
---------------------------------------------
SRAM_70 0x10000 0x00700000 rwx
@ -598,12 +604,14 @@ ROM_fc 0x8000 0x00fc8000 rwx
ROM_7c 0x8000 0x007c8000 rwx ROM_fc
ROM_fd 0x8000 0x00fd8000 rwx
ROM_7d 0x8000 0x007d8000 rwx ROM_fd
---
paddr size vaddr vsize align perm name type flags
--------------------------------------------------------------------
0x00000000 0x8000 0x00808000 0x8000 0x0 -r-x rom_80
0x00008000 0x8000 0x00818000 0x8000 0x0 -r-x rom_81
0x00000000 0x8000 0x00008000 0x8000 0x0 -r-x mirror_00
0x00008000 0x8000 0x00018000 0x8000 0x0 -r-x mirror_01
---
nth paddr vaddr bind type size lib name
---------------------------------------------------------------------------
0 0x00000347 0x00008347 NONE NONE 0 cop_vector_native
@ -623,6 +631,7 @@ NAME=snes cx4test
FILE=bins/snes/cx4test.sfc
CMDS=<<EOF
iI
echo ---
iH
EOF
EXPECT=<<EOF
@ -660,6 +669,7 @@ canary false
pie false
relrocs false
nx false
---
snes_rom:
game_title: "CX4 TEST PROGRAM"
speed: "slow"

View file

@ -1,6 +1,12 @@
NAME=SMS: Open/iI
NAME=SMS analysis
FILE=bins/sms/demo.sms
CMDS=iH;iI
CMDS=<<EOF
iH
echo ---
iI
echo ---
oml
EOF
EXPECT=<<EOF
sms_rom:
offset: 0x7ff0
@ -20,6 +26,7 @@ sms_rom:
name: "64-Color Palette Test Program"
description: "Author: Charles MacDonald"
---
arch z80
cpu N/A
features N/A
@ -54,13 +61,7 @@ canary false
pie false
relrocs false
nx false
EOF
RUN
NAME=SMS: maps
FILE=bins/sms/demo.sms
CMDS=oml
EXPECT=<<EOF
---
1 fd: 3 +0x00000000 0x00000000 * 0x00007fff r-x
EOF
RUN

View file

@ -1,28 +1,19 @@
NAME=SPC700: Open/iI
NAME=SPC700 analysis
FILE=bins/spc700/bin.spc
CMDS=iI~machine[1]
CMDS=<<EOF
iI~machine[1]
echo ---
iS
echo ---
oml
EOF
EXPECT=<<EOF
SPC700
EOF
EXPECT_ERR=
RUN
NAME=SPC700: sections
FILE=bins/spc700/bin.spc
CMDS=iS
EXPECT=<<EOF
---
paddr size vaddr vsize align perm name type flags
-----------------------------------------------------------------
0x00000100 0x10000 0x00000000 0x10000 0x0 -r-- RAM
EOF
EXPECT_ERR=
RUN
NAME=SPC700: maps
FILE=bins/spc700/bin.spc
CMDS=oml
EXPECT=<<EOF
---
1 fd: 3 +0x00000100 0x00000000 * 0x0000ffff r-- fmap.RAM
EOF
EXPECT_ERR=
RUN

View file

@ -1,22 +1,20 @@
NAME=VSF: Rambo II
FILE=bins/vsf/c64-rambo2-norom.vsf
CMDS=<<EOF
iI~os
echo ---
oml
EOF
EXPECT=<<EOF
os C64
---
1 fd: 3 +0x00000084 0x00000000 * 0x0000ffff r-x fmap.RAM
EOF
RUN
NAME=VSF: Rambo II- open
FILE=bins/vsf/c64-rambo2-norom.vsf
ARGS=-A
CMDS=q!
EXPECT=
RUN
NAME=VSF: Rambo II- detection
FILE=bins/vsf/c64-rambo2-norom.vsf
CMDS=iI~os
EXPECT=<<EOF
os C64
EOF
RUN
NAME=VSF: Rambo II- ROMs
FILE=bins/vsf/c64-rambo2-norom.vsf
CMDS=oml
EXPECT=<<EOF
1 fd: 3 +0x00000084 0x00000000 * 0x0000ffff r-x fmap.RAM
EOF
RUN

View file

@ -1,24 +1,22 @@
NAME=VSF: Rambo II- open
NAME=VSF: Rambo II rom
FILE=bins/vsf/c64-rambo2-rom.vsf
ARGS=-A
CMDS=q!
EXPECT=
RUN
NAME=VSF: Rambo II- detection
FILE=bins/vsf/c64-rambo2-rom.vsf
CMDS=iI~os
CMDS=<<EOF
iI~os
echo ---
oml
EOF
EXPECT=<<EOF
os C64
EOF
RUN
NAME=VSF: Rambo II- ROMs
FILE=bins/vsf/c64-rambo2-rom.vsf
CMDS=oml
EXPECT=<<EOF
---
1 fd: 3 +0x0001209d 0x0000a000 - 0x0000bfff r-x fmap.BASIC
2 fd: 3 +0x0001009d 0x0000e000 - 0x0000ffff r-x fmap.KERNAL
3 fd: 3 +0x00000084 0x00000000 * 0x0000ffff r-x fmap.RAM
EOF
RUN
NAME=VSF: Rambo II rom- open
FILE=bins/vsf/c64-rambo2-rom.vsf
ARGS=-A
CMDS=q!
EXPECT=
RUN

View file

@ -1,23 +1,21 @@
NAME=VSF: Rocky Horror Picture Show- open
NAME=VSF: Rocky Horror Picture Show norom
FILE=bins/vsf/c128-rhps-norom.vsf
CMDS=<<EOF
iI~os
echo ---
oml
EOF
EXPECT=<<EOF
os C128
---
1 fd: 3 +0x0000008c 0x00000000 - 0x0000ffff r-x fmap.RAM BANK 0
2 fd: 3 +0x0001008c 0x00000000 * 0x0000ffff r-x fmap.RAM BANK 1
EOF
RUN
NAME=VSF: Rocky Horror Picture Show norom- open
FILE=bins/vsf/c128-rhps-norom.vsf
ARGS=-A
CMDS=q!
EXPECT=
RUN
NAME=VSF: Rocky Horror Picture Show- detection
FILE=bins/vsf/c128-rhps-norom.vsf
CMDS=iI~os
EXPECT=<<EOF
os C128
EOF
RUN
NAME=VSF: Rocky Horror Picture Show- ROMs
FILE=bins/vsf/c128-rhps-norom.vsf
CMDS=oml
EXPECT=<<EOF
1 fd: 3 +0x0000008c 0x00000000 - 0x0000ffff r-x fmap.RAM BANK 0
2 fd: 3 +0x0001008c 0x00000000 * 0x0000ffff r-x fmap.RAM BANK 1
EOF
RUN

View file

@ -1,27 +1,21 @@
NAME=VSF: Rocky Horror Picture Show- open
FILE=bins/vsf/c128-rhps-rom.vsf
NAME=VSF: Rocky Horror Picture Show norom
FILE=bins/vsf/c128-rhps-norom.vsf
CMDS=<<EOF
iI~os
echo ---
oml
EOF
EXPECT=<<EOF
os C128
---
1 fd: 3 +0x0000008c 0x00000000 - 0x0000ffff r-x fmap.RAM BANK 0
2 fd: 3 +0x0001008c 0x00000000 * 0x0000ffff r-x fmap.RAM BANK 1
EOF
RUN
NAME=VSF: Rocky Horror Picture Show norom- open
FILE=bins/vsf/c128-rhps-norom.vsf
ARGS=-A
CMDS=q!
EXPECT=
RUN
NAME=VSF: Rocky Horror Picture Show- detection
FILE=bins/vsf/c128-rhps-rom.vsf
CMDS=iI~os
EXPECT=<<EOF
os C128
EOF
RUN
NAME=VSF: Rocky Horror Picture Show- ROMs
FILE=bins/vsf/c128-rhps-rom.vsf
CMDS=oml
EXPECT=<<EOF
1 fd: 3 +0x000420a1 0x00004000 - 0x0000afff r-x fmap.BASIC
2 fd: 3 +0x000490a1 0x0000b000 - 0x0000bfff r-x fmap.MONITOR
3 fd: 3 +0x0004a0a1 0x0000c000 - 0x0000cfff r-x fmap.EDITOR
4 fd: 3 +0x000400a1 0x0000e000 - 0x0000ffff r-x fmap.KERNAL
5 fd: 3 +0x0000008c 0x00000000 - 0x0000ffff r-x fmap.RAM BANK 0
6 fd: 3 +0x0001008c 0x00000000 * 0x0000ffff r-x fmap.RAM BANK 1
EOF
RUN