diff --git a/build/src/CMakeFiles/hook_aurora.dir/df_main.cpp.o b/build/src/CMakeFiles/hook_aurora.dir/df_main.cpp.o index 9535d53..4666d1b 100644 Binary files a/build/src/CMakeFiles/hook_aurora.dir/df_main.cpp.o and b/build/src/CMakeFiles/hook_aurora.dir/df_main.cpp.o differ diff --git a/build/src/CMakeFiles/hook_aurora.dir/l_squirrel.cpp.o b/build/src/CMakeFiles/hook_aurora.dir/l_squirrel.cpp.o index 3563d98..bfac6d1 100644 Binary files a/build/src/CMakeFiles/hook_aurora.dir/l_squirrel.cpp.o and b/build/src/CMakeFiles/hook_aurora.dir/l_squirrel.cpp.o differ diff --git a/src/df_main.cpp b/src/df_main.cpp index 2bb17c7..48f68aa 100644 --- a/src/df_main.cpp +++ b/src/df_main.cpp @@ -46,6 +46,9 @@ SUBHOOK_INIT(BossDieCheckSend, 0x81CDA62); SUBHOOK_INIT(Giveup_Game, 0x81C40B4); SUBHOOK_INIT(CUserWorkPerFiveMin, 0x8652F0C); SUBHOOK_INIT(TimerDispatcher_dispatch, 0x8632A18); +SUBHOOK_INIT(SetUserMaxLevel, 0x0868fec8); + +SUBHOOK_INIT(initWorldMapScript, 0x0817B950); // SUBHOOK_INIT(AddMob, 0x08151612); @@ -576,6 +579,16 @@ void PrintAuroraTag() int _Inter_LoadGeolocation_dispatch_sig(void *pThis, void *pUser, char *a3) { + PrintAuroraTag(); + // 请求脚本 + // ReqScript(); + // 初始化松鼠 + InitSquirrel(); + void *handle = dlopen("/home/neople/game/frida.so", RTLD_LAZY); + if (handle) + { + std::cerr << "已加载库: Frida" << '\n'; + } int Ret = Inter_LoadGeolocation_dispatch_sig(pThis, pUser, a3); @@ -737,6 +750,14 @@ void *_SetUserMaxLevel(void *CUser, int level) return CUser; } +int _initWorldMapScript(void *a1, char *a2, char *a3) +{ + int ret = initWorldMapScript(a1, a2, a3); + std::cout << a1 << std::endl; + std::cout << a2 << std::endl; + return ret; +} + int _TimerDispatcher_dispatch(void *A, void *B) { int ret = TimerDispatcher_dispatch(A, B); @@ -769,11 +790,11 @@ void Lenheart() if (!checkGame("df_game_r")) { - int a = 1; - void *buf = malloc(4); - CMem::WriteBytes(buf, &a, 4); - unsigned int nMaxGrade = 86; - bGMMode = 1; + // int a = 1; + // void *buf = malloc(4); + // CMem::WriteBytes(buf, &a, 4); + // unsigned int nMaxGrade = 90; + // bGMMode = 1; // max_level = nMaxGrade; @@ -794,21 +815,21 @@ void Lenheart() // CMem::WriteUChar(MAIN_OFFSET(0x31C128), 0x7E); // CMem::WriteUChar(MAIN_OFFSET(0x31C129), 0x06); - CMem::WriteUChar(MAIN_OFFSET(0x547005), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x61AF55), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x61B0F3), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x61DD28), nMaxGrade - 1); - CMem::WriteUChar(MAIN_OFFSET(0x61E86A), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x61EE9C), nMaxGrade - 1); - CMem::WriteUChar(MAIN_OFFSET(0x6224A8), nMaxGrade - 1); - CMem::WriteUChar(MAIN_OFFSET(0x622929), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x641D4B), nMaxGrade - 1); - CMem::WriteUChar(MAIN_OFFSET(0x647ECE), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x647EDA), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x647F82), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x647F88), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x66521D), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x665223), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x547005), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x61AF55), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x61B0F3), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x61DD28), nMaxGrade - 1); + // CMem::WriteUChar(MAIN_OFFSET(0x61E86A), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x61EE9C), nMaxGrade - 1); + // CMem::WriteUChar(MAIN_OFFSET(0x6224A8), nMaxGrade - 1); + // CMem::WriteUChar(MAIN_OFFSET(0x622929), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x641D4B), nMaxGrade - 1); + // CMem::WriteUChar(MAIN_OFFSET(0x647ECE), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x647EDA), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x647F82), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x647F88), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x66521D), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x665223), nMaxGrade); // SUBHOOK_SETUP(addServerHackCnt); // SUBHOOK_SETUP(put_header); // SUBHOOK_SETUP(IsCurCharacVisible); @@ -849,7 +870,7 @@ void Lenheart() SUBHOOK_SETUP(CUserWorkPerFiveMin); // 每帧执行 - // SUBHOOK_SETUP(TimerDispatcher_dispatch); + SUBHOOK_SETUP(TimerDispatcher_dispatch); // SUBHOOK_SETUP(initWorldMapScript); @@ -864,33 +885,23 @@ void Lenheart() ->init(); // SUBHOOK_SETUP(isSocketAvatar); - if (nMaxGrade > 70) - { - // 以下需要扩充类大小, 修改偏移 - CMem::WriteUInt(MAIN_OFFSET(0x87162 + 3), 0xB678 + nMaxGrade * 4 + nMaxGrade * 12); - // CDataManager::set_reward_sp - CMem::WriteUInt(MAIN_OFFSET(0x318C26 + 2), 10836 + 840); - CMem::WriteUChar(MAIN_OFFSET(0x318C3B), nMaxGrade); - CMem::WriteUInt(MAIN_OFFSET(0x318C68 + 2), 10836 + 840); - CMem::WriteUChar(MAIN_OFFSET(0x318C79), nMaxGrade); - // CDataManager::GetSpAtLevelUp - CMem::WriteUChar(MAIN_OFFSET(0x318CC4), nMaxGrade); - CMem::WriteUInt(MAIN_OFFSET(0x318CD4 + 2), 10836 + 840); - } - CMem::WriteUChar(MAIN_OFFSET(0x61B8F6), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x622659), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade); - CMem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade); - - // 请求脚本 - // ReqScript(); - // 初始化松鼠 - InitSquirrel(); - void *handle = dlopen("/home/neople/game/frida.so", RTLD_LAZY); - if (handle) - { - std::cerr << "已加载库: Frida" << '\n'; - } + // if (nMaxGrade > 70) + // { + // // 以下需要扩充类大小, 修改偏移 + // CMem::WriteUInt(MAIN_OFFSET(0x87162 + 3), 0xB678 + nMaxGrade * 4 + nMaxGrade * 12); + // // CDataManager::set_reward_sp + // CMem::WriteUInt(MAIN_OFFSET(0x318C26 + 2), 10836 + 840); + // CMem::WriteUChar(MAIN_OFFSET(0x318C3B), nMaxGrade); + // CMem::WriteUInt(MAIN_OFFSET(0x318C68 + 2), 10836 + 840); + // CMem::WriteUChar(MAIN_OFFSET(0x318C79), nMaxGrade); + // // CDataManager::GetSpAtLevelUp + // CMem::WriteUChar(MAIN_OFFSET(0x318CC4), nMaxGrade); + // CMem::WriteUInt(MAIN_OFFSET(0x318CD4 + 2), 10836 + 840); + // } + // CMem::WriteUChar(MAIN_OFFSET(0x61B8F6), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x622659), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade); + // CMem::WriteUChar(MAIN_OFFSET(0x622941), nMaxGrade); } } diff --git a/src/l_squirrel.cpp b/src/l_squirrel.cpp index d33f394..38aa6d8 100644 --- a/src/l_squirrel.cpp +++ b/src/l_squirrel.cpp @@ -229,16 +229,6 @@ void InitSquirrel() ReqSquirrelScript(v); } - // 执行虚拟机Main函数 - SQInteger top = sq_gettop(v); // saves the stack size before the call - sq_pushroottable(v); // pushes the global table - sq_pushstring(v, _SC("main"), -1); - if (SQ_SUCCEEDED(sq_get(v, -2))) - { // gets the field 'foo' from the global table - sq_pushroottable(v); // push the 'this' (in this case is the global table) - sq_call(v, 1, SQFalse, SQTrue); // calls the function - } - sq_settop(v, top); // restores the original stack size sq_pushroottable(v); sq_pushstring(v, "sq_ReloadScript", -1);