patterns: Added MIME types and magic numbers to all patterns that have them

This commit is contained in:
Nik
2025-01-14 20:01:36 +01:00
committed by GitHub
parent b936c04d21
commit 8db011b6e5
54 changed files with 103 additions and 52 deletions

View File

@@ -1,5 +1,6 @@
#pragma author AdventureT
#pragma description Crash Bandicoot - Back in Time (fan game) User created level
#pragma magic [ 43 52 41 53 48 4C 56 4C ] @ 0x00
#pragma history
#pragma 0.3 2024-05-15 Added support for version 0.95
#pragma 0.2 2023-10-29 Added support for version 0.94c

View File

@@ -1,6 +1,6 @@
#pragma author zhoubo
#pragma description AAC ADTSn (Audio Data Transport Stream) Audio
#pragma magic [ FF F? ] @ 0x00
#pragma MIME audio/x-hx-aac-adts
#pragma pattern_limit 0xFFFFFF
// History

View File

@@ -1,6 +1,10 @@
#pragma author WerWolv
#pragma description Nintendo Switch Atmosphère CFW Fatal Error log
#pramga magic [ 41 46 45 30 ] @ 0x00
#pramga magic [ 41 46 45 31 ] @ 0x00
#pramga magic [ 41 46 45 32 ] @ 0x00
#pragma endian little
import std.io;

View File

@@ -1,5 +1,6 @@
#pragma author Shadlock0133 (aka Aurora) / WerWolv
#pragma description Prusa Binary G-Code
#pragma magic [ 47 43 44 45 ] @ 0x00
import type.magic;
import std.mem;

View File

@@ -1,4 +1,5 @@
#pragma description Apple binary property list
#pragma MIME application/x-bplist
import std.math;
import std.core;

View File

@@ -1,29 +1,29 @@
#pragma description Compact Disc Audio track
#pragma magic [ 52 49 46 46 ] @ 0x00
struct Header {
u32 RIFF;
s32 size;
u32 CDDA;
u32 fmt;
u32 lenghtofthechunck;
u16 versionofcdformat;
u16 numberofrange;
u32 identifier;
u32 RIFF;
s32 size;
u32 CDDA;
u32 fmt;
u32 lenghtofthechunck;
u16 versionofcdformat;
u16 numberofrange;
u32 identifier;
};
struct DataInfo {
u32 range;
u32 duration;
u8 rangepositionframes;
u8 rangepositionseconds;
u8 rangepositionminutes;
u8 nullbyte;
u8 durationtrackframes;
u8 durationtrackseconds;
u8 durationtrackminutes;
u8 nullbytee;
u32 range;
u32 duration;
u8 rangepositionframes;
u8 rangepositionseconds;
u8 rangepositionminutes;
u8 nullbyte;
u8 durationtrackframes;
u8 durationtrackseconds;
u8 durationtrackminutes;
u8 nullbytee;
};

View File

@@ -1,5 +1,6 @@
#pragma author WerWolv
#pragma description Windows HtmlHelp Data (ITSF / CHM)
#pragma MIME application/vnd.ms-htmlhelp
import type.magic;
import type.size;

View File

@@ -1,4 +1,5 @@
#pragma description Dalvik EXecutable
#pragma magic [ 64 65 78 0A ?? ?? ?? 00 ]
import type.leb128;

View File

@@ -1,4 +1,5 @@
#pragma description Apple Disk Image Trailer (DMG)
#pragma magic [ 6B 6F 6C 79 ] @ -512
#pragma endian big

View File

@@ -1,4 +1,4 @@
#pragma magic [50 41 47 45] // PAGE
#pragma magic [ 50 41 47 45 ] @ 0x00 // PAGE
#pragma author "5h4rrK"
#pragma description "KERNEL DUMP"
@@ -99,4 +99,4 @@ struct DUMP_HEADER64 {
};
DUMP_HEADER64 dmp @0x00 [[name("DumpHeader")]];
DUMP_HEADER64 dmp @ 0x00 [[name("DumpHeader")]];

View File

@@ -1,4 +1,5 @@
#pragma description macOS .DS_Store
#pragma magic [ 42 75 64 31 ] @ 0x04
// Apple macOS .DS_Store format
#pragma endian big

View File

@@ -1,6 +1,8 @@
#pragma description Digital Terrain Elevation Data
#pragma endian big
#pragma magic [ 4C 48 55 ] @ 0x00
import std.core;
import std.io;
import std.mem;

View File

@@ -1,5 +1,5 @@
#pragma description MS Windows Vista Event Log
#pragma MIME application/x-ms-evtx
#pragma endian little
struct Header {

View File

@@ -1,5 +1,6 @@
#pragma author WerWolv
#pragma description Flat Linux Device Tree blob
#pragma magic [ D0 0D FE ED ] @ 0x00
#pragma endian big

View File

@@ -1,5 +1,6 @@
#pragma author WerWolv
#pragma description Free Lossless Audio Codec, FLAC Audio Format
#pragma MIME audio/flac
import std.sys;
import std.core;

View File

@@ -1,5 +1,6 @@
#pragma author WerWolv
#pragma description Drive File System
#pragma MIME application/x-ima
import std.io;
import std.core;

View File

@@ -1,5 +1,6 @@
#pragma author Surasia
#pragma description Halo Infinite HavokScript 5.1 "luas"
#pragma magic [ 75 63 73 68 ] @ 0x00
import std.io;
import std.mem;

View File

@@ -1,7 +1,8 @@
#pragma author Surasia
#pragma description Halo Infinite Module
#pragma array_limit 4294967295
#pragma pattern_limit 4294967295
#pragma array_limit 0
#pragma pattern_limit 0
#pragma magic [ 6D 6F 68 64 ] @ 0x00
import std.string;

View File

@@ -1,5 +1,6 @@
#pragma author Surasia
#pragma description Halo Infinite Tag
#pragma magic [ 75 63 73 68 ] @ 0x00
import std.string;
import type.guid;

View File

@@ -2,9 +2,11 @@
#pragma author xtex
#pragma description HiSilicon HSDT device-tree table
#pragma endian little
#pragma magic [ 48 53 44 54 ] @ 0x00
import std.sys;
import std.mem;
#pragma endian little
u32 dt_hdr_offset;
if (std::mem::read_unsigned(4096, 4, std::mem::Endian::Little) == 0x54445348) {

View File

@@ -7,6 +7,7 @@
* values
*/
#pragma endian big
#pragma MIME text/x-hex
import std.mem;

View File

@@ -1,5 +1,6 @@
#pragma author gmestanley
#pragma description IPS (International Patching System)
#pragma magic [ 50 41 54 43 48 ] @ 0x00
#pragma endian big

View File

@@ -1,4 +1,5 @@
#pragma description ISO 9660 file system
#pragma MIME application/x-iso9660-image
#pragma endian little

View File

@@ -2,8 +2,8 @@
#pragma description Minecraft LCE LOC file
#pragma endian big
#pragma array_limit 739845729834
#pragma pattern_limit 34893726894
#pragma array_limit 0
#pragma pattern_limit 0
import std.string;

View File

@@ -1,4 +1,5 @@
#pragma description Lua 5.1 bytecode
#pragma magic [ 1B 4C 75 61 51 ] @ 0x00
import std.io;

View File

@@ -1,4 +1,5 @@
#pragma description Lua 5.2 bytecode
#pragma magic [ 1B 4C 75 61 52 ] @ 0x00
import std.io;
import std.mem;

View File

@@ -1,4 +1,5 @@
#pragma description Lua 5.3 bytecode
#pragma magic [ 1B 4C 75 61 53 ] @ 0x00
import std.io;
import type.base;

View File

@@ -1,4 +1,5 @@
#pragma description Lua 5.4 bytecode
#pragma magic [ 1B 4C 75 61 54 ] @ 0x00
import std.io;
import std.mem;

View File

@@ -3,8 +3,8 @@
import std.sys;
import std.mem;
#pragma array_limit 12544
#pragma pattern_limit 2000000
#pragma array_limit 0
#pragma pattern_limit 0
#pragma eval_depth 32
enum FileType : u8

View File

@@ -2,8 +2,8 @@
#pragma description MSSCMP (Miles Sound System Compressed Archive)
#pragma magic [ 42 41 4E 4B ] @ 0x00
#pragma magic [ 4B 4E 41 42 ] @ 0x00
#pragma array_limit 4294967295
#pragma pattern_limit 4294967295
#pragma array_limit 0
#pragma pattern_limit 0
import type.magic;
import std.core;

View File

@@ -1,4 +1,5 @@
#pragma description Microsoft DOS NE executable
#pragma MIME application/x-ms-ne-executable
import std.mem;

View File

@@ -1,5 +1,6 @@
#pragma author gmestanley
#pragma description Nintendo Entertainment System ROM (.nes)
#pragma MIME application/x-nes-rom
import std.mem;
import std.string;

View File

@@ -1,5 +1,6 @@
#pragma author sethhall
#pragma description Windows Notepad Cache Files
#pragma magic [ 4E 50 00 ] @ 0x00
// This was written based on the following blog post:
// https://u0041.co/posts/articals/exploring-windows-artifacts-notepad-files/

View File

@@ -1,5 +1,6 @@
#pragma author ogmini https://github.com/ogmini
#pragma description Windows 11 Notepad Window State file
#pragma magic [ 4E 50 ] @ 0x00
// File found at %localappdata%/Packages/Microsoft.WindowsNotepad_8wekyb3d8bbwe/LocalState/WindowState
#include <std/string.pat>

View File

@@ -1,5 +1,6 @@
#pragma author WerWolv
#pragma description Nintendo Switch NRO
#pragma magic [ 4E 52 4F 30 ] @ 0x10
import std.io;
import std.sys;

View File

@@ -8,6 +8,7 @@
#pragma author Nicolás Alvarez
#pragma description Apple pbz
#pragma magic [ 70 62 7A ] @ 0x00
import std.mem;
import type.magic;

View File

@@ -1,5 +1,6 @@
#pragma author WerWolv
#pragma description Nintendo Switch PFS0 archive (.nsp)
#pragma magic [ 50 46 53 30 ] @ 0x00
import type.magic;
import type.size;

View File

@@ -1,6 +1,7 @@
#pragma author applecuckoo
#pragma description PKM (PacKMan) files containing ETC (Ericsson Texture Compression)
#pragma endian big
#pragma magic [ 50 4B 4D 20 ] @ 0x00
enum PKMFormat : u16 {
ETC1_RGB_NO_MIPMAPS,

View File

@@ -1,5 +1,6 @@
#pragma author WerWolv
#pragma description Nintendo Switch PRODINFO
#pragma magic [ 43 41 4C 30 ] @ 0x00
enum Model : u16 {
NX = 1

View File

@@ -3,6 +3,7 @@
#pragma endian little
#pragma description Password Safe V3
#pragma magic [ 50 57 53 33 ] @ 0x00
import std.mem;
import std.sys;

View File

@@ -1,4 +1,5 @@
#pragma description Python bytecode
#pragma MIME application/x-bytecode.python
import type.time;
import std.mem;

View File

@@ -2,9 +2,11 @@
#pragma author Ange Albertini
import std.sys;
#pragma pattern_limit 13107200
#pragma array_limit 13107200
#pragma pattern_limit 0
#pragma array_limit 0
#pragma endian little
#pragma magic [ 8C FF 7C F9 ] @ 0x00
#pragma magic [ 8D FF 7C F9 ] @ 0x00
u32 version;
u32 symbols_count;

View File

@@ -4,6 +4,7 @@
// Extension: PP
// https://github.com/SELinuxProject/selinux/blob/master/libsepol/src/module.c
#pragma magic [ 8F FF 7C F9 ] @ 0x00
#pragma endian little
import std.sys;

View File

@@ -1,5 +1,6 @@
#pragma author Calcoph
#pragma description ESRI shapefile
#pragma magic [ 00 00 27 0A ] @ 0x00
// Spec:
// https://www.esri.com/content/dam/esrisites/sitecore-archive/Files/Pdfs/library/whitepapers/pdfs/shapefile.pdf

View File

@@ -1,5 +1,6 @@
#pragma author Calcoph
#pragma description ESRI shapefile indices
#pragma magic [ 00 00 27 0A ] @ 0x00
// Spec:
// https://www.esri.com/content/dam/esrisites/sitecore-archive/Files/Pdfs/library/whitepapers/pdfs/shapefile.pdf

View File

@@ -1,6 +1,6 @@
#pragma description SUP Bluray Subtitle
#pragma magic [50 47] @ 0x00
#pragma magic [ 50 47 ] @ 0x00
#pragma endian big
import std.mem;

View File

@@ -1,8 +1,9 @@
#pragma author saturnaliam
#pragma description Shockwave Flash Movie (SWF)
#pragma endian little
import type.magic;
#pragma MIME application/x-shockwave-flash
import type.magic;
// RECTs are more complicated, but for the header,
// this works fine.

View File

@@ -1,6 +1,7 @@
#pragma description Ubiquiti Firmware (update) image
#pragma endian big
#pragma magic [ 55 42 4E 54 ] @ 0x00
import std.mem;
import std.sys;

View File

@@ -1,4 +1,5 @@
#pragma description Android VBMeta image
#pragma magic [ 41 56 42 30 ] @ 0x00
#pragma endian big
import std.core;

View File

@@ -1,5 +1,6 @@
#pragma author bake
#pragma description veadotube mini avatar file
#pragma description Veadotube Mini Avatar File
#pragma magic [ 56 45 41 44 4F 54 55 42 45 ] @ 0x00
import std.mem;
import std.io;

View File

@@ -1,5 +1,6 @@
#pragma author WerWolv
#pragma description DOOM WAD Archive
#pragma magic [ 50 57 41 44 ] @ 0x00
import type.magic;
import type.size;

View File

@@ -1,5 +1,6 @@
#pragma author WerWolv
#pragma description Nintendo Switch XCI cartridge ROM
#pragma magic [ 48 46 53 30 ] @ 0x00
import std.core;

View File

@@ -1,5 +1,6 @@
#pragma endian little
#pragma description Xilinx Zynq UltraScale+ Boot Image
#pragma MIME application/x-xilinx-boot-zynqmp
#pragma magic [ 58 4E 4C 58 ] @ 0x24
// Spec: Xilinx UG1283 https://docs.xilinx.com/r/en-US/ug1283-bootgen-user-guide/Zynq-UltraScale-MPSoC-Boot-and-Configuration