Jump to content
Returning Members: Password Reset Required ×

Tool: Conquer RSA DAT File Decrypt/Encrypt & Client Patcher


Recommended Posts

Posted (edited)


Hi all,

I've put together a set of small Python (3.6+) scripts for working with the RSA encrypted DAT files (like Server.dat) used in the client.

With these scripts, you can:

  • Extract the RSA Public key from any Conquer.exe binary (5095, 5187, 5517, 5615, 6090, 6609 tested)
  • Decrypt any RSA-encrypted DAT File (like Server.dat). See: https://conquer-online.github.io/wiki/files/formats/dat.html for a list.
    These scripts only work with RSA encrypted files.
  • Re-encrypt modified DAT files with your own private key
  • Patch the Conquer.exe binary with own public key. (5095, 5187, 5517, 5615, 6090, 6609 tested)
  • Patch the Conquer.exe binary to bypass play.exe requirement (5095, 5187, 5517, 5615, 6090, 6609 tested) (optional patch, but on by default)

Ultimately, you can use these scripts to decrypt server.dat, replace with your own IP/Port, re-encrypt (with your own key) and patch the binary (with your key). However, you may still find ConquerLoader / Dragon Launcher is easier for running private servers. 

The project is here: https://github.com/Cyano-CO/conquer-rsa-patcher (possibly move to conquer-online github org in future)

For full technical details on how RSA works, see: https://conquer-online.github.io/wiki/security/rsa.html

 

Example: Modifying Server.dat

  • Make sure you have Python3.6+ Installed (https://www.python.org/downloads/)
  • One common dependency required, usually already installed system-wide (pip install cryptography), or use virtual env.
  • As with all code, read & understand it before executing it.
  • Don't use this on live binaries.
  • All techniques are derived solely from publicly distributed client binaries. The extracted key is an RSA public key, public by design.

Git clone the repository https://github.com/Cyano-CO/conquer-rsa-patcher
The public key / Conquer.exe isn't included in this repository, copy Conquer.exe & Server.dat from your client directory to the script directory.

Extract the public key from the Conquer.exe binary. You can then decrypt Server.dat using:

python3 extract_key.py Conquer.exe
python3 decrypt_game_file.py Server.dat

 

This will create Server_decrypted.dat which you can to point to your own IP / Port or rename the servers. To use it in the client:

./generate_keypair.sh
python3 patch_client_binary.py Conquer.exe public_key.pem
python3 encrypt_game_file.py Server_decrypted.dat private_key.pem

Then copy Server_encrypted.dat & Conquer_modified.exe to your client directory, rename Server_encrypted.dat to Server.dat (backup the original first).

patch_client_binary also patches to skip play.exe requirement (turn off by --skip-patch-play-exe). So you can start Conquer_modified.exe directly and it should load your modified Server.dat


Thanks To

* Spirited For: https://cooldown.dev/topic/12-client-how-to-disassemble-conquer-for-reverse-engineering/
* adrian For: https://cooldown.dev/topic/19-client-using-decrypted-serverdat

Happy to answer questions or feedback on it 🙂

Edited by cyano
support 5095 - 6609 (All conquer 2.0 rsa server.dat patches)
  • 2 months later...
Posted
4 hours ago, Persis2 said:

Sir is this gonna work in modified client version 6609? i want to input my new ip but its not in server.dat. Its in Guard.dat 

Sounds like something someone cooked up on their own. 

Posted
11 hours ago, Spirited said:

Sounds like something someone cooked up on their own. 

i bought the source with a vpn at first all is working fine but after the vps expired and i will transfer the source to my pc yo host i cannot log in, because i think i need to change the vps ip addres in the Guard.dat file but its encrypted.

Posted
On 6/19/2026 at 3:25 PM, Persis2 said:

i bought the source with a vpn at first all is working fine but after the vps expired and i will transfer the source to my pc yo host i cannot log in, because i think i need to change the vps ip addres in the Guard.dat file but its encrypted.

You can try using some hexadecimal editors to edit these files, find the old IP, and replace it with the new one. This works effectively

Posted
14 hours ago, kennylovecode said:

You can try using some hexadecimal editors to edit these files, find the old IP, and replace it with the new one. This works effectively

thank you, but i tried HxD editor but its encrypted i couldnt find the ip address,

Posted
On 6/19/2026 at 4:35 AM, cyano said:

I don't recognise the file Guard.dat - something in their own launcher implementation?

Depends how modified the client binary is. But you could try downloading the original 6609 client (See https://cooldown.dev/topic/6-guide-client-downloads/ & use the tool in this thread to modify server.dat and try connect to your server.  

 

thanks but i couldt find a client 6609 in the thread

Posted (edited)
9 hours ago, Persis2 said:

thanks but i couldt find a client 6609 in the thread

Its in the mega (click link Installations) on the thread, under the folder Setup: Conquer_v6609.exe

That said, if Guard.dat is used only in some sort of custom launcher. Then the client binary (Conquer.exe) you have might already be unmodified & these scripts would still work (on server.dat, patch your own public key etc.). This scripts bypasses play.exe, so just run Conquer.exe after its been patched, ignoring the custom launcher.

Edited by cyano
Posted
3 minutes ago, cyano said:

Its in the mega (click link Installations) on the thread, under the folder installations: Conquer_6609.exe

That said, if Guard.dat is used only in some sort of custom launcher. Then the client binary (Conquer.exe) you have might already be unmodified & these scripts would still work (on server.dat, patch your own public key etc.). This scripts bypasses play.exe, so just run Conquer.exe after its been patched, ignoring the custom launcher.

thank you, ill try this one.

Posted
9 minutes ago, cyano said:

Its in the mega (click link Installations) on the thread, under the folder installations: Conquer_6609.exe

That said, if Guard.dat is used only in some sort of custom launcher. Then the client binary (Conquer.exe) you have might already be unmodified & these scripts would still work (on server.dat, patch your own public key etc.). This scripts bypasses play.exe, so just run Conquer.exe after its been patched, ignoring the custom launcher.

still no 6609 in mega link.

Posted

Guard.dat is a file loaded by a custom Loader.dat. If your server source code relies on it, you may need to remove the server's dependency on Loader, replace it with a clean client, and find some open-source Loaders to solve this problem.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...