all I need is to inject my function instead of playfab connection to official server using minhook
mb no need in full dump but can’t identify correctly name of “login to playfab” function
I found this classes [003959] Enum Backend.EYLoginResult
[003960] Enum YOnlineSubsystemUtilsPlugin.EYPlayfabLoginType
[003961] Enum YOnlineSubsystemUtilsPlugin.EYAuthorizationUsageType
and this`your text`
00000001448D7AD0 4F 6E 50 6C 61 79 66 61 62 53 65 72 76 65 72 4C OnPlayfabServerL
00000001448D7AE0 6F 67 69 6E 00 00 00 00 40 70 D0 45 01 00 00 00 ogin….@p……
00000001448D7AF0 78 70 D0 45 01 00 00 00 A0 70 D0 45 01 00 00 00 xp…….p……
00000001448D7B00 73 75 63 63 65 64 65 64 00 00 00 00 00 00 00 00 succeded……..
00000001448D7B10 6C 6F 67 69 6E 45 72 72 6F 72 00 00 00 00 00 00 loginError……
00000001448D7B20 70 6C 61 79 66 61 62 54 69 74 6C 65 49 64 00 00 playfabTitleId..
and this
.rdata:00000001448D7AD0 aOnplayfabserve db ‘OnPlayfabServerLogin’,0
.rdata:00000001448D7AD0 ; DATA XREF: .rdata:00000001448D7B48↓o
.rdata:00000001448D7AD0 ; .rdata:00000001448D8730↓o …
.rdata:00000001448D7AE5 align 8
.rdata:00000001448D7AE8 off_1448D7AE8 dq offset off_145D07040 ; DATA XREF: .data:0000000145D07100↓o
.rdata:00000001448D7AE8 ; “succeded”
.rdata:00000001448D7AF0 dq offset off_145D07078 ; “loginError”
.rdata:00000001448D7AF8 dq offset off_145D070A0 ; “playfabTitleId”
.rdata:00000001448D7B00 aSucceded db ‘succeded’,0 ; DATA XREF: .data:off_145D07040↓o
.rdata:00000001448D7B00 ; .data:off_145D31128↓o
.rdata:00000001448D7B09 align 10h
.rdata:00000001448D7B10 aLoginerror db ‘loginError’,0 ; DATA XREF: .data:off_145D07078↓o
.rdata:00000001448D7B10 ; .data:off_145D31160↓o …
.rdata:00000001448D7B1B align 20h
.rdata:00000001448D7B20 aPlayfabtitleid db ‘playfabTitleId’,0 ; DATA XREF: .data:off_145D070A0↓o
.rdata:00000001448D7B20 ; .data:off_145D31188↓o …
.rdata:00000001448D7B2F align 10h
.rdata:00000001448D7B30 off_1448D7B30 dq offset qword_1421F3A90+130h
.rdata:00000001448D7B30 ; DATA XREF: .rdata:00000001448D7B78↓o
.rdata:00000001448D7B38 dq offset qword_140946A90+6A0h
.rdata:00000001448D7B40 off_1448D7B40 dq offset qword_140946A90+440h
.rdata:00000001448D7B40 ; DATA XREF: .rdata:00000001448D7B80↓o
.rdata:00000001448D7B48 dq offset aOnplayfabserve ; “OnPlayfabServerLogin”
.rdata:00000001448D7B50 off_1448D7B50 dq offset off_145D07118 ; DATA XREF: .rdata:00000001448D7B88↓o
.rdata:00000001448D7B50 ; “m_playfabInstance”
.rdata:00000001448D7B58 unk_1448D7B58 db 0 ; DATA XREF: .rdata:00000001448D7B70↓o
.rdata:00000001448D7B59 db 0
tried to implement it here
Function offset, find with “?sdk=”.*/
constexpr uintptr_t OffsetOnPlayfabServerLogin = 0x140965CF0;
/**
Function hooks./
typedef SDK::FString(fastcall tOnPlayfabServerLogin)(SDK::YPlayFabAPISettings*, const SDK::FString&);
tOnPlayfabServerLogin OldOnPlayfabServerLogin;
SDK::FString fastcall OnPlayfabServerLoginProxy(SDK::YPlayFabAPISettings* thiz, const SDK::FString& callPath)
{
logger::Print(“[Agent] GetURL called with callPath %sn”, callPath.ToString().c_str());
return std::wstring(L"http://127.0.0.1:5000") + std::wstring(callPath.c_str());
}
but failed your text
Dimon Tekneek is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.