Commit Graph

120 Commits

Author SHA1 Message Date
AdventureT
e21063d58b patterns: Added Crash Bandicoot - Back in time level format (#110)
* Added Crash Bandicoot - Back in time level format

* Update README.md

* Fix README.md
2023-04-25 21:44:02 +02:00
Nik
b9af43e08b patterns: Fixed WAV MIME type in readme 2023-04-16 21:37:40 +02:00
Nik
2ffa4e0161 patterns/wav: Fixed MIME type 2023-04-06 12:33:46 +02:00
Zaggy1024
1cd7f92a5d patterns/includes: Update standard library and patterns to support the new bitfields (#102)
* Add `current_bit_offset()` and `read_bits(...)` to `std::mem`

* Replace deprecated BitfieldOrder enum values with new clearer names

This adds new options named `MostToLeastSignificant` and `LeastToMostSignificant` to replace the old `LeftToRight` and `RightToLeft` names. These names should be much clearer about what they affect and how.

* Throw errors when `std::core::(get|set)_bitfield_order()` are called

* Update all patterns to work with the new bitfield behaviors
2023-04-01 11:16:54 +02:00
Nik
5f352e26d1 patterns/elf: Make displaying section names optional 2023-03-26 11:34:52 +02:00
Nik
3e2a6aabaa patterns/evtx: Fixed type name typo 2023-03-26 11:22:15 +02:00
Nik
56d6f0187f patterns/zstd: Fixed block_header_t bitfield 2023-03-26 11:09:26 +02:00
Vladimir
adf7256c39 patterns/bsp: Added GoldSrc engine maps file format (#101)
Co-authored-by: Nik <werwolv98@gmail.com>
2023-03-26 10:36:03 +02:00
dora
a25a8a3615 patterns/evtx: Added evtx pattern (#100)
* add evtx pattern

* fix Readme

* fix coding style

* space adjustment

* space adjustment
2023-03-26 10:34:45 +02:00
Morten Linderud
a31d290005 patterns/uefi: Added UEFI pattern (#8)
Added UEFI structs

Signed-off-by: Morten Linderud <morten@linderud.pw>
Co-authored-by: Nik <werwolv98@gmail.com>
2023-03-23 11:52:50 +01:00
Andrei Makeev
f3de35a320 patterns/elf: Make hex view less ambiguous (#92)
* ELF: make section/segment data arrays sealed

* ELF: set display names for section/segment data

* Added new functions to library

* Updated ELF pattern

---------

Co-authored-by: Nik <werwolv98@gmail.com>
2023-03-23 11:51:01 +01:00
Oded Shapira
d9de2f7058 patterns/lua54: Added new Lua 5.4 bytecode pattern (#80)
* Lua 5.4 pattern

* Fixed formatting, added file to readme

---------

Co-authored-by: Nik <werwolv98@gmail.com>
2023-03-23 09:06:24 +01:00
Jozef Izso
790f837e4f patterns/dsstore: Added .DS_Store pattern (#90)
* Initial format for Buddy Allocator structures in `.DS_Store` files

* Add list of entries for files in `.DS_Store`

* Add root block, offsets, toc and free lists structures

* Add parsing of block data

* Document `.DS_Store` pattern and add test file
2023-03-23 08:59:59 +01:00
Nicolás Alvarez
62a83b53aa patterns/pbz: Modernize code, renamed pattern to pbz (#98)
* Update pbz pattern

- Rename pbzx to pbz; turns out the 'x' is the compression type.
- Use type::Magic for the "pbz" magic number.
- Decode compression type as an enum.
- Mention compression_tool in the header comment.

* Rename pbzx.hexpat to pbz.hexpat
2023-03-23 08:57:33 +01:00
Takumi Sueda
53ea45ffa6 patterns/PCAP: Fixed formatting and added endianess support (#99)
* patterns/pcap: reformat

* patterns/pcap: endianness-aware parse / parse packets until EOF
2023-03-23 08:56:20 +01:00
Ahmet Bilal Can
2758ec8d36 patterns/dex: Added more information to display (#95)
Added string representations for:
- string ids
- field ids
- method ids
- class ids
- proto ids
2023-03-13 11:43:43 +01:00
WerWolv
82ca79c166 patterns/usb: Fixed duplicate variable declaration 2023-03-13 11:35:09 +01:00
Andrei Makeev
ab4bff9f42 patterns/elf: Treat SHT_SYMTAB as symbol tables (#91)
ELF files: support static symbol tables
2023-03-10 11:03:36 +01:00
cryptax
000f0eb730 patterns/dex: Adding Dalvik Executable pattern (#94)
* adding DEX file format

* adding map list
2023-03-10 11:03:07 +01:00
qux-bbb
2d45d5d086 patterns/pe: Removed unnecessary offset (#87)
Remove unnecessary offsets
2023-02-22 21:05:13 +01:00
Nik
e635c3a5bf patterns/stl: Added 3D model visualization 2023-02-20 11:35:15 +01:00
Justus Garbe
3786f7e265 patterns/gif: Improved gif format using more explicit formating styles (#84)
* Improved gif format using more explicit formating styles

* Set mime type

* Move content type formatting to struct value
2023-02-15 09:40:09 +01:00
Nik
b93e957e46 patterns/jpeg: Removed hex::visualize attribute until it's supported by ImHex 2023-02-09 11:49:43 +01:00
Lenni0451
41d801a114 patterns/nbt: Added missing int array and long array tag (#79) 2023-02-03 21:55:52 +01:00
Nik
25f73ca721 patterns/afe2: Fixed missing include 2023-01-30 16:37:55 +01:00
Nik
facbe59163 patterns/jpeg: Added JPEG pattern 2023-01-29 00:15:56 +01:00
Nik
55023ce4ea patterns/tga: Make pattern compatible with new version 2023-01-22 12:24:14 +01:00
Hank Donnay
32158edb3a patterns/tar: Support PAX archives (#77)
There are two common magic values for archives: the [GNU one](https://git.savannah.gnu.org/cgit/tar.git/tree/src/tar.h#n160) (8 bytes) and the [ustar one](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13_06) (6 bytes).

This change has the pattern support both.
2023-01-17 22:51:11 +01:00
Pascal
d4045b76c3 patterns/pif: Add PIF image pattern (#76)
* Added PIF pattern

* tests/patterns: Added test file for pif pattern

* Added pif pattern to list

* Delete pif.hexpat.pif

* patterns: Added pif image format pattern
2023-01-16 12:07:11 +01:00
Martin Gerhardy
8ab2ff4ab1 patterns: Added a few voxel model patterns (#74)
* patterns: added a few voxel model patterns

* patterns: updated qbcl

according to https://gist.github.com/tostc/7f049207a2e5a7ccb714499702b5e2fd

* readme: added new voxel format petterns to the readme

* tests: added vxl test file

* ccvxl: updated two fields
2023-01-13 20:19:06 +01:00
Nik
5ea7141cb7 patterns: Added Xbox executable (XBEH) pattern 2023-01-12 11:35:47 +01:00
Max1Truc
0748fa135e patterns/qoi: Fixed bitfields order being wrong (#72) 2023-01-10 09:15:08 +01:00
Max1Truc
a4a14309be patterns/qoi: Added QOI pattern (#71)
For more information on QOI: https://qoiformat.org/
2023-01-09 07:29:33 +01:00
Nik
7c179b3b41 git: Added note for application/octet-stream MIME type to PR template 2023-01-08 16:19:38 +01:00
Daniel Stinson-Diess
c204696209 patterns/dmg: Added DMG pattern (#70) 2023-01-08 16:11:57 +01:00
Nik
f53be98204 patterns/chm: Added Windows HtmlHelp file pattern 2023-01-03 12:11:56 +01:00
Nik
ee95990225 patterns/macho: Added Mach-O pattern 2023-01-02 13:15:51 +01:00
Nik
ac28d9d029 patterns/coff: Added COFF pattern 2023-01-01 23:51:12 +01:00
123456abcdef
73cde21254 patterns/zstd: Added ZSTD pattern (#68) 2022-12-30 22:05:21 +01:00
Minei3oat
f730d8b0cc patterns/gif: Added GIF pattern (#67)
patterns/gif: Added GIF pattern
2022-12-28 10:47:11 +01:00
Nik
5eda5a15bf patterns: Added XCI and WAD pattern 2022-12-27 10:35:07 +01:00
Nik
8e6248aa2d patterns: Added PCX, GZip and PFS0 pattern 2022-12-27 00:56:24 +01:00
Nik
5a3036149c patterns/nbt: Added NBT pattern 2022-12-21 19:57:04 +01:00
Nik
b160e99b63 patterns/sit5: Added StuffItV5 archive pattern 2022-12-21 11:27:58 +01:00
Nik
71ee41fe2c patterns/fdt: Added flat device tree blob pattern 2022-12-20 17:14:23 +01:00
Nik
69feadfc09 patterns/cpio: Added new CPIO pattern 2022-12-20 16:08:10 +01:00
Nicolás Alvarez
8f39ecd879 patterns: Added pattern file for Apple PBZX compressed streams (#63)
This is used by Apple for Xcode .xip files (cpio in pbzx in xar), OTA
updates of iOS, and other files.
2022-12-18 00:36:41 +01:00
João Oliveira
ba36826e2d patterns: Added Tar Pattern (#64)
* patterns: add tar support

* readme: add tar entry

* patterns: update tar file

Co-authored-by: favaioos <120850826+favaioos@users.noreply.github.com>
2022-12-18 00:36:16 +01:00
gmestanley
9887da7af5 patterns/ne: Adding pattern file for NE executables (#58)
* Update pe.hexpat

Implementing a number of things and fixing others

* Update pe.hexpat

Adding the readonlyData pattern

* Update pe.hexpat

Testing putting the number of tabs on Github to 4 instead of 8 (so that comments on the code for the Sections don't break)

* Update pe.hexpat

Reverting change that turned out to be needless

* Update pe.hexpat

Actually sending the `products[while($ != richHeaderEndPosition)]` to `products[while($ < richHeaderEndPosition)]` change

* Add files via upload

Adding NE test file

* Add files via upload

Adding NE pattern file

* Update ne.hexpat

Fixing the error with the entry table assignment

* Update README.md

Added the NE pattern file to the list of patterns
2022-11-19 19:25:02 +01:00
Nicolás Alvarez
01a1bd0d9f patterns/zip: Change how the end of central directory record is found (#60)
Previously, the zip pattern was searching for the end-of-central-directory
header signature (50 4B 05 06) by searching the entire file for it. This is
*very* slow for large files, and risks false positives since those bytes
could randomly appear in compressed data. I had this happen on the first
large (>2GB) zip file I tried.

I'm now checking for the EOCD signature at exactly 22 bytes from the end of
the file (in the common case there is no zip comment), and if that fails
I search for it in the last 64KB of the file (in case there *is* a comment
at the end of the EOCD, which can't be larger than 64KB). This is much
faster, and fixes loading my zip file where it was spuriously finding the
signature in the wrong place.

This still has a low risk of false positives (what if the comment has the
50 4B 05 06 bytes? what if there is a short comment but the signature
appears in the last 64KB of compressed data?), but I don't know what's the
"right" way to find the EOCD, or how proper zip-reading tools handle the
ambiguity...
2022-11-19 18:05:26 +01:00