Stat1cV01D / stat1cv01d.github.io

site
0 stars 0 forks source link

Open sourcing Phoenix tools. #1

Closed x8BitRain closed 4 years ago

x8BitRain commented 4 years ago

Hi, I could not find another way to contact you directly so I made an issue here to ask if you'd be able to share the source code for Phoenix Tools?

I think it would be of great value to the Valve/Steam community if the source were available for people to improve upon and develop further because it is an extremely useful tool for extracting the files from physical Steam game discs and preserving and playing the games on original Steam game discs.

Thanks!

Stat1cV01D commented 4 years ago

Hello @x8BitRain! Wow, I did not expect the tool to be relevant in 2020. You see, the sources were written in Delphi and are about 8 years old at this point. And the code practices were immature as I was. But there is another tool called SimPack that is also based on the discoveries of the SID/SIM file format that were made back in 2006 or so. You can get it here.

Another issue for me (and you if you want to use the mentioned tool) is that I (and many other developers at the time probably) did not anticipate drastic changes that were coming with Valve's SteamPipe. One of those changes is that they stopped publicly distributing encryption keys, that were needed to decrypt the content in SID, through so-called ContentDescriptionRecord (that was residing in ClientRegistry.blob). Instead, they now use another format: files in the "depotcache" folder that correspond to the data in SteamApps\*.acf files and they are distributed solely to the owners of the bought games/apps. And somewhere in there (I can not remember exactly as I abandoned the attempts to catch up with the changes) are those decryption keys now.

Edit: Forgot to mention another great tool called sisInstall that addresses the above issue. You can get it here.

x8BitRain commented 4 years ago

Ah, I didn't know there were updated tools that improved on Phoenix tools, thanks for pointing those out!

r57zone commented 1 month ago

En: Unpacked my Metro 2033 disc, using your utility. It's a handy, intuitive utility. It would be great if this utility has its own repository and binaries in releases, so that everyone can download a clean version. If the code seems outdated to you, it's not a big deal, we all started somewhere. This is a very interesting project. Thank you very much for your utility, it allows to saturate the shelves with life with disks of Steam editions.

Found utility here.

Ru: Распаковал диск Metro 2033, с помощью вашей утилиты. Удобная, интуитивная утилита. Было бы здорово если бы у этой утилиты появился свой репозиторий и бинарники в releases, чтобы у всех была возможность скачать чистую версию. Если код вам кажется устаревшим в этом нет ничего страшного, все мы начинали с чего-то. Это очень интересный проект. Большое спасибо за вашу утилиту, она позволяет насытить жизнью полки с дисками Steam изданий.

Нашел утилиту здесь.

Stat1cV01D commented 1 month ago

Hi, I will have to look them up somewhere first to find them. And it was unintentionally obscure as it first was a relatively simple custom GUI based on the installer, then later fused with the plugin written in Delphi for a still relatively simple transition to save legacy stuff and avoid rewriting the existing code from scratch. The tool started as a launcher for Half-Life series and could also pick up Source-based mods - that was the thing for the most of its lifecycle. The disc unpacking feature was intended to be just a feature.

I can relate to the appeal of GUI instead of using a command line tool - it's more user-friendly. But with today's technologies anyone can just wrap the existing tools mentioned above into a GUI and call it a day. I mean, today I would prefer to do that instead and it wouldn't be far off from the approach we had in the past.

r57zone commented 1 month ago

Tried SimPack and SisIntall, they refused to unpack Metro2033, so maybe there is something wrong with them or something non-obvious needs to be done.

Stat1cV01D commented 1 month ago

As far as I remember, there are not many requirements to unpack a disc using either of these tools: you need a disc and so called "encryption keys" that should be obtained in a certain way (I am not aware of the current one). I suspect that the Phoenix tool was supplied with the file that contained those keys so this could explain why it worked for you. Getting those keys and organizing the unpacking process is a bit tricky, but there were manuals on that too.

I still stand by the notion that this can be made in a relatively simple manner. So it looks more like a troubleshooting issue at this point and I can't help you much with that either - I would have to search relevant information as much as the next guy.