* Add credit to ne.hexpat
* Add many changes to nes.hexpat
* Fixing dependance on variables declared in if statement
* Added mappers and inline to NES 2.0 header, removed needless parenthesises
* Add files via upload
* Add files via upload
* Create nsf.hexpat
* Used full name of the SNES on description
* Add SNES, NSF & NSFe, new description for NES
* Removing erroneous condition in ips.hexpat's truncatedSize
* Removing unnecessary std.string import in ips.hexpat
* Added both locations for sections in PE, clearer variable names, reorganized DOS stub
* Delete patterns/nsfe.hexpat
* Delete patterns/nsfmetadata.hexpat
* Added chunks from NSFe to NSF
* Added NSFe
* Fix size of truncatedSize in ips.hexpat
---------
Co-authored-by: Nik <werwolv98@gmail.com>
* patterns: Added PopCap's proprietary Lua bytecode pattern.
* updated README to include new pattern
* fixed README link
* patterns/popcap_luc.hexpat: fixed comments and sources
* patterns/popcap_luc.hexpat: Changed datatype of filename to be more clear about its structure
* patterns/popcap_luc.hexpat: fixed improper handling of Nil type and added test file
* Add credit to ne.hexpat
* Add many changes to nes.hexpat
* Fixing dependance on variables declared in if statement
---------
Co-authored-by: Nik <werwolv98@gmail.com>
* patterns/terminfo: Add pattern for compiled term info entry files.
This adds support for the compiled (legacy and extended) term info entry files that are used for determining terminal capabilities.
* Add .bin extension to the terminfo test file.
Apple Multi-Picture Format JPEGs often have 4 extra bytes in the APP0 section. The pattern now skips any extra bytes beyond the fixed APP0 data.
Co-authored-by: Nik <werwolv98@gmail.com>
* Add UEFI Firmare Volume Variable Store pattern
Add a pattern for UEFI Firmare Volume Variable store.
This file type is commonly used with virtual machine UEFI variable files,
like OVMF.fd used with QEMU. You could also extract a UEFI firmware binary
from a flash device, search for the FV Variable Store, and set this pattern
to the FV address.
Signed-off-by: Marc Jones <marcj303@gmail.com>
* Fixed description pragma
---------
Signed-off-by: Marc Jones <marcj303@gmail.com>
Co-authored-by: Nik <werwolv98@gmail.com>
* Commit patterns I've collected
- AppleSingle/AppleDouble pattern, used for macOS resource forks.
- MAME CHD file format, currently only supports v5.
- KEX Engine proprietary TARC format, used by various Nightdive games.
* Add to README
* patterns: Add support for smk
* patterns: Use builtin function and separate SMK struct
---------
Co-authored-by: paxcut <53811119+paxcut@users.noreply.github.com>
Mostly this enables attempted recursive parsing of submessages. Note
that it is inherently impossible to determine the underlying data type
for LengthDelimited for sure, so this is a best-effort attempt. The user
can disable recursive submessage parsing via Settings.
Other minor changes:
* added #pragma MIME and #pragma endian directives
* enabled UTF-8 display for LengthDelimited types
* added signed LEB128 display for Varint types (although this doesn't
seem to be working on my test case)
* swapped if/else-if structure for match
* fail upon receiving unknown or unsupported WireType
Co-authored-by: Nik <werwolv98@gmail.com>
* Fix bencode dictionary
When parsing a bencode dictionary, the end character 'e' was never
consumed. This caused a misinterpretation of the character as struct Value of
an unknown type 'e'.
* Fix bencode list
A list was not included in the Value's parsing logic so it may have
been mistakenly parsed as a string.
* Fix std::ctype::isprint not including space
The space character, 0x20, is considered as a printable character in ASCII
and in >=C89. Adding it to the range of std::ctype::isprint also fixes
other std::ctype functions that use it.
* Fix bencode byte string formatting
Byte strings do not render nicely in pattern data's value column if they
contain non-printable characters. This commit makes the value of byte
strings to be surrounded by quotation marks, and renders a warning text
without quotation marks if the byte string contains non-printable
characters.