rizin/test/db/formats/firmware
NOT XVilka ba8c170852
Migrate from Capstone to Zydis (x86 architecture) (#5164)
* Added build files [Capstone to Zydis]

* x86 Analysis [Capstone to Zydis]

* Changed x86 RzIL [Capstone to Zydis]

* Changed asm and arch files [Capstone to Zydis]

* Compilation, build error and test fixes [Capstone to Zydis]

* Test changes [Capstone to Zydis]

* Remaining changes [Capstone to Zydis]

* Added BE support [Capstone to Zydis]

---------

Co-authored-by: tushar3q34 <tushar3q34@gmail.com>
2025-05-23 13:03:46 +00:00

261 lines
4.9 KiB
Text

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
FILE=bins/firmware/bios_64k.bin
CMDS=<<EOF
s $j
% $$
EOF
EXPECT=<<EOF
int32 1048490
uint32 1048490
hex 0xfffaa
octal 03777652
unit 1023.9K
segment f000:0faa
string "\xaa\xff\x0f"
fvalue 1048490.0
float 1048490.000000f
double 1048490.000000
binary 0b000011111111111110101010
trits 0t1222021020222
EOF
RUN
NAME=loading a BIOS file [128k]
FILE=bins/firmware/bios_128k.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [128k]
FILE=bins/firmware/bios_128k.bin
CMDS=ie
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]
FILE=bins/firmware/bios_256k.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [256k]
FILE=bins/firmware/bios_256k.bin
CMDS=ie
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]
FILE=bins/firmware/bios_512k.bin
CMDS=q!
EXPECT=
RUN
NAME=entrypoint decoding [512k]
FILE=bins/firmware/bios_512k.bin
CMDS=ie
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=test x86 IO ports
FILE=bins/firmware/bios_1M.bin
CMDS=<<EOF
e asm.cpu=generic
e asm.platform=generic
aa
fl @F:platform.ports
CCl~reg
EOF
EXPECT=<<EOF
0x00000018 1 PS_2_register
0x0000001a 1 PS_2_execute
0x0000001f 1 DMA_1
0x00000020 1 PIC_1
0x00000022 1 Cx486SLC_DLC
0x00000038 1 Cozet_PC
0x00000040 1 PIT
0x00000060 1 PS_2_8042
0x00000065 1 AT_T_Chip_Select
0x0000006b 1 SSGA
0x00000070 1 CMOS_RTC
0x00000080 1 DMA_Page
0x00000090 1 PS_2_POS
0x000000a0 1 PIC_2
0x000000c0 1 DMA_2
0x000000f0 1 PCjr
0x00000170 1 HDC_2
0x000001f0 1 HDC_1
0x00000200 1 Game_port
0x00000278 1 Parallel_port
0x000002e0 1 GPIAB
0x000002e8 1 Serial_port
0x00000330 1 MIDI
0x00000340 1 SCSI
0x00000360 1 NS3249C_card
0x00000370 1 FDC_2
0x000003a0 1 SDLC_2
0x000003b0 1 MDA
0x000003c0 1 EGA
0x000003d0 1 CGA
0x000003f0 1 FDC_1
0x00000018 CCu "PS/2 extended function register"
0x00000022 CCu "Cyrix Cx486SLC/DLC processor Cache Configuration Registers (0022-0023)"
0x0000006b CCu "SSGA control registers (006B-006F)"
0x00000080 CCu "DMA page registers (0080-008F)"
EOF
RUN