Decrypting Dead by Daylight Asset and Profile Data


Disclaimer

The information included in this post is for educational purposes only. Any material on this webpage may not be reproduced, retransmitted, or redisplayed other than for personal or educational use.

Introduction

Dead by Daylight serves client data from its private API, distributed via its content delivery network (CDN). It also serves profile data from the same API. While both types of data can be intercepted by capturing network traffic and passing the title screen, the responses are obfuscated using a modified Base64 encoding scheme.

Dead by Daylight Data Encoding Formats

The Dead by Daylight client communicates with the game server using a REST API, with different endpoints employing distinct encoding schemes. Responses containing asset data are prefixed with "DbdDAwAC", whereas responses containing profile data are prefixed with "DbdDAgAC". A third prefix, "DbdDAQEB", indicates that the data is zlib-compressed.

Instructions

The following is a list of instructions required to decrypt both asset and profile data from the Dead by Daylight private API:

1. Visit https://www.python.org/downloads/ and left-click on the appropriate download link.

2. Head to the location of the completed download and run the Python Setup for whichever version of Python you downloaded. Ensure that you have "Add python.exe to PATH" checked. Left-click on "Install Now".

3. Once you have installed Python, open Windows PowerShell. Type the following into the terminal:

pip install pycryptodome

This will install the PyCryptodome Python package to your machine. You can verify that you have successfully installed it by typing the following into the terminal:

pip list

If you successfully followed the instructions, then you will see the "pycryptodome" package and the version of it that you installed in the list.

4. Visit this URL, left-click on "Code", and then left-click on "Download ZIP". Save the compressed (zipped) folder of "DBDCrypter-main" into the directory of your choice.

5. Extract the contents of the compressed (zipped) folder "DBDCrypter-main" into the directory of your choice.

6. Open the "DBDCrypter-main" directory, right-click inside the directory, and left-click on "Open in Terminal".

7. After Windows PowerShell launches, type the following into the terminal:

python main.py

8. For decryption, you can either manually enter the encrypted data or load it from a file. Once provided, you will be prompted to select a branch by entering its corresponding key. For encryption, you will be prompted to select a file containing decrypted data and then enter its corresponding versioned branch.

9. For example, to decrypt "contentSchedule.json" from this URL using the first input method, you would do the following in the terminal, pressing the "Enter" key after each step:

python main.py
Select mode:
1: Decrypt
2: Encrypt

1

Select an input method:
1: Enter encrypted data manually
2: Load encrypted data from a file

1

Enter the encrypted data: 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
Select a branch (q: QA, s: Stage, c: Cert, p: PTB, l: live): l

10. After you do this, DBDCrypter will return the decrypted data to your terminal.