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

Move Crunch to its own Packer, improve SmartE detection. #353

Merged
merged 9 commits into from
Jan 14, 2025

Conversation

HeroponRikiBestest
Copy link
Contributor

All SmartE games use the Crunch packer from BitArts, which is what the BITARTS string check was actually checking for. Some non-SmartE software is also packed with Crunch, so Crunch was moved to its own seperate packer check.

SmartE generates an executable stub when you run it, which has SmartE in the executable properties. Added a check for this in case someone wanted to manually scan a stub they generated.

A Yara/PEiD check exists that works for all known SmartE games except Dungeon Siege 1, doesn't have false positives on non-SmartE executables packed with Crunch, and is long enough that there's virtually no chance of a random false positive. This check was added to the SmartE protection scanning. Thus far, it always occurs on the last section, so that is the first check. Fallback checks for specific known named sections are also included.

BinaryObjectScanner/Packer/Crunch.cs Outdated Show resolved Hide resolved
BinaryObjectScanner/Protection/SmartE.cs Outdated Show resolved Hide resolved
BinaryObjectScanner/Protection/SmartE.cs Show resolved Hide resolved
BinaryObjectScanner/Protection/SmartE.cs Outdated Show resolved Hide resolved
BinaryObjectScanner/Protection/SmartE.cs Show resolved Hide resolved
BinaryObjectScanner/Protection/SmartE.cs Show resolved Hide resolved
BinaryObjectScanner/Protection/SmartE.cs Outdated Show resolved Hide resolved
BinaryObjectScanner/Protection/SmartE.cs Outdated Show resolved Hide resolved
@mnadareski mnadareski merged commit 9fee74f into SabreTools:master Jan 14, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants