This commit is contained in:
test123456654321 2024-10-27 21:11:41 +08:00
parent 523ae34cc6
commit 8592939737
2 changed files with 17 additions and 10 deletions

View File

@ -140,7 +140,13 @@ bool Hook_Network_RoomMember_SendGameInfo()
// Network::RoomMember *this, // Network::RoomMember *this,
// const AnnounceMultiplayerRoom::GameInfo *game_info) // const AnnounceMultiplayerRoom::GameInfo *game_info)
game_info = *(GameInfo *)stack->rdx; game_info = *(GameInfo *)stack->rdx;
ConsoleOutput("%s %llx %s", game_info.name.c_str(), game_info.id, game_info.version.c_str()); std::stringstream num;
num << std::uppercase
<< std::hex
<< std::setw(16)
<< std::setfill('0')
<< game_info.id;
ConsoleOutput("%s %s %s", game_info.name.c_str(), num.str().c_str(), game_info.version.c_str());
}; };
return NewHook(hp, "yuzuGameInfo"); return NewHook(hp, "yuzuGameInfo");
} }
@ -3138,7 +3144,7 @@ namespace
{0x802a76c0, {CODEC_UTF32, 0, 0, 0, F01007FD00DB20000, "01007FD00DB20000", "1.0.0"}}, {0x802a76c0, {CODEC_UTF32, 0, 0, 0, F01007FD00DB20000, "01007FD00DB20000", "1.0.0"}},
{0x8031fc80, {CODEC_UTF32, 1, 0, 0, F01007FD00DB20000, "01007FD00DB20000", "1.0.0"}}, {0x8031fc80, {CODEC_UTF32, 1, 0, 0, F01007FD00DB20000, "01007FD00DB20000", "1.0.0"}},
// 真流行り神3 // 真流行り神3
{0x80082F70, {0, 0xb, 0, TF0100AA1013B96000, 0, "0100AA1013B96000", nullptr}},//"1.0.0", "1.0.1" {0x80082F70, {0, 0xb, 0, TF0100AA1013B96000, 0, "0100AA1013B96000", nullptr}}, //"1.0.0", "1.0.1"
}; };
return 1; return 1;

View File

@ -95,11 +95,12 @@ enum class JITTYPE
}; };
struct HookParam struct HookParam
{ {
ALIGNPTR(uint64_t __11, uintptr_t address); // absolute or relative address // address和emu_addr需要在host和hook之间传递因此不能用uintptr_t
int offset, // offset of the data in the memory uint64_t address; // absolute or relative address
index, // deref_offset1 int offset, // offset of the data in the memory
split, // offset of the split character index, // deref_offset1
split_index; // deref_offset2 split, // offset of the split character
split_index; // deref_offset2
wchar_t module[MAX_MODULE_SIZE]; wchar_t module[MAX_MODULE_SIZE];
@ -113,7 +114,7 @@ struct HookParam
ALIGNPTR(uint64_t __3, bool (*filter_fun)(void *data, size_t *len, HookParam *hp)); // jichi 10/24/2014: Add filter function. Return false to skip the text ALIGNPTR(uint64_t __3, bool (*filter_fun)(void *data, size_t *len, HookParam *hp)); // jichi 10/24/2014: Add filter function. Return false to skip the text
ALIGNPTR(uint64_t __6, bool (*hook_before)(hook_stack *stack, void *data, size_t *len, uintptr_t *role)); ALIGNPTR(uint64_t __6, bool (*hook_before)(hook_stack *stack, void *data, size_t *len, uintptr_t *role));
ALIGNPTR(uint64_t __7, void (*hook_after)(hook_stack *stack, void *data, size_t len)); ALIGNPTR(uint64_t __7, void (*hook_after)(hook_stack *stack, void *data, size_t len));
ALIGNPTR(uint64_t __8, uintptr_t hook_font); uint64_t hook_font;
ALIGNPTR(uint64_t __9, const wchar_t *newlineseperator); ALIGNPTR(uint64_t __9, const wchar_t *newlineseperator);
char name[HOOK_NAME_SIZE]; char name[HOOK_NAME_SIZE];
wchar_t hookcode[HOOKCODE_LEN]; wchar_t hookcode[HOOKCODE_LEN];
@ -121,7 +122,7 @@ struct HookParam
{ {
ZeroMemory(this, sizeof(HookParam)); ZeroMemory(this, sizeof(HookParam));
} }
ALIGNPTR(uint64_t __10, uintptr_t emu_addr); uint64_t emu_addr;
int argidx; int argidx;
JITTYPE jittype; JITTYPE jittype;
char unityfunctioninfo[1024]; char unityfunctioninfo[1024];
@ -200,7 +201,7 @@ struct HookFoundNotif // From dll
struct HookRemovedNotif // From dll struct HookRemovedNotif // From dll
{ {
HookRemovedNotif(uint64_t address) : address(address){}; HookRemovedNotif(uint64_t address) : address(address) {};
HostNotificationType command = HOST_NOTIFICATION_RMVHOOK; HostNotificationType command = HOST_NOTIFICATION_RMVHOOK;
uint64_t address; uint64_t address;
}; };