Description
Currently, rz-test supports automatic format detection when loading standard binary files. However, this behavior does not extend to virtual URIs or memory-allocated buffers specified via environment variables like FILE=malloc://32.
When testing shellcodes, raw architecture payloads, or specific fuzzing edge cases using virtual or blank spaces, rz-test fails to detect or falls back unpredictably because it expects a physical file for format probing, or doesn't pass the proper flags/bins to the core analysis engine during initialization.
Expected Behavior
rz-test should attempt format autodetection regardless of whether the target FILE is a physical file on disk or a virtual URI scheme supported by Rizin io plugins (like malloc://, mmap://, etc.), provided the buffer contains enough bytes for a signature match or the test configuration implies probing.
Actual Behavior
Autodetection is either skipped or fails when FILE does not point to a valid file path, forcing developers to explicitly define the format/architecture even for dynamic or temporary memory allocations where Rizin could otherwise guess the format from subsequent writes or pre-filled magic bytes.
Description
Currently, rz-test supports automatic format detection when loading standard binary files. However, this behavior does not extend to virtual URIs or memory-allocated buffers specified via environment variables like FILE=malloc://32.
When testing shellcodes, raw architecture payloads, or specific fuzzing edge cases using virtual or blank spaces, rz-test fails to detect or falls back unpredictably because it expects a physical file for format probing, or doesn't pass the proper flags/bins to the core analysis engine during initialization.
Expected Behavior
rz-test should attempt format autodetection regardless of whether the target FILE is a physical file on disk or a virtual URI scheme supported by Rizin io plugins (like malloc://, mmap://, etc.), provided the buffer contains enough bytes for a signature match or the test configuration implies probing.
Actual Behavior
Autodetection is either skipped or fails when FILE does not point to a valid file path, forcing developers to explicitly define the format/architecture even for dynamic or temporary memory allocations where Rizin could otherwise guess the format from subsequent writes or pre-filled magic bytes.