This is something I started working on recently for fun. The idea is to get rid of PK2s and be able to use free/loose files (for development) or a custom archive format (for pservers). It's still under heavy development, but I have made some interesting progress. I can start the game via a launcher and play normally without any PK2s (in my video, I start through OllyDbg).
Video:
(watch in 1080p!)
Pros:
Cons:
I just want to mention that this idea is nothing new. I played around with the concept a long time ago as did a few others (0x33 days). However, there was no real use for it back then compared to now. Being able to extract PK2s and then import them back using tools was good enough.
With server files released now, a custom file format would give people a real challenge compared to looking for blowfish keys or any other minor changes in PK2 handling. However, it comes at a great expense because it would have to be thoroughly tested and checked to make sure there are no flaws that would lead for the file format to be easily reversed.
I have a few ideas for some things, but I'm not sure I'll actually carry them out, as it's a lot of work I might not even use. I thought I'd still share it though. I'll post more updates in this thread later as they come along.
Video:
|
|
Pros:
- All PK2 tools / hex edits are useless (with a custom format that aims to eliminate them).
- GFXFileManager can now be properly protected with protections that make use of code macros.
- New security measures can be implemented into the DLL to provide more security alongside the client and other injected DLLs.
Cons:
- Full API support for GFXFileManager writing and reading will take some time and a lot of testing to get it 'stable'.
- Client interface cannot be easily changed, as you would have to codecave everything and handle new logic in an injected DLL.
- If someone dedicates to reversing your new format and releases the tools to work with it, you are back to square 1 (so stopping this should be the main focus).
I just want to mention that this idea is nothing new. I played around with the concept a long time ago as did a few others (0x33 days). However, there was no real use for it back then compared to now. Being able to extract PK2s and then import them back using tools was good enough.
With server files released now, a custom file format would give people a real challenge compared to looking for blowfish keys or any other minor changes in PK2 handling. However, it comes at a great expense because it would have to be thoroughly tested and checked to make sure there are no flaws that would lead for the file format to be easily reversed.
I have a few ideas for some things, but I'm not sure I'll actually carry them out, as it's a lot of work I might not even use. I thought I'd still share it though. I'll post more updates in this thread later as they come along.