1
0
Fork 0
mirror of https://github.com/atom0s/Steamless.git synced 2024-12-28 23:37:41 +01:00
Commit graph

26 commits

Author SHA1 Message Date
atom0s
a571eeb560
Bumped the version information for affected binaries. 2024-03-29 22:05:38 -07:00
atom0s
c58518a65f
API: Changed the AES buffer size from 2048 to 16 to correct block size alignment issues. 2024-03-29 22:01:56 -07:00
atom0s
0fd49fe42c
Update copyright year to 2023. 2023-05-28 02:14:43 -07:00
atom0s
4c3c6e757c
API: (PE32) Adjusted 'Parse' method to exit early if the DOS stub is invalid. (Avoids attempting to read an invalid NT header block.)
API: (PE64) Adjusted 'Parse' method to exit early if the DOS stub is invalid. (Avoids attempting to read an invalid NT header block.)
2023-05-28 02:07:05 -07:00
atom0s
7f92aded2c
API: (PE32) Changed IMAGE_DOS_HEADER structure field 'Signature' to be a full type (ushort) instead of an array.
API: (PE64) Changed IMAGE_DOS_HEADER structure field 'Signature' to be a full type (ushort) instead of an array.
API: (PE32) Changed IMAGE_NT_HEADERS structure field 'Signature' to be a full type (uint) instead of an array.
API: (PE64) Changed IMAGE_NT_HEADERS structure field 'Signature' to be a full type (uint) instead of an array.
API: (PE32) Fixed IMAGE_DOS_HEADER helper property 'IsValid' to use the standard 'IMAGE_DOS_SIGNATURE' value.
API: (PE64) Fixed IMAGE_NT_HEADERS helper property 'IsValid' to use the standard 'IMAGE_NT_SIGNATURE' value.
2023-05-28 01:48:40 -07:00
atom0s
411f4f711c
PE32: Replace manual PE checksum calculations with Win32 API call instead.
PE64: Replace manual PE checksum calculations with Win32 API call instead.

I was trying to avoid using Win32 API calls in this project for the most part, however, this calculation has multiple conditions that can alter its result. Steamless was only producing proper checksums about 40% of the time as a result of this. Instead, the project will now use the system API call 'MapFileAndCheckSum' to calculate the checksum properly.
2022-09-23 15:58:12 -07:00
atom0s
51be8ca795
API: Add import for MapFileAndCheckSum. 2022-09-23 15:54:19 -07:00
atom0s
540b4b067f
API: PE64 - Add new functionality to Pe64Helpers to recalculate a PE file checksum.
Unpackers: (x64) Ensure all unpacked files default to a checksum of 0.
Unpackers: (x64) Add support for new RecalculateFileChecksum setting.
2022-03-26 02:38:35 -07:00
atom0s
7cb8eaf613
Core: Fix typo with new ZeroDosStubData option checkbox using wrong field bool.
API: Add new option RecalculateFileChecksum to allow unpacked files to have their PE checksum recalculated.
API: PE32 - Add new functionality to Pe32Helpers to recalculate a PE file checksum.
Unpackers: (x86) Add support for new RecalculateFileChecksum setting.

64bit handling to be added soon.
2022-03-26 02:23:03 -07:00
atom0s
12c312b4db
API: Add new option to zero the DOS stub data when unpacking.
Core: Add UI option to enable/disable the new zero DOS stub data option.
Unpackers: Add support for new zero DOS stub data option.
API: `DontRealignSections` and `ZeroDosStubData` are now default enabled as this is the general 'correct' way to handle most files. (Some files do require the section alignment to happen and some files may use the DOS stub for self-validation and such. Adjust accordingly when using Steamless.)
2022-03-25 20:09:21 -07:00
atom0s
39ad5a2631
Update project information copyrights. 2022-03-25 18:53:29 -07:00
atom0s
9c16bcc8a5
API: PE32 Adjusted FindPattern to return a long instead of uint. Default return is now -1.
API: PE36 Adjusted FindPattern to return a long instead of uint. Default return is now -1.
Unpackers: Updated all usages of FindPattern to reflect new API change.
2022-03-25 18:49:50 -07:00
atom0s
0ad40aeabd
API: PE32 - Fix SizeOfImage alignment.
API: PE64 - Fix SizeOfImage alignment.
Unpacker: v20.x86 - Fix SizeOfImage alignment.
Unpacker: v21.x86 - Fix SizeOfImage alignment.
Unpacker: v30.x64 - Fix incorrect TlsOepRva being stored and used.
Unpacker: v30.x64 - Fix incorrect TlsOepRva calculations when reading payload and SteamDRMP.dll.
Unpacker: v31.x64 - Fix incorrect TlsOepRva being stored and used.
Unpacker: v31.x64 - Fix incorrect TlsOepRva calculations when reading payload and SteamDRMP.dll.
2022-03-24 00:58:32 -07:00
atom0s
079a086129
API: Add new option to allow disabling of section realignment.
Core: Add support for new disable section realignment option.
Unpacker: v20.x86 - Add support for new disable section realignment option.
Unpacker: v21.x86 - Add support for new disable section realignment option.
Unpacker: v30.x86 - Add support for new disable section realignment option.
Unpacker: v30.x64 - Add support for new disable section realignment option.
Unpacker: v31.x86 - Add support for new disable section realignment option.
Unpacker: v31.x64 - Add support for new disable section realignment option.
2022-03-23 00:26:02 -07:00
atom0s
f83d140ebf
API: Add ToString overrides to the section entries to allow easier debugging.
Unpacker: v31.x64 - Remove code section size check. (Some virtualized files will have an empty code section.)
Unpacker: v31.x64 - Allow empty code section files to still unpack by skipping decryption step.
2022-03-22 14:44:49 -07:00
atom0s
5b02106fca
Bump version numbers. 2022-03-22 03:47:51 -07:00
atom0s
d3423cde0e
API: PE64 - Add check for TlsDirectory.AddressOfCallBacks == 0 to prevent attempting to reference invalid data.
Unpacker: v31.x64 - Adjust size of data searched when determining the variant version. Fixes #56
Misc: Update project copyrights.
Misc: Remove some unused/dead code from the UI.
2022-03-22 03:46:48 -07:00
atom0s
869b893ac3
Update more copyrights to 2020.
Update Paypal links to use newer Paypal.me format.
Fix issue with structure size casting that can cause an exception when trying to read a stub header structure.
Fix typo's on some spelling.
2020-12-17 23:10:04 -08:00
atom0s
676c863b08 Updated copyright date ranges.
Fixed issue with memory errors due to incorrect structure mapping handling.
2020-08-17 01:52:21 -07:00
atom0s
e90195a0ec Merge branch 'master' of https://github.com/atom0s/Steamless 2019-05-28 19:11:43 -07:00
atom0s
5a10c527e2 Fixed a small bug with TLS callback parsing in the 64bit PE parser.
Added TLS callback support for the 3.0 64bit unpacker.
2019-05-28 19:11:29 -07:00
atom0s
9765d3e5b3 More code cleanup. (Adjusted some properties and other data to newer C# standards.) 2019-03-30 01:34:22 -07:00
atom0s
e54c95bea3 Updated copyright date ranges to include 2019 across the project.
Added new UseExperimentalFeatures option.
Added new dynamic offset reader for v2 stub parser to better support more files. (experimental feature)
General code cleanup.
2019-03-30 01:23:48 -07:00
atom0s
168c75dc58 Bumped main executable version.
Updated all copyrights to include 2018.
2018-04-15 22:49:12 -07:00
atom0s
a7fa5bb337 Begin initial work on supporting 64bit files.
- Implements the base 64bit file handling / reading.
 - This is untested and more or just less ported from the 32bit files. May have issues, will resolve as we get there.
2017-01-16 20:00:34 -08:00
atom0s
b3c1fc6e24 Initial code commit. Steamless v3.0.0.1 code base. 2017-01-06 02:17:35 -08:00