diff --git a/build/.cmake/api/v1/reply/index-2024-08-04T07-58-06-0722.json b/build/.cmake/api/v1/reply/index-2024-08-07T00-41-28-0519.json similarity index 100% rename from build/.cmake/api/v1/reply/index-2024-08-04T07-58-06-0722.json rename to build/.cmake/api/v1/reply/index-2024-08-07T00-41-28-0519.json diff --git a/build/src/CMakeFiles/hook_aurora.dir/controller.cpp.o b/build/src/CMakeFiles/hook_aurora.dir/controller.cpp.o index 11062b9..096f4ad 100644 Binary files a/build/src/CMakeFiles/hook_aurora.dir/controller.cpp.o and b/build/src/CMakeFiles/hook_aurora.dir/controller.cpp.o differ diff --git a/src/controller.cpp b/src/controller.cpp index 5be0b1f..0d721d7 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -23,91 +23,91 @@ Controller::~Controller() void Controller::init() { - CMem::WriteUChar((void *)(base::GlobalData::Init_fix_1 - 0x1), 0); - //.text:085BDE9D 83 F8 0A cmp eax, 10 - CMem::WriteUChar((void *)(base::CParty::addDungeonClear_fix_1 + 2), 0x7E); // 普通被击 - //.text:085BDF30 83 F8 1E cmp eax, 30 - CMem::WriteUChar((void *)(base::CParty::addDungeonClear_fix_2 + 2), 0x7E); // 远古被击 - //.text:085BDFC3 83 F8 32 cmp eax, 50 - CMem::WriteUChar((void *)(base::CParty::addDungeonClear_fix_3 + 2), 0x7E); // 异界被击 - CMem::WriteUChar((void *)(0x081C025F + 1), 0x0B); - CMem::WriteUChar((void *)(0x081C029E + 1), 0x0B); + // CMem::WriteUChar((void *)(base::GlobalData::Init_fix_1 - 0x1), 0); + // //.text:085BDE9D 83 F8 0A cmp eax, 10 + // CMem::WriteUChar((void *)(base::CParty::addDungeonClear_fix_1 + 2), 0x7E); // 普通被击 + // //.text:085BDF30 83 F8 1E cmp eax, 30 + // CMem::WriteUChar((void *)(base::CParty::addDungeonClear_fix_2 + 2), 0x7E); // 远古被击 + // //.text:085BDFC3 83 F8 32 cmp eax, 50 + // CMem::WriteUChar((void *)(base::CParty::addDungeonClear_fix_3 + 2), 0x7E); // 异界被击 + // CMem::WriteUChar((void *)(0x081C025F + 1), 0x0B); + // CMem::WriteUChar((void *)(0x081C029E + 1), 0x0B); - /* 修正使用代币增加积分 - 地址 长度 原始字节 已修补字节 - 08179043 0x1 97 B8 - 0817904E 0x1 8C AD - */ - CMem::WriteUChar((void *)(0x08179043), 0xB8); - CMem::WriteUChar((void *)(0x0817904E), 0xAD); + // /* 修正使用代币增加积分 + // 地址 长度 原始字节 已修补字节 + // 08179043 0x1 97 B8 + // 0817904E 0x1 8C AD + // */ + // CMem::WriteUChar((void *)(0x08179043), 0xB8); + // CMem::WriteUChar((void *)(0x0817904E), 0xAD); - // mov dword ptr [esp+4], 8E0F448h - Asm->lea(eax, dword_ptr(ebp, -0x84)); - Asm->mov(dword_ptr(esp), eax); - Asm->mov(eax, int(&hook_importCashShopItemList)); - Asm->call(eax); - Asm->mov(dword_ptr(esp, 4), 0x8E0F448); - Asm->mov(eax, base::importCashShopItemList_hook_end); - Asm->jmp(eax); - auto code_importCashShopItemList = assembler.GetBytes(true); - void *new_importCashShopItemList_addr = Utils::alloc(code_importCashShopItemList.size()); - CMem::WriteBytes(new_importCashShopItemList_addr, code_importCashShopItemList.data(), code_importCashShopItemList.size()); - YLOG("code :%s", Utils::ToHexString((const unsigned char *)code_importCashShopItemList.data(), code_importCashShopItemList.size()).c_str()); - YLOG("code_addr :%p", new_importCashShopItemList_addr); + // // mov dword ptr [esp+4], 8E0F448h + // Asm->lea(eax, dword_ptr(ebp, -0x84)); + // Asm->mov(dword_ptr(esp), eax); + // Asm->mov(eax, int(&hook_importCashShopItemList)); + // Asm->call(eax); + // Asm->mov(dword_ptr(esp, 4), 0x8E0F448); + // Asm->mov(eax, base::importCashShopItemList_hook_end); + // Asm->jmp(eax); + // auto code_importCashShopItemList = assembler.GetBytes(true); + // void *new_importCashShopItemList_addr = Utils::alloc(code_importCashShopItemList.size()); + // CMem::WriteBytes(new_importCashShopItemList_addr, code_importCashShopItemList.data(), code_importCashShopItemList.size()); + // YLOG("code :%s", Utils::ToHexString((const unsigned char *)code_importCashShopItemList.data(), code_importCashShopItemList.size()).c_str()); + // YLOG("code_addr :%p", new_importCashShopItemList_addr); - CMem::HookJmp(base::importCashShopItemList_hook_begin, (int)new_importCashShopItemList_addr); + // CMem::HookJmp(base::importCashShopItemList_hook_begin, (int)new_importCashShopItemList_addr); - /************************************************************************/ - /* HOOK 商城购买物品成功处理 */ - /************************************************************************/ - // mov dword ptr [ebp-0FCh], 0FFFFFFFFh + // /************************************************************************/ + // /* HOOK 商城购买物品成功处理 */ + // /************************************************************************/ + // // mov dword ptr [ebp-0FCh], 0FFFFFFFFh - Asm->lea(eax, dword_ptr(ebp, -0xEC)); - Asm->mov(dword_ptr(esp, 0x10), eax); + // Asm->lea(eax, dword_ptr(ebp, -0xEC)); + // Asm->mov(dword_ptr(esp, 0x10), eax); - Asm->mov(eax, dword_ptr(ebp, -0x3A)); - Asm->mov(dword_ptr(esp, 0xc), eax); + // Asm->mov(eax, dword_ptr(ebp, -0x3A)); + // Asm->mov(dword_ptr(esp, 0xc), eax); - Asm->mov(eax, dword_ptr(ebp, -0x5C)); - Asm->mov(dword_ptr(esp, 8), eax); + // Asm->mov(eax, dword_ptr(ebp, -0x5C)); + // Asm->mov(dword_ptr(esp, 8), eax); - Asm->mov(eax, dword_ptr(ebp, -0x60)); - Asm->mov(dword_ptr(esp, 4), eax); + // Asm->mov(eax, dword_ptr(ebp, -0x60)); + // Asm->mov(dword_ptr(esp, 4), eax); - Asm->mov(eax, dword_ptr(ebp, 0xC)); - Asm->mov(dword_ptr(esp), eax); + // Asm->mov(eax, dword_ptr(ebp, 0xC)); + // Asm->mov(dword_ptr(esp), eax); - Asm->mov(eax, int(&hook_ProcessIPG_ResultOutput)); - Asm->call(eax); + // Asm->mov(eax, int(&hook_ProcessIPG_ResultOutput)); + // Asm->call(eax); - Asm->mov(dword_ptr(ebp, -0xfc), 0x0FFFFFFFF); - Asm->mov(eax, base::ItemVendingMachine::ProcessIPG_ResultOutput_hook_end); - Asm->jmp(eax); - auto code_ProcessIPG_ResultOutput = assembler.GetBytes(true); - void *new_ProcessIPG_ResultOutput_addr = Utils::alloc(code_ProcessIPG_ResultOutput.size()); - CMem::WriteBytes(new_ProcessIPG_ResultOutput_addr, code_ProcessIPG_ResultOutput.data(), code_ProcessIPG_ResultOutput.size()); - YLOG("code_2 :%s", Utils::ToHexString((const unsigned char *)code_ProcessIPG_ResultOutput.data(), code_ProcessIPG_ResultOutput.size()).c_str()); - YLOG("code_addr_2 :%p", new_ProcessIPG_ResultOutput_addr); + // Asm->mov(dword_ptr(ebp, -0xfc), 0x0FFFFFFFF); + // Asm->mov(eax, base::ItemVendingMachine::ProcessIPG_ResultOutput_hook_end); + // Asm->jmp(eax); + // auto code_ProcessIPG_ResultOutput = assembler.GetBytes(true); + // void *new_ProcessIPG_ResultOutput_addr = Utils::alloc(code_ProcessIPG_ResultOutput.size()); + // CMem::WriteBytes(new_ProcessIPG_ResultOutput_addr, code_ProcessIPG_ResultOutput.data(), code_ProcessIPG_ResultOutput.size()); + // YLOG("code_2 :%s", Utils::ToHexString((const unsigned char *)code_ProcessIPG_ResultOutput.data(), code_ProcessIPG_ResultOutput.size()).c_str()); + // YLOG("code_addr_2 :%p", new_ProcessIPG_ResultOutput_addr); - CMem::HookJmp(base::ItemVendingMachine::ProcessIPG_ResultOutput_hook_begin, (int)new_ProcessIPG_ResultOutput_addr); + // CMem::HookJmp(base::ItemVendingMachine::ProcessIPG_ResultOutput_hook_begin, (int)new_ProcessIPG_ResultOutput_addr); // HOOK_SETUP(IPacketDispatcher_ParamBase_dispatch_template); - HOOK_SETUP(UseJewel_dispatch_sig); + // HOOK_SETUP(UseJewel_dispatch_sig); - HOOK_SETUP(Dispatcher_ModItemAttr_dispatch_sig); + // HOOK_SETUP(Dispatcher_ModItemAttr_dispatch_sig); HOOK_SETUP(PacketDispatcher_doDispatch); - HOOK_SETUP(DisPatcher_MoveMap_dispatch_sig); + // HOOK_SETUP(DisPatcher_MoveMap_dispatch_sig); - HOOK_SETUP(Inter_LoadEtc_dispatch_sig); + // HOOK_SETUP(Inter_LoadEtc_dispatch_sig); - HOOK_SETUP(DisPatcher_ReturnToSelectCharacter_dispatch_sig); + // HOOK_SETUP(DisPatcher_ReturnToSelectCharacter_dispatch_sig); - HOOK_SETUP(Init); + // HOOK_SETUP(Init); - YLOG("Controller::init()"); + // YLOG("Controller::init()"); } void Controller::Jinit()