Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clive Barker's Jericho #85

Closed
UroshUchiha opened this issue Sep 21, 2022 · 6 comments
Closed

Clive Barker's Jericho #85

UroshUchiha opened this issue Sep 21, 2022 · 6 comments
Assignees
Labels
c: general Category: General c: plugin Category: Plugin p: high Priority: High s: fixed Status: Fixed t: bug Type: Bug t: question Type: Question

Comments

@UroshUchiha
Copy link

Steamless detects that the executable contains SteamStub Variant 2.0, but it fails to remove it.

@atom0s atom0s self-assigned this Sep 21, 2022
@atom0s atom0s added p: low Priority: Low s: invalid Status: Invalid t: question Type: Question c: general Category: General labels Sep 21, 2022
@atom0s
Copy link
Owner

atom0s commented Sep 21, 2022

Without a copy of the exe you are trying to unpack, I cannot investigate if this is an actual issue or not.

@UroshUchiha
Copy link
Author

Jericho.zip
Closed the issue by misclick. Here's the Jericho.exe in the attachment.

@atom0s atom0s reopened this Sep 22, 2022
@atom0s
Copy link
Owner

atom0s commented Sep 22, 2022

This issue should now be fixed in the latest release. https://github.com/atom0s/Steamless/releases/latest

@atom0s atom0s closed this as completed Sep 22, 2022
@UroshUchiha
Copy link
Author

The exe gets unpacked now, but ultimately it still doesn't work. The game doesn't load. No error message at all whatsoever.
I found an executable for this game that another member manually removed SteamStub and it works so I compared the two and the only real difference I can personally see (don't know a lot about these things as you so take it with a grain of salt) is the offset 00000140 and then the first three values. Steamless puts them to 00 10 00, but if I put them to 47 D8 27 and save the modifications the game boots up properly.

Provided in the attachment are the clean exe (unmodified), Steamless unpacked one and the one that has SteamStub removed and works. In case you want to compare.

Clive Barker Jericho.zip

@atom0s
Copy link
Owner

atom0s commented Sep 22, 2022

For now this issue will land up remaining a problem until I have the free time to rewrite parts of the v2.0 (x86) variant unpacker plugin. Since I only had 1 sample before this issue using that variant, the plugin I wrote for it is fairly specific to that one file. Your sample has shown that there are multiple versions of the variant and they [widely] change the stub header between versions.

The issue at hand right now is that the stub header is different between this file and the other sample I have. They changed things and shifted stuff around which makes the stub header incorrect for your file that Steamless contains atm. Going forward, the plugin will need to detect the size of the header and base its unpacking process on that vs. just seeing that its v2.0 and using a single header.

The difference you are seeing in those files is that the OEP is incorrect. This, again, is due to the stub headers being different. In your file, the OEP would be properly fixed by using the current ValidationHash value which is where its aligned to in the header. This isn't too big of an issue to fix by having Steamless detect the header sizes but at the moment I don't have time to work on Steamless more. I'll reopen this issue until I do get it fixed though.

@atom0s atom0s reopened this Sep 22, 2022
@atom0s atom0s added c: plugin Category: Plugin p: high Priority: High t: bug Type: Bug and removed p: low Priority: Low s: invalid Status: Invalid labels Sep 22, 2022
@atom0s
Copy link
Owner

atom0s commented Sep 23, 2022

Closing this again as completed. Your file should now fully and properly unpack. I have also fixed the checksum calculation which should resolve issues with that too. (The 'proper' file you posted has an incorrect checksum as well. (off by 2))

@atom0s atom0s closed this as completed Sep 23, 2022
@atom0s atom0s added the s: fixed Status: Fixed label Sep 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: general Category: General c: plugin Category: Plugin p: high Priority: High s: fixed Status: Fixed t: bug Type: Bug t: question Type: Question
Projects
None yet
Development

No branches or pull requests

2 participants