Files
ImHex-Patterns/patterns/ar.hexpat

26 lines
543 B
Rust

#pragma MIME application/x-archive
#include <std/string.pat>
#include <std/mem.pat>
#include <std/sys.pat>
struct ARFile {
char file_name[16];
char modification_timestamp[12];
char owner_id[6];
char group_id[6];
char file_mode[8];
char file_size[10];
u16 end_marker;
if (end_marker == 0x0A60) {
u8 data[std::string::parse_int(this.file_size, 10)];
padding[sizeof(data) & 1];
}
};
char signature[8] @ 0x00;
std::assert(signature == "!<arch>\n", "File is not a valid archive!");
ARFile files[while($ < std::mem::size())] @ $;