Matt Nadareski
4e0ffcb3c8
Return nothing and be happy
2025-08-27 13:04:01 -04:00
Matt Nadareski
a93a46d6c0
Start fixing PKZIP deserializing
...
This does a forward-reading approach on the archive instead of the "proper" way of reading from the end. This change introduces potential issues, as both "deleted" entries and normal ones will be included. It also makes it more difficult to determine if the archive is ZIP64 or not. But it is far more stable than the read-from-the-end approach of the old code.
2025-08-27 12:54:36 -04:00
Matt Nadareski
e163302522
Add part-finding helpers and tests
2025-08-26 21:14:25 -04:00
Matt Nadareski
838afc35c3
Order of operations
2025-08-26 06:52:47 -04:00
Matt Nadareski
3a62bfab57
Fix copy-paste
2025-08-26 06:45:21 -04:00
Matt Nadareski
560b3a246c
Use file part count, not partial files
2025-08-26 06:41:01 -04:00
Matt Nadareski
4360916750
Handle archive parts
2025-08-25 22:20:24 -04:00
Matt Nadareski
3f31edc1c0
Fix return comments
2025-08-25 21:02:08 -04:00
Matt Nadareski
bd874d436b
Slight renaming to be more accurate
2025-08-25 21:01:20 -04:00
Matt Nadareski
fbc47425f4
Use using to use usings
2025-08-25 20:57:35 -04:00
Matt Nadareski
c9df6ff059
Rename to be consistent
2025-08-25 20:53:25 -04:00
Matt Nadareski
ef6ff85e96
Port more PE extraction
2025-08-25 20:51:35 -04:00
Matt Nadareski
bb93792f57
Remove restriction from RAR
2025-08-25 13:25:07 -04:00
Matt Nadareski
1f7ab4fccb
Simpler completeness checks
2025-08-25 13:23:49 -04:00
Matt Nadareski
2535e82618
Maybe fix multipart 7z, RAR, and PKZIP archives
2025-08-25 13:19:28 -04:00
Matt Nadareski
66d80c8523
Add basic PE extraction
2025-08-25 13:06:22 -04:00
Matt Nadareski
834a17fe82
Add region note
2025-08-25 12:50:16 -04:00
Matt Nadareski
ea85167e06
Upstream changes to string reading until IO updated
2025-08-25 12:45:45 -04:00
Matt Nadareski
e007a06dda
Allow direct data source access
2025-08-23 21:31:13 -04:00
Matt Nadareski
02f9e1e935
Temporarily downstream class from IO
2025-08-23 21:29:22 -04:00
Matt Nadareski
21b7d431a7
More concise naming
2025-08-23 13:38:19 -04:00
Matt Nadareski
307b932f87
A couple more clarifications
2025-08-23 13:37:39 -04:00
Matt Nadareski
6983d1cd3c
This can't be null anymore
2025-08-23 13:36:59 -04:00
Matt Nadareski
a193c9bb3c
Remove unnecessary comment
2025-08-23 13:23:44 -04:00
Matt Nadareski
aa67c7ad6d
Rename to be simpler
2025-08-23 13:19:26 -04:00
Matt Nadareski
70fc686249
DataSource is a Stream type now
2025-08-23 13:18:46 -04:00
Matt Nadareski
c87a456a46
Move things to base classes
2025-08-23 12:58:09 -04:00
Matt Nadareski
456bb1e95b
Intermediary step for extractable shells
2025-08-23 12:23:44 -04:00
Matt Nadareski
b0b334103d
Implement shell wrappers for extractable types without a current model
2025-08-23 11:55:54 -04:00
Matt Nadareski
78851e3b57
Pass through data source property, make private
2025-08-20 08:11:48 -04:00
Matt Nadareski
850a883e14
Methods to properties
2025-08-20 08:08:53 -04:00
Matt Nadareski
6e0ced5ffe
One more GetEndOffset removal
2025-08-20 08:04:01 -04:00
Matt Nadareski
64cd8febaa
This doesn't need private set
2025-08-20 08:00:45 -04:00
Matt Nadareski
6fbe1cffaa
GetEndOffset really shouldn't be used
2025-08-20 07:54:52 -04:00
Matt Nadareski
601e781ef9
Data source shennanigans
2025-08-19 22:01:10 -04:00
Matt Nadareski
d26ad35573
Create a new DataSource helper class
2025-08-19 20:49:47 -04:00
Matt Nadareski
b70c510734
Be consistent with model
2025-08-19 20:25:56 -04:00
Matt Nadareski
29a7158488
Clarify that Matching is being used
2025-08-19 15:30:23 -04:00
Matt Nadareski
1227ca020a
Fix CreateExecutableWrapper
2025-08-19 09:18:50 -04:00
Matt Nadareski
cd7e6ff98d
Fix some logic bugs due to offsets
2025-08-19 09:09:33 -04:00
Matt Nadareski
510a0f77f6
Stop reinventing the wheel
2025-08-19 07:43:21 -04:00
Matt Nadareski
6d1dabb1db
Handle only cases where long mattered
2025-08-19 07:41:29 -04:00
Matt Nadareski
2e337891da
Fix logic bug with end of file check
2025-08-19 07:36:33 -04:00
Matt Nadareski
d49e18a83e
Replace _byteArrayOffset with _initialPosition
2025-08-19 07:34:51 -04:00
Matt Nadareski
c14560ec18
Add initial position to wrapper, currently unused
2025-08-19 07:29:59 -04:00
Matt Nadareski
e3e31cd9f2
Separate files
2025-08-19 07:27:39 -04:00
Matt Nadareski
adf9627045
Stricter with COFF tables
2025-08-17 15:25:25 -04:00
Matt Nadareski
c7b03c7765
This should be a file offset
2025-08-17 15:20:51 -04:00
Matt Nadareski
b5f83215d5
Don't exit parsing unnecessarily
2025-08-17 15:04:38 -04:00
Matt Nadareski
96e3fc5533
Cleanups to PE deserialization
2025-08-17 14:53:03 -04:00