Steamless
Steamless copied to clipboard
Calculated checksum is invalid
On "Recalculate file checksum" selected -> unpacked exe checksum is invalid. On every file unpacked, tested. For example, CFF Explorer option Update checksum on such Steamless unpacked file will generate correct checksum, different from what Steamless generates.
Small suggestion , when "Recalculate file checksum" option is not selected Steamless will overwrite checksum with zeroes (not existent)...this is correct way but if possible, it would be better to enable "third" option (grayed checkbox maybe?), that leaves checksum bytes untouched/unmodified, as it was in 3.0.0.12 version.
Also, why there is still garbage zeroes 00 appended at file end when unpacking with "Keep bind section" and "Don't Realign Sections"? File size should be the same as in original but all Steamless versions adds padding 00 bytes so unpacked file size is unnecessary altered.
Steamless' original goal was simply to unpack files enough to allow for static analysis. Making things runnable wasn't my priority before when I wrote the first versions of Steamless. That said, over time the unpackers have evolved into ensuring things are either as close to runnable as possible or will run as-is after being unpacked. However, due to the way some things were originally designed, there are some bugs still in the unpackers.
Things like extra bytes/data after decryption and such are a known issue and will be dealt with later on. The checksum may be incorrect due to those bugs, but the algorithm being used is directly from Microsoft and how they explain it is calculated.
On "Recalculate file checksum" selected -> unpacked exe checksum is invalid. On every file unpacked, tested. For example, CFF Explorer option Update checksum on such Steamless unpacked file will generate correct checksum, different from what Steamless generates.
Had some time tonight to check this out. I can't recreate this issue. Using CEF's Recalculate Checksum
feature, I am seeing the same checksum being generated as Steamless. If I force the checksum to 0, then have CEF recalculate it as well, it also still generates the same as Steamless. (Which is correct as the Checksum bytes are ignored when it is calculated.)
If there is a specific file you are seeing this issue with, or multiple files, can you upload them somewhere and I can take a look.
Small suggestion , when "Recalculate file checksum" option is not selected Steamless will overwrite checksum with zeroes (not existent)...this is correct way but if possible, it would be better to enable "third" option (grayed checkbox maybe?), that leaves checksum bytes untouched/unmodified, as it was in 3.0.0.12 version.
I'll keep this in mind for the next major update(s) to add this back as some games may have checks for the checksum.
Are you certain you are using the latest version of Steamless? The files in that zip look to be incorrectly handled in various parts such as the section realignments and such. Which was something that was fixed in a more recent update of Steamless. Using the latest release I published, the resulting unpacked file does not match yours, even if I match the same options you used.
As for the calculation handling, it is not tied to any system information or similar. It's strictly only done using the file data itself.