[Release] Dragon (Open-source launcher)

08/26/2022 03:58 Spirited#1
Introduction

Hi all! I wrote a little launcher and some hooks recently as practice (since I've never written client hooks before). I decided to make it open-source since I didn't find a lot of examples of QueueUserAPC DLL injection or some of the hooks I wrote using Detours. Enjoy, and give me feedback if you'd like. Thanks!

About the project

Dragon is Chimera's game client launcher. This open-source version of the project excludes the auto-patch / launcher application, but includes the command-line code injector and three modules: a flash module that loads the ActiveX Flash plugin from the client's directory, a connect module for redirecting socket connections for private servers, and a websites module for redirecting / blocking website popups.

Dragon uses code injection to change the behavior of the game client. It starts a new process for the game client in a suspended state. Then, queues asynchronous procedure calls on the main thread of the client using QueueUserAPC. Once injected, the process is resumed. Modules injected into the client will load before the entry point of the client is called.

Contribute

If you'd like to develop patch-agnostic features for the launcher, feel free to fork and submit pull requests against the upstream branch.

Link

[Only registered and activated users can see links. Click Here To Register...]
09/18/2022 21:07 ExTaCy#2
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

hey there
can you explain please what was that
09/18/2022 21:21 Spirited#3
Quote:
Originally Posted by ExTaCy View Post
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

hey there
can you explain please what was that
Your command-line arguments are incorrect. It takes three arguments, not two. I should probably have it check that and return help or something. Edit: Also, I could probably derive the path from the absolute path for Conquer.exe... Another 2-3 week project that could use some cleanup on my backlog.