Highlights
- Add new plugin to support unpacking SteamStub variant v1.0 (x86) files. (Beta until more files are found to test with.)
- Add new option to allow disabling of section realignment.
- Add support for handling files packed with TlsCallback overrides.
- Add new option to zero the DOS stub data when unpacking.
DontRealignSections
andZeroDosStubData
features are now default enabled.- Add new option RecalculateFileChecksum to allow unpacked files to have their PE checksum recalculated.
Full Changelog
- 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.
- 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.
- 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.
- 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.
- Unpacker: v30.x64 - Renamed header field
Unknown0003
toHasTlsCallback
. - Unpacker: v30.x64 - Add support for handling files packed with TlsCallback overrides.
- This feature is currently only supported in this variant for the time being. (Until other samples are provided that have a TlsCallback override for the other variants.)
- Notes on how this file type works can be found here: #20 (comment)
- 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.
- Begin variant v1.0 x86 plugin support.
- Update project information copyrights.
- Unpacker: v10.x86 - Finish implementing SteamStub variant v1.0 (x86) unpacker.
- 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
andZeroDosStubData
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.) - 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) Ensure all unpacked files default to a checksum of 0.
- Unpackers: (x86) Add support for new RecalculateFileChecksum setting.
- 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.
Other Changes
- Repository has been heavily cleaned up.
- Labels for issues/pull requests have been redone.
- All past issues/pulls have had their labels updated to reflect the new labeling setup.
- Most old pending issues are now resolved.