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

SII_Decrypt Github and Bitbucket links removed #3

Open
jammerxd opened this issue Feb 17, 2023 · 7 comments
Open

SII_Decrypt Github and Bitbucket links removed #3

jammerxd opened this issue Feb 17, 2023 · 7 comments

Comments

@jammerxd
Copy link

jammerxd commented Feb 17, 2023

For some reason, the github and bitbucket links to the source code for SII_Decrypt have either been made private or removed. Does anyone have a copy of it?

To be clear I'm after the source code, not the .lib or .dll or .exe, the raw source that was available.

@CaptainFlint
Copy link
Owner

Unfortunately, the author decided to remove all his projects a while ago. Now I cannot even find the topic on the SCS forum where it was discussed; looks like it was completely deleted as well.

I myself have a very outdated clone of the repository (I wasn't updating it for over a year, and when I finally got around to it, I discovered the upstream has been gone). Since it was under MPL, I guess, I have the rights to share this outdated copy. But I know for sure, there were additions in the later version that fixed some incompatibilities with later ETS/ATS game versions. Having said that, ATS/ETS had even more additions to their save files, which made even the latest SII_Decrypt version fail. Therefore, the repository copy that I have won't be of much use without finding and fixing those incompatibilities. I planned to work on it, but unfortunately more urgent matters took precedence.

@jammerxd
Copy link
Author

I figured as much - I'm noticing that as well. Was this something that SCS did?

@CaptainFlint
Copy link
Owner

It's been a while and I don't remember the particulars, but IIRC his accounts got hacked, and he decided to take it all down. Also, some of his programs caused significant controvercy and hate from some members (e.g. the tool to remove the protection against unpacking from some mods), so it was hard on him.

@CaptainFlint
Copy link
Owner

Actually, wait, I've just checked, and apparently he decided to bring it all back, but under a different account!
https://github.com/TheLazyTomcat/SII_Decrypt

I'll need to update the links in the readme, then.

@jammerxd
Copy link
Author

I was about to say I actually just found those myself and have been in contact with the author. I'm waiting on some additional information but I'm pretty sure that is the original. I just wanted to make a translated version of SII_Decrypt into c# or c++. I've already worked out most of how the pascal version works and just need to replicate it - which in itself should be fairly simple.

@CaptainFlint
Copy link
Owner

A C++ version would be very useful. I also wanted to do that, since I'm not very good at Delphi, so a C++ version would be easier to update when new incompatible values are added into the game save files.

@jammerxd
Copy link
Author

jammerxd commented Feb 19, 2023

I have been in touch with them - unfortunately, most of the original source information has been locked and hidden (particularly on the SCS Forums) - so all the discussions aren't available any more. They were able to verify that this is indeed the source code for the module, but it's not the original repository (as mentioned, under a different github account) and the changes were pushed from the local copies they had.

The author also mentioned that they are no longer working on or supporting the project, so it's unlikely that any new changes will be added unless another party adds them. Which again, would be good to have a c++ or c# module.

Unfortunately, it'll be some time before I can dig in and translate, though I seem to understand the basic structure so I might fiddle around with it here and there.

Ideally I'd be able to add an encrypt function but that'll largely depend on how it's encrypted in the first place. Usually encrpytion mechanisms require a "hash" or "verification" header be added that verifies the contents haven't been tampered with(HMAC) and that seems to be the case with existing profiles. And that's in addition to a key and initialization vector(IV).

The main issue being - until it's known how the HMAC header is created (constant, randomly generated, generated with particular fields, etc...), it's unlikely we'll be able to recompress and reencrypt the game saves.

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

No branches or pull requests

2 participants