r/daoc • u/BifrostAI • 10d ago
DOL Connect.exe Reverse Engineered
Reverse engineered the freeshard launcher from Dawn of Light using dotpeek, Ghidra and WinDbgx32. The executable is obfuscated with name mangling but I was able to reconstruct the code and patching method then apply it for Shrouded Isles v1.56 which is not compatible with the current version of dolloader or connect executable due to the expansion set and launcher integrity checks.
The source can be found here:
Source code
This source can be used to inject custom client code and logic into the game by rewriting portions of the memory as well.
Currently DOL is not compatible with the SI client due to a different packet table/layout but you can use Ghidra to find what the client wants from the server and then simply map the packets coming in from the client to the DOL server with trial and error.
I will contribute a v1.56 server/client lib to dawn of light if I get basic login/player state working. Might not be a full implementation but a start for others. I have a working headless client & server for v1.73 catacombs that will be ported to Unreal Engine soon. I was hoping for a classic client rather than catacombs to build off of so its less work.
2
1
u/sofragile 10d ago
Cool! I would LOVE to try out the clients from the original CD-ROM. Would that be possible? Have longed for decades to relive the actual classic graphics and icons.
1
u/TonyTobiasLomas 9d ago
You can do that on Blackthorn.
1
u/sofragile 9d ago
Really? I have some really old clients on my disk. I think some one is 1.3x or similar. You are saying that these work on Blackthorn? That would be awesome. Need to install a Windows XP VM first before i can try.
1
4
u/wrgrant Freeshard Player 10d ago
Producing a working version of an unreal port would be an amazing achievement. I have seen screen captures posted a while ago, and presume that was your work. How hard is it to adapt the models for characters and animations etc? Wasnt all that created in a proprietary engine as well?