冰楓論壇
標題:
提供獲取人物等級的CRC數據,求一個使用C或者C++編寫的源代碼使用CRC數據進行獲取遊戲等級
[打印本頁]
作者:
n81520
時間:
2020-5-14 13:46
標題:
提供獲取人物等級的CRC數據,求一個使用C或者C++編寫的源代碼使用CRC數據進行獲取遊戲等級
本帖最後由 n81520 於 2020-5-14 20:37 編輯
提供的CRC數據:
// TwMs v225.1 CRC 取得人物等級
[ENABLE]
Registersymbol(Level)
Alloc(GetLevel,64)
Alloc(Level,4)
Label(Return)
GetLevel:
mov [Level],edi
call 009E0860
jmp Return
02C00195:
jmp GetLevel
Return:
[DISABLE]
02C00195:
call 009E0860
DeAlloc(Level)
DeAlloc(GetLevel)
要求:1.需要是使用C或者C++實現的源代碼
2.使用提供的CRC數據獲取人物等級,將等級保存到變量中。
作者:
qwas963563
時間:
2020-5-14 13:46
本帖最後由 qwas963563 於 2020-5-17 00:25 編輯
此為 VC++ DLL 版本 注入即可獲取遊戲等級
NowLevel
就是
當前人物等級
#include <Windows.h>
DWORD NowLevel = 0; //人物等級
DWORD GetLevelHook_Address = 0x02C00195; // Hook 地址
DWORD GetLevelHook_Retrun = GetLevelHook_Address + 5; // 返回地址
DWORD GetLevelHook_Call = 0x009E0860; // 數據所使用的 Call
// Hook 函數
// lpAddress 是 需要 HOOK 的地址
// Function 是 我們自己的函數地址
void Hook(const DWORD lpAddress, LPCVOID Function)
{
DWORD OldProtection;
VirtualProtect((LPVOID)lpAddress, 5, PAGE_EXECUTE_READWRITE, &OldProtection);
*(LPBYTE)lpAddress = 0xE9;
*(LPDWORD)(lpAddress + 1) = (DWORD)Function - lpAddress - 5;
VirtualProtect((LPVOID)lpAddress, 5, OldProtection, &OldProtection);
}
// 我們自己的函數 取得人物等級
void __declspec(naked) GetLevel()
{
_asm
{
mov Dword Ptr[NowLevel],edi
call Dword Ptr[GetLevelHook_Call]
jmp [GetLevelHook_Retrun]
}
}
BOOL APIENTRY DllMain(HINSTANCE hInstance, DWORD fdwReason, LPVOID lpvReserved)
{
if (fdwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hInstance);
Hook(GetLevelHook_Address, GetLevel);
}
return TRUE;
}
複製代碼
作者:
王程
時間:
2020-5-14 21:09
不太懂你所需要的需求
作者:
n81520
時間:
2020-5-14 21:11
王程 發表於 2020-5-14 21:09
不太懂你所需要的需求
就是用C或者C++使用我提供的CRC數據
作者:
王程
時間:
2020-5-14 21:13
為何你不用CE 把數據打進去就好了
作者:
n81520
時間:
2020-5-14 21:17
哈哈,我有自己一些別的需求啦,CE修改器沒辦法滿足我,
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓