By Senko-san, credits to CWX for finding the updated request/response code.
- de4dot
- dnspy
- dnspy > file > open >
Assembly-CSharp.dll
- dnspy > file > export to project > export
- vscode > file > open folder > the exported source folder
- vscode > search >
AppDomain.CurrentDomain.GetData
, the method looks like this:
internal sealed class Class2378
{
// Token: 0x06010B9C RID: 68508 RVA: 0x0014A3A2 File Offset: 0x001485A2
public static string smethod_0(int int_0)
{
return (string)((Hashtable)AppDomain.CurrentDomain.GetData(Class2378.string_0))[int_0];
}
}
- de4dot > clean the assembly (change
0x06010B9C
to the token)
de4dot.exe --un-name "!^<>[a-z0-9]$&!^<>[a-z0-9]__.*$&![A-Z][A-Z]\$<>.*$&^[a-zA-Z_<{$][a-zA-Z_0-9<>{}$.`-]*$" "Assembly-CSharp.dll" --strtyp delegate --strtok 0x06010B9C
pause
- copy-paste
Assembly-CSharp-cleaned.dll
into<gamedir>/EscapeFromTarkov_Data/Managed/
- dnspy > file > open >
Assembly-CSharp-cleaned.dll
- dnspy > file > save module > ok
These are done in dnspy on Assembly-CSharp-cleaned.dll
- search for
backRequest
- modify
method_5
; add this to the bottom, just beforereturn text2;
var uri = new Uri(backRequest.MainURLFull);
var path = (System.IO.Directory.GetCurrentDirectory() + "\\HTTP_DATA\\").Replace("\\\\", "\\");
var file = uri.LocalPath.Replace('/', '.').Remove(0, 1);
var time = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss");
if (System.IO.Directory.CreateDirectory(path).Exists)
{
if (backRequest.Params != null)
{
System.IO.File.WriteAllText($@"{path}req.{file}_{time}.json", backRequest.Params.ToJson());
}
System.IO.File.WriteAllText($@"{path}resp.{file}_{time}.json", text2);
}
- search for
RunValidation
- replace
RunValidation
's method body with this:
this.Succeed = true;
- search for
RunFilesChecking
- replace
RunFIlesChecking
's method body with this:
return Task.CompletedTask;