many small fixes
This commit is contained in:
parent
c7e08598b7
commit
a5d1d5d53b
@ -4,34 +4,32 @@ By Senko-san, 20/11/2020
|
||||
|
||||
## Preface
|
||||
|
||||
This guide covers everything you need to know to dump all the data you need from Escape From Tarkov.
|
||||
It is highly recommended that you read the guide at least once before executing what's written here.
|
||||
For dumping server data, see 1-3.
|
||||
For dumping asset data, see 4.
|
||||
This guide covers everything you need to know to dump all the data you need from Escape From Tarkov.\
|
||||
It is highly recommended that you read the guide at least once before executing what's written here.\
|
||||
For dumping server data, see 1-3.\
|
||||
For dumping asset data, see 4.
|
||||
|
||||
## Theory
|
||||
|
||||
The game uses HTTP-secured (TLS 1.2) protocol to obtain data (mostly not related to a match) from the server.
|
||||
While the game's security is lacking, it does block conventional tools for packet capturing.
|
||||
Of course, we cannot just simply run with altered assembly either, because the launcher does an integrity check.
|
||||
The game however does not check for integrity.
|
||||
The game uses HTTP-secured (TLS 1.2) protocol to obtain data (mostly not related to a match) from the server.
|
||||
While the game's security is lacking, it does block conventional tools for packet capturing.
|
||||
Of course, we cannot just simply run with altered assembly either, because the launcher does an integrity check.
|
||||
The game however does not check for integrity.
|
||||
|
||||
We patch the assembly to bypass the security mechanisms in place to dump our data.
|
||||
To be specific, we make the checks of battleye and certificate checking always return successfully.
|
||||
We also add logic for saving received data from the server to save data obtained.
|
||||
We use the "swap exploit" by quickly replacing the assembly when the game starts to load our custom assembly.
|
||||
We patch the assembly to bypass the security mechanisms in place to dump our data.
|
||||
To be specific, we make the checks of battleye and certificate checking always return successfully.
|
||||
We also add logic for saving received data from the server to save data obtained.
|
||||
We use the "swap exploit" by quickly replacing the assembly when the game starts to load our custom assembly.
|
||||
|
||||
To be able to make patches, we deobfuscate the assembly.
|
||||
But since de4dot isn't capable of understanding the obfuscation algorithm fully, we use an additional specialized deobfuscator command.
|
||||
In addition, we save the assembly in the gamefiles before making modifications to fix the resolutionscope error.
|
||||
To be able to make patches, we deobfuscate the assembly.
|
||||
But since de4dot isn't capable of understanding the obfuscation algorithm fully, we use an additional specialized deobfuscator command.
|
||||
In addition, we save the assembly in the gamefiles before making modifications to fix the resolutionscope error.
|
||||
|
||||
## Legenda
|
||||
|
||||
```markdown
|
||||
**path** **what** | **example**
|
||||
**path** | **what** | **example**
|
||||
------------ | ----------------------------- | ----------------------
|
||||
`%gamedir%` | Escape From Tarkov (Live) | `C:/games/EFT/ (Live)`
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
@ -42,62 +40,63 @@ In addition, we save the assembly in the gamefiles before making modifications t
|
||||
|
||||
## 1. Dumper
|
||||
|
||||
1. Copy-paste `%gamedir%/EscapeFromTarkov_Data/Managed/Assembly-CSharp.dll` to your de4dot folder
|
||||
2. Drag `Assembly-CSharp.dll` on top of `de4ot-x64.exe`
|
||||
3. Open `Assembly-CSharp-cleaned.dll` in dnSpy
|
||||
4. Find the deobfuscation method (appendix 1.1)
|
||||
5. Run the deobfuscate command with the token from the deobfuscation method (appendix 1.2)
|
||||
6. Cut-paste `Assembly-CSharp-cleaned-cleaned.dll` to `%gamedir%/EscapeFromTarkov_Data/Managed/`
|
||||
7. Open `Assembly-CSharp-cleaned-cleaned.dll` in dnSpy
|
||||
1. Copy-paste `%gamedir%/EscapeFromTarkov_Data/Managed/Assembly-CSharp.dll` to your de4dot folder.
|
||||
2. Drag `Assembly-CSharp.dll` on top of `de4ot-x64.exe`.
|
||||
3. Open `Assembly-CSharp-cleaned.dll` in dnSpy.
|
||||
4. Find the deobfuscation method (appendix 1.1).
|
||||
5. Run the deobfuscate command with the token from the deobfuscation method (appendix 1.2).
|
||||
6. Cut-paste `Assembly-CSharp-cleaned-cleaned.dll` to `%gamedir%/EscapeFromTarkov_Data/Managed/`.
|
||||
7. Open `Assembly-CSharp-cleaned-cleaned.dll` in dnSpy.
|
||||
8. dnSpy > File > Save Module.
|
||||
9. Apply dumper patch (appendix 1.3)
|
||||
10. Apply ssl patch (appendix 1.4)
|
||||
11. Apply battleye patch (appendix 1.5)
|
||||
12. dnSpy > File > Save Module
|
||||
9. Apply dumper patch (appendix 1.3).
|
||||
10. Apply ssl patch (appendix 1.4).
|
||||
11. Apply battleye patch (appendix 1.5).
|
||||
12. dnSpy > File > Save Module.
|
||||
|
||||
## 2. Backup
|
||||
|
||||
1. Create `%gamedir%/backup/`
|
||||
2. Copy-paste `Assembly-CSharp.dll` to `%gamedir%/backup/`
|
||||
3. Rename `Assembly-CSharp.dll` in `%gamedir%/backup/` to `Assembly-CSharp.dll.bak`
|
||||
4. Cut-paste `Assembly-CSharp-cleaned-cleaned.dll` to `%gamedir%/backup/`
|
||||
5. Rename `Assembly-CSharp-cleaned-cleaned.dll` in `%gamedir%/backup/` to `Assembly-CSharp.dll`
|
||||
1. Create `%gamedir%/backup/`.
|
||||
2. Copy-paste `Assembly-CSharp.dll` to `%gamedir%/backup/`.
|
||||
3. Rename `Assembly-CSharp.dll` in `%gamedir%/backup/` to `Assembly-CSharp.dll.bak`.
|
||||
4. Cut-paste `Assembly-CSharp-cleaned-cleaned.dll` to `%gamedir%/backup/`.
|
||||
5. Rename `Assembly-CSharp-cleaned-cleaned.dll` in `%gamedir%/backup/` to `Assembly-CSharp.dll`.
|
||||
|
||||
## 3. Dumping server data
|
||||
|
||||
1. Open Battlestate Games Launcher
|
||||
2. Battlestate Games Launcher > settings > close launcher when game starts
|
||||
3. Start the game
|
||||
4. Copy-paste `%gamedir%/backup/Assembly-CSharp.dll` to `%gamedir%/EscapeFromTarkov_Data/Managed/` when the launcher closes
|
||||
5. `%gamedir%/HTTP_DATA/` appears when you reached the main menu
|
||||
6. Dump the data (appendix 2)
|
||||
7. Close the game
|
||||
8. Replace `Assembly-CSharp.dll` with the original assembly
|
||||
1. Open Battlestate Games Launcher.
|
||||
2. Battlestate Games Launcher > settings > close launcher when game starts.
|
||||
3. Start the game.
|
||||
4. Copy-paste `%gamedir%/backup/Assembly-CSharp.dll` to `%gamedir%/EscapeFromTarkov_Data/Managed/` when the launcher closes.
|
||||
5. `%gamedir%/HTTP_DATA/` appears when you reached the main menu.
|
||||
6. Dump the data (appendix 2).
|
||||
7. Close the game.
|
||||
8. Replace `Assembly-CSharp.dll` with the original assembly.
|
||||
|
||||
## 4. Dumping asset data
|
||||
|
||||
1. Open AssetStudio.
|
||||
2. AssetStudio > File > Load File > `%gamedir%/EscapeFromTarkov_Data/sharedassets2.assets`
|
||||
3. Switch from Scene Hierarchy to Asset List
|
||||
4. AssetStudio > Filter Type > what you look for (example: `TextAsset`)
|
||||
5. Select the map files you want (example: `bigmap2`, `RezervBase6`)
|
||||
6. AssetStudio > Export > Selected Assets
|
||||
2. AssetStudio > File > Load File > `%gamedir%/EscapeFromTarkov_Data/sharedassets2.assets`.
|
||||
3. Switch from Scene Hierarchy to Asset List.
|
||||
4. AssetStudio > Filter Type > what you look for (example: `TextAsset`).
|
||||
5. Select the map files you want (example: `bigmap2`, `RezervBase6`).
|
||||
6. AssetStudio > Export > Selected Assets.
|
||||
|
||||
## Conclusion
|
||||
|
||||
Congratulations, you've succesfully dumped Escape From Tarkov's data.
|
||||
Congratulations, you've succesfully dumped Escape From Tarkov's data.
|
||||
|
||||
In order to use it in Aki's database, you have 2 options:
|
||||
|
||||
- Manually convert the data
|
||||
- Use a tool like `aki-analyzer` to convert the data into the format the server accepts
|
||||
- Manually convert the data.
|
||||
- Use a tool like `aki-analyzer` to convert the data into the format the server accepts.
|
||||
|
||||
The data does contain sensitive information such as you account id, so be careful whom you share it with.
|
||||
`aki-analyzer` strips out the sensitive information when it converts the data to the right format.
|
||||
And no, the data dumped from the game server cannot be uploaded back to the game server.
|
||||
The data does contain sensitive information such as you account id, so be careful whom you share it with.\
|
||||
`aki-analyzer` strips out the sensitive information when it converts the data to the right format.\
|
||||
And no, the data dumped from the game server cannot be uploaded back to the game server.
|
||||
|
||||
## Appendix 1: Code
|
||||
|
||||
All code is based on Escape From Tarkov 0.12.8.9819.
|
||||
All code is based on Escape From Tarkov 0.12.8.9819.
|
||||
|
||||
### 1.1. Deobfuscation method in assembly
|
||||
|
||||
@ -152,10 +151,9 @@ Class784.RunValidation()
|
||||
|
||||
## Appendix 2: Obtaining specific data
|
||||
|
||||
This discusses how you can obtain certain data with the dumper installed.
|
||||
This discusses how you can obtain certain data with the dumper installed.
|
||||
|
||||
```markdown
|
||||
**Type** | **How**
|
||||
**Type** | **How**
|
||||
--------------- | -----------------------------------------------------------------------------------------------------
|
||||
Startup locales | Start the game in the locale you want to dump.
|
||||
Game locales | Select the locale in game settings.
|
||||
@ -168,4 +166,3 @@ Location (loot) | Rip from game files.
|
||||
Models | Rip from game files.
|
||||
Textures | Rip from game files.
|
||||
Audio | Rip from game files.
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user