mirror of
https://gitea.tendokyu.moe/beerpsi/CHUNITHM-Patch-Finder.git
synced 2024-11-27 17:10:48 +01:00
patches from evilleaker
This commit is contained in:
parent
8438ed9bf6
commit
6613e592ab
6
Models/BemaniPatcherUnionPatch.cs
Normal file
6
Models/BemaniPatcherUnionPatch.cs
Normal file
@ -0,0 +1,6 @@
|
||||
namespace CHUNITHM_Patch_Finder.Models;
|
||||
|
||||
public class BemaniPatcherUnionPatch
|
||||
{
|
||||
|
||||
}
|
6
Models/BemaniPatcherUnionPatchEntry.cs
Normal file
6
Models/BemaniPatcherUnionPatchEntry.cs
Normal file
@ -0,0 +1,6 @@
|
||||
namespace CHUNITHM_Patch_Finder.Models;
|
||||
|
||||
public class BemaniPatcherUnionPatchEntry
|
||||
{
|
||||
|
||||
}
|
62
Program.cs
62
Program.cs
@ -113,6 +113,68 @@ if (exeFileName == "chusanApp.exe")
|
||||
{
|
||||
Console.WriteLine("Track count function not found");
|
||||
}
|
||||
} else if (exeFileName == "amdaemon.exe")
|
||||
{
|
||||
var results = scanner.FindPatterns([
|
||||
"E8 ?? ?? ?? ?? 3B C5 7C 32",
|
||||
"E8 ?? ?? ?? ?? A8 10 74 C1",
|
||||
]);
|
||||
|
||||
if (results.All(r => r.Found))
|
||||
{
|
||||
var logLevel1RelativeAddress = BitConverter.ToInt32(binary, results[0].Offset + 1);
|
||||
var logLevel1Address = results[0].Offset + 5 + logLevel1RelativeAddress;
|
||||
|
||||
var logLevel2RelativeAddress = BitConverter.ToInt32(binary, results[1].Offset + 1);
|
||||
var logLevel2Address = results[1].Offset + 5 + logLevel2RelativeAddress;
|
||||
|
||||
Console.WriteLine($"Found log level functions at {logLevel1Address:X} and {logLevel2Address:X}");
|
||||
|
||||
exportedPatches.Add(new BemaniPatcherStandardPatch
|
||||
{
|
||||
Name = "Verbose logging",
|
||||
Tooltip = "Force sets 2 flags that enables verbose logging, may be useful for developers",
|
||||
Patches = [
|
||||
new BemaniPatcherStandardPatchEntry
|
||||
{
|
||||
Offset = logLevel1Address + 6,
|
||||
Off = [0xC3, 0xCC, 0xCC, 0xCC],
|
||||
On = [0x83, 0xC0, 0x3F, 0xC3],
|
||||
},
|
||||
new BemaniPatcherStandardPatchEntry
|
||||
{
|
||||
Offset = logLevel2Address + 6,
|
||||
Off = [0xC3, 0xCC, 0xCC, 0xCC],
|
||||
On = [0x83, 0xC8, 0xFF, 0xC3],
|
||||
}
|
||||
]
|
||||
});
|
||||
}
|
||||
|
||||
results = scanner.FindPatterns([
|
||||
"E8 ?? ?? ?? ?? 83 F8 01 0F 84 ?? ?? ?? ?? 85 C0 79 2E", // http3ConnectServerSocketNb
|
||||
"E8 ?? ?? ?? ?? 83 F8 01 74 29 85 C0", // http3ReadResponseSocketNb
|
||||
"E8 ?? ?? ?? ?? 83 F8 01 74 4F", // http3SendRequestSocketNb
|
||||
]);
|
||||
|
||||
if (results.All(r => r.Found))
|
||||
{
|
||||
Console.WriteLine($"Found Auth2.0 HTTP routines at {string.Join(", ", results.Select(r => r.Offset.ToString("X")))}");
|
||||
|
||||
var patchEntries = (
|
||||
from result in results
|
||||
let relativeAddress = BitConverter.ToInt32(binary, result.Offset + 1)
|
||||
select result.Offset + 5 + relativeAddress into address
|
||||
select new BemaniPatcherStandardPatchEntry { Offset = address + 7, Off = [0x0F, 0x84], On = [0x90, 0xE9] }
|
||||
).ToList();
|
||||
|
||||
exportedPatches.Add(new BemaniPatcherStandardPatch
|
||||
{
|
||||
Name = "Disable SSL for Auth2.0",
|
||||
Tooltip = "Force using non-SSL routines for Auth2.0 online certification, may be useful for developers",
|
||||
Patches = patchEntries,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var settings = new JsonSerializerSettings
|
||||
|
Loading…
Reference in New Issue
Block a user