ff14wed / deucalion

Injected Windows library for capturing decoded FFXIV packets
GNU General Public License v3.0
63 stars 6 forks source link

Deucalion DLL does not get unloaded after shutdown if another client calls LoadLibrary on the DLL #28

Open ff14wed opened 4 months ago

ff14wed commented 4 months ago

Issue

Although the Deucalion logs show successful shutdown, in some cases the module is still loaded in the target process preventing any future injection attempts and connections from being made.

Reproduction

  1. Inject Deucalion into the target process, e.g.
    deucalion_client path/to/deucalion.dll
  2. Using another client, force another injection of Deucalion into the target process, e.g.
    deucalion_client path/to/deucalion.dll -f
  3. Disconnect both clients (Ctrl+C to exit)
  4. Attempt to connect again with a new client. This client will fail to make a connection to the named pipe since it does not exist.

Symptoms

Workarounds