SabreTools / BinaryObjectScanner

C# protection, packer, and archive scanning library
MIT License
85 stars 13 forks source link

Add support for detecting XCP2 as itself instead of as XCP #12

Open TheRogueArchivist opened 3 years ago

TheRogueArchivist commented 3 years ago

For at least XCP2 (the only example I have), BOS detects XCP but doesn't recognize the VERSION.DAT file in the root directory, and so doesn't recognize it as XCP2 specifically, only XCP. It also doesn't give a version number, in this case Version 1.5.

Contents of VERSION.DAT: [XCP] VERSION=XCP2, Version 1.5

[PLAYER] VERSION=2.7

mnadareski commented 3 years ago

It is likely finding one of the other files common to XCP since the original BurnOut code checked for XCP.DAT, ECDPlayerControl.ocx, and go.exe. This is good info, though, since I can add a check for this different DAT name and then read the contents as an INI. Do you happen to have an XCP1 disc as well to check?

TheRogueArchivist commented 3 years ago

I don't unfortunately, but I can tell you all the detected files on here if you'd like, as well as zip them along to you to see if those files themselves might have some version information.

mnadareski commented 3 years ago

XCP2 detection enhanced given the information above: https://github.com/mnadareski/BurnOutSharp/commit/43cbafc0f5ff3a3e20d6a27f0abde86b8439cbcf

Leaving this open for XCP1, if we can get more info.

mnadareski commented 3 years ago

Fixed the mixup with XCP.DAT, added content checks based on GO.EXE: https://github.com/mnadareski/BurnOutSharp/commit/095de1441d1daafc288a5f18b874acb042756c11