Skip to content

Commit f558437

Browse files
committed
update tuples and try fix gar_proxy
1 parent 0644f4b commit f558437

3 files changed

Lines changed: 43 additions & 15 deletions

File tree

src/constants/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ export const requestMessagesResponses = {
407407
REQUEST_TYPE_METHOD_START_TEAM_LEADER_BATTLE: [3059, POGOProtos.Rpc.StartTeamLeaderBattleProto, POGOProtos.Rpc.StartTeamLeaderBattleOutProto],
408408
REQUEST_TYPE_METHOD_COMPLETE_TEAM_LEADER_BATTLE: [3060, POGOProtos.Rpc.CompleteTeamLeaderBattleProto, POGOProtos.Rpc.CompleteTeamLeaderBattleOutProto],
409409
REQUEST_TYPE_METHOD_GET_DEBUG_ENCOUNTER_STATISTICS_ACTION: [3061, POGOProtos.Rpc.DebugEncounterStatisticsProto, POGOProtos.Rpc.DebugEncounterStatisticsOutProto],
410-
REQUEST_TYPE_METHOD_REJOIN_BATTLE_CHECK: [3062, POGOProtos.Rpc.CheckBattleRejoinProto, POGOProtos.Rpc.CheckBattleRejoinOutProto],
410+
REQUEST_TYPE_METHOD_REJOIN_BATTLE_CHECK: [3062, POGOProtos.Rpc.GetBattleRejoinStatusProto, POGOProtos.Rpc.GetBattleRejoinStatusOutProto],
411411
REQUEST_TYPE_METHOD_COMPLETE_ALL_QUEST: [3063, POGOProtos.Rpc.CompleteAllQuestProto, POGOProtos.Rpc.CompleteAllQuestOutProto],
412412
REQUEST_TYPE_METHOD_LEAVE_WEEKLY_CHALLENGE_MATCHMAKING: [3064, POGOProtos.Rpc.LeaveWeeklyChallengeMatchmakingProto, POGOProtos.Rpc.LeaveWeeklyChallengeMatchmakingOutProto],
413413
REQUEST_TYPE_METHOD_GET_PLAYER_FIELD_BOOK: [3065, POGOProtos.Rpc.GetPlayerPokemonFieldBookProto, POGOProtos.Rpc.GetPlayerPokemonFieldBookOutProto],
@@ -418,7 +418,7 @@ export const requestMessagesResponses = {
418418
REQUEST_TYPE_METHOD_NATURAL_ART_POI_ENCOUNTER: [3070, POGOProtos.Rpc.NaturalArtPoiEncounterProto, POGOProtos.Rpc.NaturalArtPoiEncounterOutProto],
419419
REQUEST_TYPE_METHOD_START_PVP_BATTLE: [3071, POGOProtos.Rpc.StartPvpBattleProto, POGOProtos.Rpc.StartPvpBattleOutProto],
420420
REQUEST_TYPE_METHOD_COMPLETE_PVP_BATTLE: [3072, POGOProtos.Rpc.CompletePvpBattleProto, POGOProtos.Rpc.CompletePvpBattleOutProto],
421-
REQUEST_TYPE_METHOD_AUTO_CATCH_LOCATION_UPDATE: [3073, POGOProtos.Rpc.AutoCatcherProto, POGOProtos.Rpc.AutoCatcherOutProto],
421+
REQUEST_TYPE_METHOD_AR_PHOTO_REWARD: [3074, null, null],
422422
REQUEST_TYPE_PLATFORM_REGISTER_PUSH_NOTIFICATION: [5000, POGOProtos.Rpc.PushNotificationRegistryProto, POGOProtos.Rpc.PushNotificationRegistryOutProto],
423423
REQUEST_TYPE_PLATFORM_UNREGISTER_PUSH_NOTIFICATION: [5001, null, null],
424424
REQUEST_TYPE_PLATFORM_UPDATE_NOTIFICATION_STATUS: [5002, POGOProtos.Rpc.UpdateNotificationProto, POGOProtos.Rpc.UpdateNotificationOutProto],
@@ -589,7 +589,7 @@ export const requestMessagesResponses = {
589589
REQUEST_TYPE_GAME_ACCOUNT_REGISTRY_ACTION_GAR_PROXY_ACTION: [600005, POGOProtos.Rpc.InternalGarProxyRequestProto, POGOProtos.Rpc.InternalGarProxyResponseProto],
590590
REQUEST_TYPE_GAME_ACCOUNT_REGISTRY_ACTION_LINK_TO_ACCOUNT_LOGIN_ACTION: [600006, POGOProtos.Rpc.InternalLinkToAccountLoginRequestProto, POGOProtos.Rpc.InternalLinkToAccountLoginResponseProto],
591591
REQUEST_TYPE_GAME_ACCOUNT_REGISTRY_ACTION_GET_APP_REQUEST_TOKEN_REDIRECT_URL_PLATFORM_ACTION: [600007, null, null],
592-
REQUEST_TYPE_GAME_TELEMETRY_ACTION_COLLECT_CLIENT_TELEMETRY: [610000, null, null],
592+
REQUEST_TYPE_GAME_TELEMETRY_ACTION_COLLECT_CLIENT_TELEMETRY: [610000, POGOProtos.Rpc.MapsClientTelemetryBatchProto, POGOProtos.Rpc.MapsClientTelemetryResponseProto],
593593
REQUEST_TYPE_GAME_TELEMETRY_ACTION_GET_CLIENT_TELEMETRY_SETTINGS: [610001, null, null],
594594
REQUEST_TYPE_TITAN_PLAYER_SUBMISSION_ACTION_ADD_NEW_POI: [620000, POGOProtos.Rpc.TitanSubmitNewPoiProto, POGOProtos.Rpc.TitanSubmitNewPoiOutProto],
595595
REQUEST_TYPE_TITAN_PLAYER_SUBMISSION_ACTION_GET_AVAILABLE_SUBMISSIONS: [620001, POGOProtos.Rpc.TitanGetAvailableSubmissionsProto, POGOProtos.Rpc.TitanGetAvailableSubmissionsOutProto],

src/parser/proto-parser.ts

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,25 @@
11
import { b64Decode } from "../utils";
22
import { requestMessagesResponses } from "../constants";
33
import { DecodedProto } from "../types";
4+
import POGOProtos from "@na-ji/pogo-protos";
45

56
let action_social = 0;
7+
let action_gar_proxy = 0;
8+
9+
function DecoderInternalGarPayloadAsResponse(method: number, data: any): any {
10+
action_gar_proxy = 0;
11+
if (!data) {
12+
return {};
13+
}
14+
15+
switch (method) {
16+
case 4:
17+
return POGOProtos.Rpc.InternalCreateSharedLoginTokenResponse.decode(b64Decode(data)).toJSON();
18+
default:
19+
return { Not_Implemented_yet: data, method: method };
20+
}
21+
}
22+
623
function DecoderInternalPayloadAsResponse(method: number, data: any): any {
724
action_social = 0;
825
let proto_tuple: any = Object.values(requestMessagesResponses)[method];
@@ -88,7 +105,7 @@ export const decodeProto = (method: number, data: string, dataType: string): Dec
88105
} else {
89106
parsedData = foundMethod[1].decode(b64Decode(data)).toJSON();
90107
}
91-
if (foundMethod[0] === 5012 || foundMethod[0] === 600005) {
108+
if (foundMethod[0] === 5012) {
92109
action_social = parsedData.action;
93110
Object.values(requestMessagesResponses).forEach(val => {
94111
let req: any = val;
@@ -97,6 +114,17 @@ export const decodeProto = (method: number, data: string, dataType: string): Dec
97114
}
98115
});
99116
}
117+
else if (foundMethod[0] === 600005) {
118+
action_gar_proxy = parsedData.action;
119+
switch (action_gar_proxy) {
120+
case 4:
121+
parsedData.payload = POGOProtos.Rpc.InternalGarAccountInfoProto.decode(b64Decode(parsedData.payload)).toJSON();
122+
break;
123+
default:
124+
break;
125+
}
126+
127+
}
100128
returnObject = {
101129
methodId: foundMethod[0],
102130
methodName: remasterOrCleanMethodString(foundMethodString),
@@ -136,8 +164,8 @@ export const decodeProto = (method: number, data: string, dataType: string): Dec
136164
if (foundMethod[0] === 5012 && action_social > 0 && parsedData.payload) {
137165
parsedData.payload = DecoderInternalPayloadAsResponse(action_social, parsedData.payload);
138166
}
139-
else if (foundMethod[0] === 600005 && action_social > 0 && parsedData.payload) {
140-
parsedData.payload = DecoderInternalPayloadAsResponse(action_social, parsedData.payload);
167+
else if (foundMethod[0] === 600005 && action_gar_proxy > 0 && parsedData.payload) {
168+
parsedData.payload = DecoderInternalGarPayloadAsResponse(action_gar_proxy, parsedData.payload);
141169
}
142170
returnObject = {
143171
methodId: foundMethod[0],

yarn.lock

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
1616

1717
"@na-ji/pogo-protos@^2.131.0":
18-
version "2.205.0"
19-
resolved "https://registry.yarnpkg.com/@na-ji/pogo-protos/-/pogo-protos-2.205.0.tgz#7001f8cbe65c2c5de697308b28833b076003076b"
20-
integrity sha512-9riW9iEODcRMQ1p5pUIFvkwGT/6iVw7vmHnSmAYVAZ1rNG2cM/28aR7MEi4UJNbZPF69atOz8IKdetJHblHndg==
18+
version "2.209.0"
19+
resolved "https://registry.yarnpkg.com/@na-ji/pogo-protos/-/pogo-protos-2.209.0.tgz#ab44722a6e400a9ad7f3e6cbbf05738c042b6615"
20+
integrity sha512-TVL0DAkK8khYPo9SOvKrj50mzFLmV/C8bPbUxEI8r8igU6f4Y7ehkGEnbaJ0P65lHI7W5g6oSTX9TXbhOe13fg==
2121
dependencies:
2222
protobufjs "^6.11.4"
2323

@@ -97,16 +97,16 @@
9797
integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==
9898

9999
"@types/node@*", "@types/node@>=10.0.0", "@types/node@>=13.7.0":
100-
version "24.9.2"
101-
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.9.2.tgz#90ded2422dbfcafcf72080f28975adc21366148d"
102-
integrity sha512-uWN8YqxXxqFMX2RqGOrumsKeti4LlmIMIyV0lgut4jx7KQBcBiW6vkDtIBvHnHIquwNfJhk8v2OtmO8zXWHfPA==
100+
version "24.10.1"
101+
resolved "https://registry.yarnpkg.com/@types/node/-/node-24.10.1.tgz#91e92182c93db8bd6224fca031e2370cef9a8f01"
102+
integrity sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==
103103
dependencies:
104104
undici-types "~7.16.0"
105105

106106
"@types/node@^20.3.1":
107-
version "20.19.24"
108-
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.24.tgz#6bc35bc96cda1a251000b706c76380b5c843f30b"
109-
integrity sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA==
107+
version "20.19.25"
108+
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.19.25.tgz#467da94a2fd966b57cc39c357247d68047611190"
109+
integrity sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==
110110
dependencies:
111111
undici-types "~6.21.0"
112112

0 commit comments

Comments
 (0)