Skip to content

Commit

Permalink
3.8
Browse files Browse the repository at this point in the history
  • Loading branch information
HolographicHat committed Jul 6, 2023
1 parent 29c57cb commit 849f379
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 26 deletions.
6 changes: 3 additions & 3 deletions lib/src/dllmain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ using std::to_string;
HWND unityWnd = nullptr;
HANDLE hPipe = nullptr;

// Allow Protocol: GetPlayerToken, PlayerLogin, AchievementAllDataNotify, Ping
std::set<UINT16> PacketWhitelist = { 175, 196, 102, 172, 2678, 55, 48, 160 };
// Allow Protocol: GetPlayerToken, PlayerLogin, AchievementAllDataNotify, Ping, PlayerForceExit
std::set<UINT16> PacketWhitelist = { 6929, 7187, 4356, 6011, 1268, 24845, 24404, 29313 };

bool OnPacket(KcpPacket* pkt) {
if (pkt->data == nullptr) return true;
Expand All @@ -30,7 +30,7 @@ bool OnPacket(KcpPacket* pkt) {
return false;
}
printf("Passed cmdid: %d\n", ReadMapped<UINT16>(data->vector, 2));
if (ReadMapped<UINT16>(data->vector, 2) == 2678) {
if (ReadMapped<UINT16>(data->vector, 2) == 1268) {
auto headLength = ReadMapped<UINT16>(data->vector, 4);
auto dataLength = ReadMapped<UINT32>(data->vector, 6);
auto iStr = Genshin::ToBase64String(data, 10 + headLength, dataLength, nullptr);
Expand Down
2 changes: 1 addition & 1 deletion lib/src/il2cpp-api-functions.h
Original file line number Diff line number Diff line change
@@ -1 +1 @@
DO_API(0x92e180, 0x92e1f0, Il2CppString*, il2cpp_string_new, (const char* str));
DO_API(0x941c20, 0x93e230, Il2CppString*, il2cpp_string_new, (const char* str));
28 changes: 14 additions & 14 deletions lib/src/il2cpp-functions.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,30 @@ using namespace Genshin;

// DO_APP_FUNC(CN_OFFSET, OS_OFFSET, RETURN, FUNC_NAME, (ARGS...));

DO_APP_FUNC(0x68df290, 0x6822570, Il2CppString*, ToBase64String, (ByteArray* value, int offset, int length, void* method));
DO_APP_FUNC(0x728b850, 0x7247520, Il2CppString*, ToBase64String, (ByteArray* value, int offset, int length, void* method));

DO_APP_FUNC(0x272fe00, 0x26df410, void, SetVersion, (void* obj, Il2CppString* value, void* method));
DO_APP_FUNC(0x215d110, 0x214d7a0, void, SetVersion, (void* obj, Il2CppString* value, void* method));

DO_APP_FUNC(0x710a730, 0x70401b0, ByteArray*, RecordUserData, (int32_t nType));
DO_APP_FUNC(0x7b4dc00, 0x7afe4e0, ByteArray*, RecordUserData, (int32_t nType));

DO_APP_FUNC(0x26a7940, 0x2658ae0, void, XorEncrypt, (ByteArray** data, int length, void* method));
DO_APP_FUNC(0x166e5d0, 0x1662f60, void, XorEncrypt, (ByteArray** data, int length, void* method));

DO_APP_FUNC(0x19d99a0, 0x19b12f0, int, KcpSend, (void* client, KcpPacket* pkt, void* method));
DO_APP_FUNC(0xf71860, 0xf69870, int, KcpSend, (void* client, KcpPacket* pkt, void* method));

DO_APP_FUNC(0x306e0e0, 0x3001bf0, bool, KcpRecv, (void* client, ClientKcpEvent* evt, void* method));
DO_APP_FUNC(0x433e670, 0x4315590, bool, KcpRecv, (void* client, ClientKcpEvent* evt, void* method));

DO_APP_FUNC(0x6b832c0, 0x6ac2040, LPVOID, GetDefaultEncoding, ());
DO_APP_FUNC(0x75627b0, 0x751a960, LPVOID, GetDefaultEncoding, ());

DO_APP_FUNC(0x6b82b50, 0x6ac18d0, Il2CppString*, GetString, (LPVOID encoding, LPVOID bytes));
DO_APP_FUNC(0x7561ff0, 0x751a1c0, Il2CppString*, GetString, (LPVOID encoding, LPVOID bytes));

DO_APP_FUNC(0x6b81980, 0x6ac0760, ByteArray*, GetBytes, (LPVOID encoding, LPVOID str));
DO_APP_FUNC(0x7560d90, 0x7518f90, ByteArray*, GetBytes, (LPVOID encoding, LPVOID str));

DO_APP_FUNC(0x18a0490, 0x187a070, VOID, RequestLogin, (LPVOID obj, LPVOID token, UINT uid));
DO_APP_FUNC(0x1349850, 0x13415f0, VOID, RequestLogin, (LPVOID obj, LPVOID token, UINT uid));

DO_APP_FUNC(0x3669cd0, 0x1b323c0, VOID, SetChecksum, (LPVOID obj, Il2CppString* value));
DO_APP_FUNC(0x11ab1d0, 0x3e9f710, VOID, SetChecksum, (LPVOID obj, Il2CppString* value));

DO_APP_FUNC(0xed5d70, 0xecc910, VOID, ForceQuit, (LPVOID obj));
DO_APP_FUNC(0xd4e730, 0xd49dd0, VOID, ForceQuit, (LPVOID obj));

DO_APP_FUNC(0x57fb490, 0x574b7f0, LPVOID, GetSingletonManager, ());
DO_APP_FUNC(0x607fbf0, 0x6044870, LPVOID, GetSingletonManager, ());

DO_APP_FUNC(0x57fb1c0, 0x574b520, LPVOID, GetSingletonInstance, (LPVOID obj, Il2CppString* value));
DO_APP_FUNC(0x607f920, 0x60445a0, LPVOID, GetSingletonInstance, (LPVOID obj, Il2CppString* value));
2 changes: 1 addition & 1 deletion lib/src/il2cpp-unity-functions.h
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
using namespace Genshin;

DO_UNI_FUNC(0x1003e0, 0x1003e0, ByteArray*, UnityEngine_RecordUserData, (int32_t nType));
DO_UNI_FUNC(0x100560, 0x100560, ByteArray*, UnityEngine_RecordUserData, (int32_t nType));
10 changes: 5 additions & 5 deletions res/proto/AchievementAllDataNotify.proto
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ message Achievement {
FINISHED = 2;
REWARD_TAKEN = 3;
}
uint32 timestamp = 15;
uint32 current = 5;
uint32 total = 14;
uint32 id = 3;
uint32 timestamp = 3;
uint32 current = 9;
uint32 total = 11;
uint32 id = 14;
Status status = 10;
}

message AchievementAllDataNotify {
repeated Achievement list = 4;
repeated Achievement list = 3;
}
4 changes: 2 additions & 2 deletions src/GlobalVars.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ public static class GlobalVars {
public static readonly string CachePath = Path.Combine(DataPath, "cache");
public static readonly string LibFilePath = Path.Combine(DataPath, "YaeAchievement.dll");

public const uint AppVersionCode = 38;
public const string AppVersionName = "2.8";
public const uint AppVersionCode = 39;
public const string AppVersionName = "2.9";

public const string PipeName = "YaeAchievementPipe";
public const string BucketHost = "https://cn-cd-1259389942.file.myqcloud.com";
Expand Down

0 comments on commit 849f379

Please sign in to comment.