rizin/test/db/cmd/cmd_list
2024-12-28 17:29:34 +08:00

684 lines
43 KiB
Text

NAME=Print the parser plugins
FILE==
CMDS=Lp
EXPECT=<<EOF
6502.pseudo
arm.pseudo
avr.pseudo
chip8.pseudo
dalvik.pseudo
m68k.pseudo
mips.pseudo
ppc.pseudo
sh.pseudo
tms320.pseudo
v850.pseudo
wasm.pseudo
x86.pseudo
riscv.pseudo
z80.pseudo
EOF
RUN
NAME=Print the parser plugins in JSON
FILE==
CMDS=Lpj
EXPECT=<<EOF
[{"name":"6502.pseudo"},{"name":"arm.pseudo"},{"name":"avr.pseudo"},{"name":"chip8.pseudo"},{"name":"dalvik.pseudo"},{"name":"m68k.pseudo"},{"name":"mips.pseudo"},{"name":"ppc.pseudo"},{"name":"sh.pseudo"},{"name":"tms320.pseudo"},{"name":"v850.pseudo"},{"name":"wasm.pseudo"},{"name":"x86.pseudo"},{"name":"riscv.pseudo"},{"name":"z80.pseudo"}]
EOF
RUN
NAME=Print the core plugins
FILE==
CMDS=Lc
EXPECT=<<EOF
java: Suite of java commands, type `java` for more info (Made by deroad, v1.0, LGPL-3.0-only)
dex: Suite of dex commands, type `dex` for more info (Made by deroad, v1.0, LGPL-3.0-only)
EOF
RUN
NAME=Print the core plugins in JSON
FILE==
CMDS=Lcj
EXPECT=<<EOF
[{"name":"java","description":"Suite of java commands, type `java` for more info","author":"deroad","version":"1.0","license":"LGPL-3.0-only"},{"name":"dex","description":"Suite of dex commands, type `dex` for more info","author":"deroad","version":"1.0","license":"LGPL-3.0-only"}]
EOF
RUN
NAME=Print the io plugins
FILE==
BROKEN=1
CMDS=Lo
EXPECT=<<EOF
rw_ ar Open ar/lib files (LGPL3) ar://,lib://
rw_ fd Local process filedescriptor IO (MIT) fd://
rw_ bfdbg Attach to brainfuck Debugger instance (LGPL3) bfdbg://
rwd bochs Attach to a BOCHS debugger instance (LGPL3) bochs://
r_d debug Attach to native debugger instance (LGPL3) dbg://,pidof://,waitfor:// v0.2.0 pancake
rw_ default Open local files (LGPL3) file://,nocache://
rwd gdb Attach to gdbserver instance (LGPL3) gdb://
rw_ gzip Read/write gzipped files (LGPL3) gzip://
rw_ http Make http get requests (LGPL3) http://
rw_ ihex Open intel HEX file (LGPL) ihex://
r__ mach mach debug io (unsupported in this platform) (LGPL)
rw_ malloc Memory allocation plugin (LGPL3) malloc://,hex://
rw_ null Null plugin (LGPL3) null://
rw_ procpid Open /proc/[pid]/mem io (LGPL3) procpid://
rwd ptrace Ptrace and /proc/pid/mem (if available) io plugin (LGPL3) ptrace://,attach://
rwd qnx Attach to QNX pdebug instance (LGPL3) qnx://
rw_ rzpipe rzpipe io plugin (MIT) rzpipe://
rw_ rzweb rzweb io client plugin (LGPL3) rzweb://
rw_ rap Remote binary protocol plugin (MIT) rap://,raps://
rw_ self Read memory from self (LGPL3) self://
rw_ shm Shared memory resources plugin (MIT) shm://
rw_ sparse Sparse buffer allocation plugin (LGPL3) sparse://
rw_ tcp Load files via TCP (listen or connect) (LGPL3) tcp://
rwd winkd Attach to a KD debugger (LGPL3) winkd://
rwd winedbg Wine-dbg io and debug.io plugin (MIT) winedbg://
rw_ zip Open zip files (BSD) zip://,apk://,ipa://,jar://,zipall://,apkall://,ipaall://,jarall://
EOF
RUN
NAME=Print the io plugins in JSON
FILE==
BROKEN=1
CMDS=Loj
EXPECT=<<EOF
[{"permissions":"rw_","name":"ar","description":"Open ar/lib files","license":"LGPL3","uris":["ar://","lib://"]},{"permissions":"rw_","name":"fd","description":"Local process filedescriptor IO","license":"MIT","uris":["fd://"]},{"permissions":"rw_","name":"bfdbg","description":"Attach to brainfuck Debugger instance","license":"LGPL3","uris":["bfdbg://"]},{"permissions":"rwd","name":"bochs","description":"Attach to a BOCHS debugger instance","license":"LGPL3","uris":["bochs://"]},{"permissions":"r_d","name":"debug","description":"Attach to native debugger instance","license":"LGPL3","uris":["dbg://","pidof://","waitfor://"],"version":"0.2.0","author":"pancake"},{"permissions":"rw_","name":"default","description":"Open local files","license":"LGPL3","uris":["file://","nocache://"]},{"permissions":"rwd","name":"gdb","description":"Attach to gdbserver instance","license":"LGPL3","uris":["gdb://"]},{"permissions":"rw_","name":"gzip","description":"Read/write gzipped files","license":"LGPL3","uris":["gzip://"]},{"permissions":"rw_","name":"http","description":"Make http get requests","license":"LGPL3","uris":["http://"]},{"permissions":"rw_","name":"ihex","description":"Open intel HEX file","license":"LGPL","uris":["ihex://"]},{"permissions":"r__","name":"mach","description":"mach debug io (unsupported in this platform)","license":"LGPL"},{"permissions":"rw_","name":"malloc","description":"Memory allocation plugin","license":"LGPL3","uris":["malloc://","hex://"]},{"permissions":"rw_","name":"null","description":"Null plugin","license":"LGPL3","uris":["null://"]},{"permissions":"rw_","name":"procpid","description":"Open /proc/[pid]/mem io","license":"LGPL3","uris":["procpid://"]},{"permissions":"rwd","name":"ptrace","description":"Ptrace and /proc/pid/mem (if available) io plugin","license":"LGPL3","uris":["ptrace://","attach://"]},{"permissions":"rwd","name":"qnx","description":"Attach to QNX pdebug instance","license":"LGPL3","uris":["qnx://"]},{"permissions":"rw_","name":"rzpipe","description":"rzpipe io plugin","license":"MIT","uris":["rzpipe://"]},{"permissions":"rw_","name":"rzweb","description":"rzweb io client plugin","license":"LGPL3","uris":["rzweb://"]},{"permissions":"rw_","name":"rap","description":"Remote binary protocol plugin","license":"MIT","uris":["rap://","raps://"]},{"permissions":"rw_","name":"self","description":"Read memory from self","license":"LGPL3","uris":["self://"]},{"permissions":"rw_","name":"shm","description":"Shared memory resources plugin","license":"MIT","uris":["shm://"]},{"permissions":"rw_","name":"sparse","description":"Sparse buffer allocation plugin","license":"LGPL3","uris":["sparse://"]},{"permissions":"rw_","name":"tcp","description":"Load files via TCP (listen or connect)","license":"LGPL3","uris":["tcp://"]},{"permissions":"rwd","name":"winkd","description":"Attach to a KD debugger","license":"LGPL3","uris":["winkd://"]},{"permissions":"rwd","name":"winedbg","description":"Wine-dbg io and debug.io plugin","license":"MIT","uris":["winedbg://"]},{"permissions":"rw_","name":"zip","description":"Open zip files","license":"BSD","uris":["zip://","apk://","ipa://","jar://","zipall://","apkall://","ipaall://","jarall://"]}]
EOF
RUN
NAME=Print the bin plugins
FILE==
CMDS=Li
EXPECT=<<EOF
bin any Dummy format rz_bin plugin (LGPL3)
bin art Android Runtime (LGPL3)
bin avr ATmel AVR MCUs (LGPL3)
bin bf brainfuck (LGPL3)
bin bflt bFLT uClinux executable (LGPL3)
bin bios BIOS bin plugin (LGPL)
bin bootimg Android Boot Image (LGPL3)
bin cgc CGC format rz_bin plugin (LGPL3)
bin coff COFF format rz_bin plugin (LGPL3)
bin dex dex bin plugin (LGPL3)
bin dmp64 Windows Crash Dump x64 rz_bin plugin (LGPL3)
bin dol Nintendo Dolphin binary format (BSD)
bin dyldcache dyldcache bin plugin (LGPL3)
bin elf ELF format plugin (LGPL3)
bin elf64 elf64 bin plugin (LGPL3)
bin java java bin plugin (LGPL3)
bin kernelcache kernelcache bin plugin (LGPL3)
bin le LE/LX format plugin (LGPL3) GustavoLCR
bin luac LUA Compiled File (LGPL3)
bin mach0 mach0 bin plugin (LGPL3)
bin mach064 mach064 bin plugin (LGPL3)
bin mbn MBN/SBL bootloader things (LGPL3)
bin mdmp Windows MiniDump plugin (LGPL3)
bin menuet Menuet/KolibriOS bin plugin (LGPL3)
bin mz MZ bin plugin (MIT)
bin ne NE format plugin (LGPL3) GustavoLCR
bin nes NES (MIT)
bin nin3ds Nintendo 3DS Firmware plugin (LGPL3)
bin ninds Nintendo DS plugin (LGPL3)
bin ningb Nintendo Gameboy plugin (LGPL3)
bin ningba Nintendo Gameboy Advance plugin (LGPL3)
bin nro Nintendo Switch NRO0 binaries (MIT)
bin nso Nintendo Switch NSO0 binaries (MIT)
bin omf omf bin plugin (LGPL3)
bin p9 Plan9 bin plugin (LGPL3)
bin pe PE bin plugin (LGPL3)
bin pe64 PE64 (PE32+) bin plugin (LGPL3)
bin pebble Pebble Watch App (LGPL)
bin prg C64 PRG (LGPL3)
bin psxexe Sony PlayStation 1 Executable (LGPL3)
bin pyc Python byte-compiled file plugin (LGPL3)
bin qnx QNX executable file support (LGPL3) deepakchethan
bin sfc Super NES / Super Famicom ROM file (LGPL3)
bin smd SEGA Genesis/Megadrive (LGPL3)
bin sms SEGA MasterSystem/GameGear (LGPL3)
bin spc700 SNES-SPC700 Sound File Data (LGPL3)
bin symbols Apple Symbols file (MIT)
bin te TE bin plugin (LGPL3)
bin vsf VICE Snapshot File (LGPL3)
bin wasm WebAssembly bin plugin (MIT)
bin xbe Microsoft Xbox XBE plugin (LGPL3)
bin z64 Nintendo 64 Bin-BE plugin (LGPL3)
bin zimg zimg format bin plugin (LGPL3)
xtr .fatmach0 fat mach0 bin extractor plugin (LGPL3)
xtr .sep64 64-bit SEP bin extractor plugin (LGPL3)
EOF
RUN
NAME=Print the bin plugins in quiet mode
FILE==
CMDS=Liq
EXPECT=<<EOF
any
art
avr
bf
bflt
bios
bootimg
cgc
coff
dex
dmp64
dol
dyldcache
elf
elf64
java
kernelcache
le
luac
mach0
mach064
mbn
mdmp
menuet
mz
ne
nes
nin3ds
ninds
ningb
ningba
nro
nso
omf
p9
pe
pe64
pebble
prg
psxexe
pyc
qnx
sfc
smd
sms
spc700
symbols
te
vsf
wasm
xbe
z64
zimg
xtr.fatmach0
xtr.sep64
EOF
RUN
NAME=Print the bin plugins in JSON
FILE==
CMDS=Lij
EXPECT=<<EOF
[{"name":"any","description":"Dummy format rz_bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"art","description":"Android Runtime","license":"LGPL3","author":"LGPL3"},{"name":"avr","description":"ATmel AVR MCUs","license":"LGPL3","author":"LGPL3"},{"name":"bf","description":"brainfuck","license":"LGPL3","author":"LGPL3"},{"name":"bflt","description":"bFLT uClinux executable","license":"LGPL3","author":"LGPL3"},{"name":"bios","description":"BIOS bin plugin","license":"LGPL","author":"LGPL"},{"name":"bootimg","description":"Android Boot Image","license":"LGPL3","author":"LGPL3"},{"name":"cgc","description":"CGC format rz_bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"coff","description":"COFF format rz_bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"dex","description":"dex bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"dmp64","description":"Windows Crash Dump x64 rz_bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"dol","description":"Nintendo Dolphin binary format","license":"BSD","author":"BSD"},{"name":"dyldcache","description":"dyldcache bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"elf","description":"ELF format plugin","license":"LGPL3","author":"LGPL3"},{"name":"elf64","description":"elf64 bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"java","description":"java bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"kernelcache","description":"kernelcache bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"le","description":"LE/LX format plugin","license":"LGPL3","author":"LGPL3"},{"name":"luac","description":"LUA Compiled File","license":"LGPL3","author":"LGPL3"},{"name":"mach0","description":"mach0 bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"mach064","description":"mach064 bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"mbn","description":"MBN/SBL bootloader things","license":"LGPL3","author":"LGPL3"},{"name":"mdmp","description":"Windows MiniDump plugin","license":"LGPL3","author":"LGPL3"},{"name":"menuet","description":"Menuet/KolibriOS bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"mz","description":"MZ bin plugin","license":"MIT","author":"MIT"},{"name":"ne","description":"NE format plugin","license":"LGPL3","author":"LGPL3"},{"name":"nes","description":"NES","license":"MIT","author":"MIT"},{"name":"nin3ds","description":"Nintendo 3DS Firmware plugin","license":"LGPL3","author":"LGPL3"},{"name":"ninds","description":"Nintendo DS plugin","license":"LGPL3","author":"LGPL3"},{"name":"ningb","description":"Nintendo Gameboy plugin","license":"LGPL3","author":"LGPL3"},{"name":"ningba","description":"Nintendo Gameboy Advance plugin","license":"LGPL3","author":"LGPL3"},{"name":"nro","description":"Nintendo Switch NRO0 binaries","license":"MIT","author":"MIT"},{"name":"nso","description":"Nintendo Switch NSO0 binaries","license":"MIT","author":"MIT"},{"name":"omf","description":"omf bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"p9","description":"Plan9 bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"pe","description":"PE bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"pe64","description":"PE64 (PE32+) bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"pebble","description":"Pebble Watch App","license":"LGPL","author":"LGPL"},{"name":"prg","description":"C64 PRG","license":"LGPL3","author":"LGPL3"},{"name":"psxexe","description":"Sony PlayStation 1 Executable","license":"LGPL3","author":"LGPL3"},{"name":"pyc","description":"Python byte-compiled file plugin","license":"LGPL3","author":"LGPL3"},{"name":"qnx","description":"QNX executable file support","license":"LGPL3","author":"LGPL3"},{"name":"sfc","description":"Super NES / Super Famicom ROM file","license":"LGPL3","author":"LGPL3"},{"name":"smd","description":"SEGA Genesis/Megadrive","license":"LGPL3","author":"LGPL3"},{"name":"sms","description":"SEGA MasterSystem/GameGear","license":"LGPL3","author":"LGPL3"},{"name":"spc700","description":"SNES-SPC700 Sound File Data","license":"LGPL3","author":"LGPL3"},{"name":"symbols","description":"Apple Symbols file","license":"MIT","author":"MIT"},{"name":"te","description":"TE bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"vsf","description":"VICE Snapshot File","license":"LGPL3","author":"LGPL3"},{"name":"wasm","description":"WebAssembly bin plugin","license":"MIT","author":"MIT"},{"name":"xbe","description":"Microsoft Xbox XBE plugin","license":"LGPL3","author":"LGPL3"},{"name":"z64","description":"Nintendo 64 Bin-BE plugin","license":"LGPL3","author":"LGPL3"},{"name":"zimg","description":"zimg format bin plugin","license":"LGPL3","author":"LGPL3"},{"name":"xtr.fatmach0","description":"fat mach0 bin extractor plugin","license":"LGPL3"},{"name":"xtr.sep64","description":"64-bit SEP bin extractor plugin","license":"LGPL3"}]
EOF
RUN
NAME=Print the hash plugins
FILE==
CMDS=Lh
EXPECT=<<EOF
algorithm license author
crc32d LGPL3 deroad
crc32xfer LGPL3 deroad
crc16x25 LGPL3 deroad
crc32c LGPL3 deroad
sha384 BSD-3 Aaron D. Gifford
entropy LGPL3 deroad
crc16t10dif LGPL3 deroad
crc16tms37157 LGPL3 deroad
crc16genibus LGPL3 deroad
crc64we LGPL3 deroad
fletcher32 LGPL3 deroad
crc32 LGPL3 deroad
crc64ecma182 LGPL3 deroad
crc32bzip2 LGPL3 deroad
crc8wcdma LGPL3 deroad
crc16dectr LGPL3 deroad
crc16cdma2000 LGPL3 deroad
crc16teledisk LGPL3 deroad
crc16augccitt LGPL3 deroad
crc8ebu LGPL3 deroad
crc32posix LGPL3 deroad
crc64iso LGPL3 deroad
crc16riello LGPL3 deroad
crc8maxim LGPL3 deroad
crc16dectx LGPL3 deroad
crc64 LGPL3 deroad
crc16modbus LGPL3 deroad
sm3 LGPL2 FSF/deroad
crc8smbus LGPL3 deroad
sha1 LGPL3 deroad
crc16hdlc LGPL3 deroad
crc32mpeg2 LGPL3 deroad
entropy_fract LGPL3 deroad
sha256 BSD-3 Aaron D. Gifford
fletcher8 LGPL3 deroad
crc32jamcrc LGPL3 deroad
ssdeep LGPL3 deroad
crc16maxim LGPL3 deroad
crc16usb LGPL3 deroad
crc8itu LGPL3 deroad
sha512 BSD-3 Aaron D. Gifford
blake3 CC0 Samuel Neves,Jack O'Connor
crc16dds110 LGPL3 deroad
xxhash32 LGPL3 deroad
crc8cdma2000 LGPL3 deroad
crc16xmodem LGPL3 deroad
crc24 LGPL3 deroad
crc16kermit LGPL3 deroad
crc16mcrf4xx LGPL3 deroad
crc16 LGPL3 deroad
crc8rohc LGPL3 deroad
xor8 LGPL3 deroad
crc32ecma267 LGPL3 deroad
crc8dvbs2 LGPL3 deroad
crc16citt LGPL3 deroad
crc16buypass LGPL3 deroad
crc32q LGPL3 deroad
fletcher16 LGPL3 deroad
md4 LGPL3 deroad
crc15can LGPL3 deroad
crc16dnp LGPL3 deroad
fletcher64 LGPL3 deroad
md5 LGPL2 Alan DeKok
xor16 LGPL3 deroad
crc8icode LGPL3 deroad
parity LGPL3 deroad
crc16en13757 LGPL3 deroad
crc8darc LGPL3 deroad
md2 LGPL3 swedenspy
crc64xz LGPL3 deroad
adler32 LGPL3 deroad
crca LGPL3 deroad
EOF
RUN
NAME=Print the hash plugins in JSON
FILE==
CMDS=Lhj
EXPECT=<<EOF
[{"name":"crc32d","license":"LGPL3","author":"deroad"},{"name":"crc32xfer","license":"LGPL3","author":"deroad"},{"name":"crc16x25","license":"LGPL3","author":"deroad"},{"name":"crc32c","license":"LGPL3","author":"deroad"},{"name":"sha384","license":"BSD-3","author":"Aaron D. Gifford"},{"name":"entropy","license":"LGPL3","author":"deroad"},{"name":"crc16t10dif","license":"LGPL3","author":"deroad"},{"name":"crc16tms37157","license":"LGPL3","author":"deroad"},{"name":"crc16genibus","license":"LGPL3","author":"deroad"},{"name":"crc64we","license":"LGPL3","author":"deroad"},{"name":"fletcher32","license":"LGPL3","author":"deroad"},{"name":"crc32","license":"LGPL3","author":"deroad"},{"name":"crc64ecma182","license":"LGPL3","author":"deroad"},{"name":"crc32bzip2","license":"LGPL3","author":"deroad"},{"name":"crc8wcdma","license":"LGPL3","author":"deroad"},{"name":"crc16dectr","license":"LGPL3","author":"deroad"},{"name":"crc16cdma2000","license":"LGPL3","author":"deroad"},{"name":"crc16teledisk","license":"LGPL3","author":"deroad"},{"name":"crc16augccitt","license":"LGPL3","author":"deroad"},{"name":"crc8ebu","license":"LGPL3","author":"deroad"},{"name":"crc32posix","license":"LGPL3","author":"deroad"},{"name":"crc64iso","license":"LGPL3","author":"deroad"},{"name":"crc16riello","license":"LGPL3","author":"deroad"},{"name":"crc8maxim","license":"LGPL3","author":"deroad"},{"name":"crc16dectx","license":"LGPL3","author":"deroad"},{"name":"crc64","license":"LGPL3","author":"deroad"},{"name":"crc16modbus","license":"LGPL3","author":"deroad"},{"name":"sm3","license":"LGPL2","author":"FSF/deroad"},{"name":"crc8smbus","license":"LGPL3","author":"deroad"},{"name":"sha1","license":"LGPL3","author":"deroad"},{"name":"crc16hdlc","license":"LGPL3","author":"deroad"},{"name":"crc32mpeg2","license":"LGPL3","author":"deroad"},{"name":"entropy_fract","license":"LGPL3","author":"deroad"},{"name":"sha256","license":"BSD-3","author":"Aaron D. Gifford"},{"name":"fletcher8","license":"LGPL3","author":"deroad"},{"name":"crc32jamcrc","license":"LGPL3","author":"deroad"},{"name":"ssdeep","license":"LGPL3","author":"deroad"},{"name":"crc16maxim","license":"LGPL3","author":"deroad"},{"name":"crc16usb","license":"LGPL3","author":"deroad"},{"name":"crc8itu","license":"LGPL3","author":"deroad"},{"name":"sha512","license":"BSD-3","author":"Aaron D. Gifford"},{"name":"blake3","license":"CC0","author":"Samuel Neves,Jack O'Connor"},{"name":"crc16dds110","license":"LGPL3","author":"deroad"},{"name":"xxhash32","license":"LGPL3","author":"deroad"},{"name":"crc8cdma2000","license":"LGPL3","author":"deroad"},{"name":"crc16xmodem","license":"LGPL3","author":"deroad"},{"name":"crc24","license":"LGPL3","author":"deroad"},{"name":"crc16kermit","license":"LGPL3","author":"deroad"},{"name":"crc16mcrf4xx","license":"LGPL3","author":"deroad"},{"name":"crc16","license":"LGPL3","author":"deroad"},{"name":"crc8rohc","license":"LGPL3","author":"deroad"},{"name":"xor8","license":"LGPL3","author":"deroad"},{"name":"crc32ecma267","license":"LGPL3","author":"deroad"},{"name":"crc8dvbs2","license":"LGPL3","author":"deroad"},{"name":"crc16citt","license":"LGPL3","author":"deroad"},{"name":"crc16buypass","license":"LGPL3","author":"deroad"},{"name":"crc32q","license":"LGPL3","author":"deroad"},{"name":"fletcher16","license":"LGPL3","author":"deroad"},{"name":"md4","license":"LGPL3","author":"deroad"},{"name":"crc15can","license":"LGPL3","author":"deroad"},{"name":"crc16dnp","license":"LGPL3","author":"deroad"},{"name":"fletcher64","license":"LGPL3","author":"deroad"},{"name":"md5","license":"LGPL2","author":"Alan DeKok"},{"name":"xor16","license":"LGPL3","author":"deroad"},{"name":"crc8icode","license":"LGPL3","author":"deroad"},{"name":"parity","license":"LGPL3","author":"deroad"},{"name":"crc16en13757","license":"LGPL3","author":"deroad"},{"name":"crc8darc","license":"LGPL3","author":"deroad"},{"name":"md2","license":"LGPL3","author":"swedenspy"},{"name":"crc64xz","license":"LGPL3","author":"deroad"},{"name":"adler32","license":"LGPL3","author":"deroad"},{"name":"crca","license":"LGPL3","author":"deroad"}]
EOF
RUN
NAME=Print the hash plugins in JSON
FILE==
CMDS=Lhq
EXPECT=<<EOF
crc32d crc32xfer crc16x25 crc32c sha384 entropy crc16t10dif crc16tms37157 crc16genibus crc64we fletcher32 crc32 crc64ecma182 crc32bzip2 crc8wcdma crc16dectr crc16cdma2000 crc16teledisk crc16augccitt crc8ebu crc32posix crc64iso crc16riello crc8maxim crc16dectx crc64 crc16modbus sm3 crc8smbus sha1 crc16hdlc crc32mpeg2 entropy_fract sha256 fletcher8 crc32jamcrc ssdeep crc16maxim crc16usb crc8itu sha512 blake3 crc16dds110 xxhash32 crc8cdma2000 crc16xmodem crc24 crc16kermit crc16mcrf4xx crc16 crc8rohc xor8 crc32ecma267 crc8dvbs2 crc16citt crc16buypass crc32q fletcher16 md4 crc15can crc16dnp fletcher64 md5 xor16 crc8icode parity crc16en13757 crc8darc md2 crc64xz adler32 crca
EOF
RUN
NAME=Set the debug backend
FILE==
CMDS=<<EOF
Ld null
Ld~!windbg,native[1-3]
EOF
EXPECT=<<EOF
--- bf LGPL3
--- bochs LGPL3
--- dmp LGPL3
--- gdb LGPL3
--- io MIT
dbg null MIT
--- qnx LGPL3
--- rap LGPL3
--- winkd LGPL3
EOF
RUN
NAME=Print the debug plugins
FILE==
CMDS=Ld~!windbg,native[1-3]
EXPECT=<<EOF
--- bf LGPL3
--- bochs LGPL3
--- dmp LGPL3
--- gdb LGPL3
--- io MIT
--- null MIT
--- qnx LGPL3
--- rap LGPL3
--- winkd LGPL3
EOF
RUN
NAME=Print the debug plugins in JSON
FILE==
CMDS=<<EOF
Ldj~{[0]}
Ldj~{[1]}
Ldj~{[2]}
Ldj~{[3]}
Ldj~{[4]}
# Ldj~{[5]} - Native plugin. The arch field changes in each test environment and breaks it.
Ldj~{[6]}
Ldj~{[7]}
Ldj~{[8]}
EOF
EXPECT=<<EOF
{"arch":"bf","name":"bf","license":"LGPL3"}
{"arch":"x86","name":"bochs","license":"LGPL3"}
{"arch":"x86,arm","name":"dmp","license":"LGPL3"}
{"arch":"x86,arm,sh,mips,avr,lm32,v850,ba2,tricore","name":"gdb","license":"LGPL3"}
{"arch":"any","name":"io","license":"MIT"}
{"arch":"any","name":"null","license":"MIT"}
{"arch":"x86,arm","name":"qnx","license":"LGPL3"}
{"arch":"any","name":"rap","license":"LGPL3"}
EOF
RUN
NAME=Print the asm/analysis plugins
FILE==
CMDS=La
EXPECT=<<EOF
_dAeI 8 16 6502 LGPL3 6502/NES/C64/Tamagotchi/T-1000 CPU
adAeI 8 8051 PD 8051 Intel CPU
_dA__ 64 alpha LGPL3 Capstone Alpha disassembler
_dA__ 32 amd29k LGPL3 AMD 29k RISC CPU (by deroad)
_dA__ 16 32 arc GPL3 Argonaut RISC Core
adAeI 16 32 64 arm BSD Capstone ARM disassembler
a____ 16 32 64 arm.as LGPL3 as ARM Assembler (use RZ_ARM32_AS and RZ_ARM64_AS environment) (by pancake)
adAeI 8 16 avr LGPL3 AVR Atmel
adA_I 16 32 64 bf LGPL3 Brainfuck (by pancake, nibble) v4.0.0
_dA__ 32 chip8 LGPL3 Chip8 disassembler
_dA__ 16 32 64 cil LGPL3 .NET Common Intermediate Language
_dA__ 16 cr16 LGPL3 cr16 disassembly plugin
_dA__ 32 cris GPL3 Axis Communications 32-bit embedded processor (by pancake)
adA__ 32 64 dalvik LGPL3 AndroidVM Dalvik
ad___ 16 dcpu16 PD Mojang's DCPU-16
_dA__ 32 64 ebc LGPL3 EFI Bytecode (by Fedor Sakharov)
adAeI 16 gb LGPL3 GameBoy(TM) (z80-like) (by condret)
_dAe_ 16 h8300 LGPL3 H8/300 disassembly plugin
_dA_I 32 hexagon LGPL3 Qualcomm Hexagon (QDSP6) V6 (by Rot127)
_d___ 32 hppa GPL3 HP PA-RISC
_dA__ 4 i4004 LGPL3 Intel 4004 microprocessor
_dA__ 8 i8080 BSD Intel 8080 CPU
adA__ 32 java LGPL-3 Java bytecode disassembler (by deroad)
_d___ 32 lanai GPL3 LANAI
_d___ 8 lh5801 LGPL3 SHARP LH5801 disassembler
_d___ 32 lm32 BSD disassembly plugin for Lattice Micro 32 ISA (by Felix Held)
adA__ 8 luac LGPL3 luac disassemble plugin
_dA__ 8 32 m680x BSD Capstone M680X Disassembler
_dA__ 32 m68k BSD Capstone M68K disassembler
_dA__ 32 malbolge LGPL3 Malbolge Ternary VM (by condret)
_dA__ 32 mcore LGPL3 Motorola MCORE disassembler
_d___ 16 mcs96 LGPL3 condrets car
adAe_ 16 32 64 mips BSD Capstone MIPS disassembler
_dA_I 16 msp430 LGPL3 msp430 disassembly plugin
adA__ 16 32 64 null MIT no disassemble (by pancake) v1.0.0
_dA__ 32 or1k LGPL3 OpenRISC 1000
_dAeI 16 32 pic LGPL3 PIC disassembler
_dAeI 32 64 ppc BSD Capstone PowerPC disassembler (by pancake)
a____ 32 64 ppc.as LGPL3 as PPC Assembler (use RZ_PPC_AS environment) (by eagleoflqj)
_dA__ 32 propeller LGPL3 propeller disassembly plugin
_dA__ 8 16 pyc LGPL3 PYC disassemble plugin
_dAe_ 32 64 riscv GPL3 RISC-V
_dAe_ 32 64 riscv.cs BSD Capstone RISCV disassembler
adA__ 32 rl78 LGPL3 Renesas RL78 disassembler (by Bastian Engel)
_dA__ 32 rsp LGPL3 Reality Signal Processor
_dA__ 32 rx LGPL3 Renesas RX Family disassembler (by Heersin)
adAeI 32 sh LGPL3 SuperH-4 CPU (by DMaroo)
_dA__ 8 16 snes LGPL3 SuperNES CPU
_dA__ 32 64 sparc BSD Capstone SPARC disassembler
_dA__ 32 64 sparc.gnu GPL3 Scalable Processor Architecture
_dA__ 16 spc700 LGPL3 spc700, snes' sound-chip
_dA__ 32 64 sysz BSD SystemZ CPU disassembler
_dA__ 32 tms320 LGPL3 TMS320 DSP family (c54x,c55x,c55x+,c64x)
_dA_I 32 tricore BSD Siemens TriCore CPU (by billow)
_dAeI 32 v810 LGPL3 v810 disassembly plugin (by pancake)
_dAeI 32 v850 LGPL3 v850 disassembly plugin
_dA__ 8 32 vax GPL3 VAX
adA__ 32 wasm MIT WebAssembly (by cgvwzq) v0.1.0
_dAeI 16 32 64 x86 BSD Capstone X86 disassembler
a____ 16 32 64 x86.as LGPL3 Intel X86 GNU Assembler (Use RZ_X86_AS env)
a____ 16 32 64 x86.nasm LGPL3 X86 nasm assembler
a____ 16 32 64 x86.nz LGPL3 x86 handmade assembler
_dA__ 16 xap PD XAP4 RISC (CSR)
_dA__ 32 xcore BSD Capstone XCore disassembler (by pancake)
_dAeI 32 xtensa LGPL3 Capstone Xtensa disassembly plugin (by billow)
adA__ 8 z80 GPL3 Zilog Z80 (by condret)
EOF
RUN
NAME=Print the asm/analysis plugins with filtering
FILE==
CMDS=<<EOF
La a
La I
La dAeI
EOF
EXPECT=<<EOF
adAeI 8 8051 PD 8051 Intel CPU
adAeI 16 32 64 arm BSD Capstone ARM disassembler
a____ 16 32 64 arm.as LGPL3 as ARM Assembler (use RZ_ARM32_AS and RZ_ARM64_AS environment) (by pancake)
adAeI 8 16 avr LGPL3 AVR Atmel
adA_I 16 32 64 bf LGPL3 Brainfuck (by pancake, nibble) v4.0.0
adA__ 32 64 dalvik LGPL3 AndroidVM Dalvik
ad___ 16 dcpu16 PD Mojang's DCPU-16
adAeI 16 gb LGPL3 GameBoy(TM) (z80-like) (by condret)
adA__ 32 java LGPL-3 Java bytecode disassembler (by deroad)
adA__ 8 luac LGPL3 luac disassemble plugin
adAe_ 16 32 64 mips BSD Capstone MIPS disassembler
adA__ 16 32 64 null MIT no disassemble (by pancake) v1.0.0
a____ 32 64 ppc.as LGPL3 as PPC Assembler (use RZ_PPC_AS environment) (by eagleoflqj)
adA__ 32 rl78 LGPL3 Renesas RL78 disassembler (by Bastian Engel)
adAeI 32 sh LGPL3 SuperH-4 CPU (by DMaroo)
adA__ 32 wasm MIT WebAssembly (by cgvwzq) v0.1.0
a____ 16 32 64 x86.as LGPL3 Intel X86 GNU Assembler (Use RZ_X86_AS env)
a____ 16 32 64 x86.nasm LGPL3 X86 nasm assembler
a____ 16 32 64 x86.nz LGPL3 x86 handmade assembler
adA__ 8 z80 GPL3 Zilog Z80 (by condret)
_dAeI 8 16 6502 LGPL3 6502/NES/C64/Tamagotchi/T-1000 CPU
adAeI 8 8051 PD 8051 Intel CPU
adAeI 16 32 64 arm BSD Capstone ARM disassembler
adAeI 8 16 avr LGPL3 AVR Atmel
adA_I 16 32 64 bf LGPL3 Brainfuck (by pancake, nibble) v4.0.0
adAeI 16 gb LGPL3 GameBoy(TM) (z80-like) (by condret)
_dA_I 32 hexagon LGPL3 Qualcomm Hexagon (QDSP6) V6 (by Rot127)
_dA_I 16 msp430 LGPL3 msp430 disassembly plugin
_dAeI 16 32 pic LGPL3 PIC disassembler
_dAeI 32 64 ppc BSD Capstone PowerPC disassembler (by pancake)
adAeI 32 sh LGPL3 SuperH-4 CPU (by DMaroo)
_dA_I 32 tricore BSD Siemens TriCore CPU (by billow)
_dAeI 32 v810 LGPL3 v810 disassembly plugin (by pancake)
_dAeI 32 v850 LGPL3 v850 disassembly plugin
_dAeI 16 32 64 x86 BSD Capstone X86 disassembler
_dAeI 32 xtensa LGPL3 Capstone Xtensa disassembly plugin (by billow)
_dAeI 8 16 6502 LGPL3 6502/NES/C64/Tamagotchi/T-1000 CPU
adAeI 8 8051 PD 8051 Intel CPU
adAeI 16 32 64 arm BSD Capstone ARM disassembler
adAeI 8 16 avr LGPL3 AVR Atmel
adAeI 16 gb LGPL3 GameBoy(TM) (z80-like) (by condret)
_dAeI 16 32 pic LGPL3 PIC disassembler
_dAeI 32 64 ppc BSD Capstone PowerPC disassembler (by pancake)
adAeI 32 sh LGPL3 SuperH-4 CPU (by DMaroo)
_dAeI 32 v810 LGPL3 v810 disassembly plugin (by pancake)
_dAeI 32 v850 LGPL3 v850 disassembly plugin
_dAeI 16 32 64 x86 BSD Capstone X86 disassembler
_dAeI 32 xtensa LGPL3 Capstone Xtensa disassembly plugin (by billow)
EOF
RUN
NAME=Print the asm/analysis plugins in quiet mode
FILE==
CMDS=Laq
EXPECT=<<EOF
6502
8051
alpha
amd29k
arc
arm
arm.as
avr
bf
chip8
cil
cr16
cris
dalvik
dcpu16
ebc
gb
h8300
hexagon
hppa
i4004
i8080
java
lanai
lh5801
lm32
luac
m680x
m68k
malbolge
mcore
mcs96
mips
msp430
null
or1k
pic
ppc
ppc.as
propeller
pyc
riscv
riscv.cs
rl78
rsp
rx
sh
snes
sparc
sparc.gnu
spc700
sysz
tms320
tricore
v810
v850
vax
wasm
x86
x86.as
x86.nasm
x86.nz
xap
xcore
xtensa
z80
EOF
RUN
NAME=Print the asm/analysis plugins with filtering in quiet mode
FILE==
CMDS=<<EOF
Laq a
Laq I
Laq dAeI
EOF
EXPECT=<<EOF
8051
arm
arm.as
avr
bf
dalvik
dcpu16
gb
java
luac
mips
null
ppc.as
rl78
sh
wasm
x86.as
x86.nasm
x86.nz
z80
6502
8051
arm
avr
bf
gb
hexagon
msp430
pic
ppc
sh
tricore
v810
v850
x86
xtensa
6502
8051
arm
avr
gb
pic
ppc
sh
v810
v850
x86
xtensa
EOF
RUN
NAME=Print the asm/analysis plugins in JSON
FILE==
CMDS=Laj
EXPECT=<<EOF
["6502":{"bits":"8 16 ","license":"LGPL3","description":"6502/NES/C64/Tamagotchi/T-1000 CPU","features":"_dAeI"},"8051":{"bits":"8 ","license":"PD","description":"8051 Intel CPU","features":"adAeI"},"alpha":{"bits":"64","license":"LGPL3","description":"Capstone Alpha disassembler","features":"_dA__"},"amd29k":{"bits":"32 ","license":"LGPL3","description":"AMD 29k RISC CPU","features":"_dA__"},"arc":{"bits":"16 32 ","license":"GPL3","description":"Argonaut RISC Core","features":"_dA__"},"arm":{"bits":"16 32 64","license":"BSD","description":"Capstone ARM disassembler","features":"adAeI"},"arm.as":{"bits":"16 32 64","license":"LGPL3","description":"as ARM Assembler (use RZ_ARM32_AS and RZ_ARM64_AS environment)","features":"a____"},"avr":{"bits":"8 16 ","license":"LGPL3","description":"AVR Atmel","features":"adAeI"},"bf":{"bits":"16 32 64","license":"LGPL3","description":"Brainfuck","features":"adA_I"},"chip8":{"bits":"32 ","license":"LGPL3","description":"Chip8 disassembler","features":"_dA__"},"cil":{"bits":"16 32 64","license":"LGPL3","description":".NET Common Intermediate Language","features":"_dA__"},"cr16":{"bits":"16 ","license":"LGPL3","description":"cr16 disassembly plugin","features":"_dA__"},"cris":{"bits":"32 ","license":"GPL3","description":"Axis Communications 32-bit embedded processor","features":"_dA__"},"dalvik":{"bits":"32 64","license":"LGPL3","description":"AndroidVM Dalvik","features":"adA__"},"dcpu16":{"bits":"16 ","license":"PD","description":"Mojang's DCPU-16","features":"ad___"},"ebc":{"bits":"32 64","license":"LGPL3","description":"EFI Bytecode","features":"_dA__"},"gb":{"bits":"16 ","license":"LGPL3","description":"GameBoy(TM) (z80-like)","features":"adAeI"},"h8300":{"bits":"16 ","license":"LGPL3","description":"H8/300 disassembly plugin","features":"_dAe_"},"hexagon":{"bits":"32 ","license":"LGPL3","description":"Qualcomm Hexagon (QDSP6) V6","features":"_dA_I"},"hppa":{"bits":"32 ","license":"GPL3","description":"HP PA-RISC","features":"_d___"},"i4004":{"bits":"4 ","license":"LGPL3","description":"Intel 4004 microprocessor","features":"_dA__"},"i8080":{"bits":"8 ","license":"BSD","description":"Intel 8080 CPU","features":"_dA__"},"java":{"bits":"32 ","license":"LGPL-3","description":"Java bytecode disassembler","features":"adA__"},"lanai":{"bits":"32 ","license":"GPL3","description":"LANAI","features":"_d___"},"lh5801":{"bits":"8 ","license":"LGPL3","description":"SHARP LH5801 disassembler","features":"_d___"},"lm32":{"bits":"32 ","license":"BSD","description":"disassembly plugin for Lattice Micro 32 ISA","features":"_d___"},"luac":{"bits":"8 ","license":"LGPL3","description":"luac disassemble plugin","features":"adA__"},"m680x":{"bits":"8 32 ","license":"BSD","description":"Capstone M680X Disassembler","features":"_dA__"},"m68k":{"bits":"32 ","license":"BSD","description":"Capstone M68K disassembler","features":"_dA__"},"malbolge":{"bits":"32 ","license":"LGPL3","description":"Malbolge Ternary VM","features":"_dA__"},"mcore":{"bits":"32 ","license":"LGPL3","description":"Motorola MCORE disassembler","features":"_dA__"},"mcs96":{"bits":"16 ","license":"LGPL3","description":"condrets car","features":"_d___"},"mips":{"bits":"16 32 64","license":"BSD","description":"Capstone MIPS disassembler","features":"adAe_"},"msp430":{"bits":"16 ","license":"LGPL3","description":"msp430 disassembly plugin","features":"_dA_I"},"null":{"bits":"16 32 64","license":"MIT","description":"no disassemble","features":"adA__"},"or1k":{"bits":"32 ","license":"LGPL3","description":"OpenRISC 1000","features":"_dA__"},"pic":{"bits":"16 32 ","license":"LGPL3","description":"PIC disassembler","features":"_dAeI"},"ppc":{"bits":"32 64","license":"BSD","description":"Capstone PowerPC disassembler","features":"_dAeI"},"ppc.as":{"bits":"32 64","license":"LGPL3","description":"as PPC Assembler (use RZ_PPC_AS environment)","features":"a____"},"propeller":{"bits":"32 ","license":"LGPL3","description":"propeller disassembly plugin","features":"_dA__"},"pyc":{"bits":"8 16 ","license":"LGPL3","description":"PYC disassemble plugin","features":"_dA__"},"riscv":{"bits":"32 64","license":"GPL3","description":"RISC-V","features":"_dAe_"},"riscv.cs":{"bits":"32 64","license":"BSD","description":"Capstone RISCV disassembler","features":"_dAe_"},"rl78":{"bits":"32 ","license":"LGPL3","description":"Renesas RL78 disassembler","features":"adA__"},"rsp":{"bits":"32 ","license":"LGPL3","description":"Reality Signal Processor","features":"_dA__"},"rx":{"bits":"32 ","license":"LGPL3","description":"Renesas RX Family disassembler","features":"_dA__"},"sh":{"bits":"32 ","license":"LGPL3","description":"SuperH-4 CPU","features":"adAeI"},"snes":{"bits":"8 16 ","license":"LGPL3","description":"SuperNES CPU","features":"_dA__"},"sparc":{"bits":"32 64","license":"BSD","description":"Capstone SPARC disassembler","features":"_dA__"},"sparc.gnu":{"bits":"32 64","license":"GPL3","description":"Scalable Processor Architecture","features":"_dA__"},"spc700":{"bits":"16 ","license":"LGPL3","description":"spc700, snes' sound-chip","features":"_dA__"},"sysz":{"bits":"32 64","license":"BSD","description":"SystemZ CPU disassembler","features":"_dA__"},"tms320":{"bits":"32 ","license":"LGPL3","description":"TMS320 DSP family (c54x,c55x,c55x+,c64x)","features":"_dA__"},"tricore":{"bits":"32 ","license":"BSD","description":"Siemens TriCore CPU","features":"_dA_I"},"v810":{"bits":"32 ","license":"LGPL3","description":"v810 disassembly plugin","features":"_dAeI"},"v850":{"bits":"32 ","license":"LGPL3","description":"v850 disassembly plugin","features":"_dAeI"},"vax":{"bits":"8 32 ","license":"GPL3","description":"VAX","features":"_dA__"},"wasm":{"bits":"32 ","license":"MIT","description":"WebAssembly","features":"adA__"},"x86":{"bits":"16 32 64","license":"BSD","description":"Capstone X86 disassembler","features":"_dAeI"},"x86.as":{"bits":"16 32 64","license":"LGPL3","description":"Intel X86 GNU Assembler (Use RZ_X86_AS env)","features":"a____"},"x86.nasm":{"bits":"16 32 64","license":"LGPL3","description":"X86 nasm assembler","features":"a____"},"x86.nz":{"bits":"16 32 64","license":"LGPL3","description":"x86 handmade assembler","features":"a____"},"xap":{"bits":"16 ","license":"PD","description":"XAP4 RISC (CSR)","features":"_dA__"},"xcore":{"bits":"32 ","license":"BSD","description":"Capstone XCore disassembler","features":"_dA__"},"xtensa":{"bits":"32 ","license":"LGPL3","description":"Capstone Xtensa disassembly plugin","features":"_dAeI"},"z80":{"bits":"8 ","license":"GPL3","description":"Zilog Z80","features":"adA__"}]
EOF
RUN
NAME=Print the asm/analysis plugins with filtering in JSON
FILE==
CMDS=<<EOF
Laj a
Laj I
Laj dAeI
EOF
EXPECT=<<EOF
["8051":{"bits":"8 ","license":"PD","description":"8051 Intel CPU","features":"adAeI"},"arm":{"bits":"16 32 64","license":"BSD","description":"Capstone ARM disassembler","features":"adAeI"},"arm.as":{"bits":"16 32 64","license":"LGPL3","description":"as ARM Assembler (use RZ_ARM32_AS and RZ_ARM64_AS environment)","features":"a____"},"avr":{"bits":"8 16 ","license":"LGPL3","description":"AVR Atmel","features":"adAeI"},"bf":{"bits":"16 32 64","license":"LGPL3","description":"Brainfuck","features":"adA_I"},"dalvik":{"bits":"32 64","license":"LGPL3","description":"AndroidVM Dalvik","features":"adA__"},"dcpu16":{"bits":"16 ","license":"PD","description":"Mojang's DCPU-16","features":"ad___"},"gb":{"bits":"16 ","license":"LGPL3","description":"GameBoy(TM) (z80-like)","features":"adAeI"},"java":{"bits":"32 ","license":"LGPL-3","description":"Java bytecode disassembler","features":"adA__"},"luac":{"bits":"8 ","license":"LGPL3","description":"luac disassemble plugin","features":"adA__"},"mips":{"bits":"16 32 64","license":"BSD","description":"Capstone MIPS disassembler","features":"adAe_"},"null":{"bits":"16 32 64","license":"MIT","description":"no disassemble","features":"adA__"},"ppc.as":{"bits":"32 64","license":"LGPL3","description":"as PPC Assembler (use RZ_PPC_AS environment)","features":"a____"},"rl78":{"bits":"32 ","license":"LGPL3","description":"Renesas RL78 disassembler","features":"adA__"},"sh":{"bits":"32 ","license":"LGPL3","description":"SuperH-4 CPU","features":"adAeI"},"wasm":{"bits":"32 ","license":"MIT","description":"WebAssembly","features":"adA__"},"x86.as":{"bits":"16 32 64","license":"LGPL3","description":"Intel X86 GNU Assembler (Use RZ_X86_AS env)","features":"a____"},"x86.nasm":{"bits":"16 32 64","license":"LGPL3","description":"X86 nasm assembler","features":"a____"},"x86.nz":{"bits":"16 32 64","license":"LGPL3","description":"x86 handmade assembler","features":"a____"},"z80":{"bits":"8 ","license":"GPL3","description":"Zilog Z80","features":"adA__"}]
["6502":{"bits":"8 16 ","license":"LGPL3","description":"6502/NES/C64/Tamagotchi/T-1000 CPU","features":"_dAeI"},"8051":{"bits":"8 ","license":"PD","description":"8051 Intel CPU","features":"adAeI"},"arm":{"bits":"16 32 64","license":"BSD","description":"Capstone ARM disassembler","features":"adAeI"},"avr":{"bits":"8 16 ","license":"LGPL3","description":"AVR Atmel","features":"adAeI"},"bf":{"bits":"16 32 64","license":"LGPL3","description":"Brainfuck","features":"adA_I"},"gb":{"bits":"16 ","license":"LGPL3","description":"GameBoy(TM) (z80-like)","features":"adAeI"},"hexagon":{"bits":"32 ","license":"LGPL3","description":"Qualcomm Hexagon (QDSP6) V6","features":"_dA_I"},"msp430":{"bits":"16 ","license":"LGPL3","description":"msp430 disassembly plugin","features":"_dA_I"},"pic":{"bits":"16 32 ","license":"LGPL3","description":"PIC disassembler","features":"_dAeI"},"ppc":{"bits":"32 64","license":"BSD","description":"Capstone PowerPC disassembler","features":"_dAeI"},"sh":{"bits":"32 ","license":"LGPL3","description":"SuperH-4 CPU","features":"adAeI"},"tricore":{"bits":"32 ","license":"BSD","description":"Siemens TriCore CPU","features":"_dA_I"},"v810":{"bits":"32 ","license":"LGPL3","description":"v810 disassembly plugin","features":"_dAeI"},"v850":{"bits":"32 ","license":"LGPL3","description":"v850 disassembly plugin","features":"_dAeI"},"x86":{"bits":"16 32 64","license":"BSD","description":"Capstone X86 disassembler","features":"_dAeI"},"xtensa":{"bits":"32 ","license":"LGPL3","description":"Capstone Xtensa disassembly plugin","features":"_dAeI"}]
["6502":{"bits":"8 16 ","license":"LGPL3","description":"6502/NES/C64/Tamagotchi/T-1000 CPU","features":"_dAeI"},"8051":{"bits":"8 ","license":"PD","description":"8051 Intel CPU","features":"adAeI"},"arm":{"bits":"16 32 64","license":"BSD","description":"Capstone ARM disassembler","features":"adAeI"},"avr":{"bits":"8 16 ","license":"LGPL3","description":"AVR Atmel","features":"adAeI"},"gb":{"bits":"16 ","license":"LGPL3","description":"GameBoy(TM) (z80-like)","features":"adAeI"},"pic":{"bits":"16 32 ","license":"LGPL3","description":"PIC disassembler","features":"_dAeI"},"ppc":{"bits":"32 64","license":"BSD","description":"Capstone PowerPC disassembler","features":"_dAeI"},"sh":{"bits":"32 ","license":"LGPL3","description":"SuperH-4 CPU","features":"adAeI"},"v810":{"bits":"32 ","license":"LGPL3","description":"v810 disassembly plugin","features":"_dAeI"},"v850":{"bits":"32 ","license":"LGPL3","description":"v850 disassembly plugin","features":"_dAeI"},"x86":{"bits":"16 32 64","license":"BSD","description":"Capstone X86 disassembler","features":"_dAeI"},"xtensa":{"bits":"32 ","license":"LGPL3","description":"Capstone Xtensa disassembly plugin","features":"_dAeI"}]
EOF
RUN
NAME=Print the lang plugins
FILE==
CMDS=<<EOF
Ll~^pipe
Ll~lib
EOF
EXPECT=<<EOF
pipe: Use #!pipe node script.js (LGPL)
lib: Load libs directly into rizin (LGPL)
EOF
RUN
NAME=Print the lang plugins in JSON
BROKEN=1
FILE==
CMDS=Llj
EXPECT=<<EOF
[{"name":"c","description":"C language extension","license":"LGPL"},{"name":"cpipe","description":"rzpipe scripting in C","license":"LGPL"},{"name":"vala","description":"Vala language extension","license":"LGPL"},{"name":"rust","description":"Rust language extension","license":"MIT"},{"name":"zig","description":"Zig language extension","license":"MIT"},{"name":"spp","description":"SPP template programs","license":"MIT"},{"name":"pipe","description":"Use #!pipe node script.js","license":"LGPL"},{"name":"lib","description":"Load libs directly into rizin","license":"LGPL"}]
EOF
RUN