n81520 發表於 2020-5-14 13:46:32

提供獲取人物等級的CRC數據,求一個使用C或者C++編寫的源代碼使用CRC數據進行獲取遊戲等級

本帖最後由 n81520 於 2020-5-14 20:37 編輯

提供的CRC數據:
// TwMs v225.1 CRC 取得人物等級

Registersymbol(Level)
Alloc(GetLevel,64)
Alloc(Level,4)
Label(Return)

GetLevel:
mov ,edi
call 009E0860
jmp Return

02C00195:
jmp GetLevel
Return:


02C00195:
call 009E0860

DeAlloc(Level)
DeAlloc(GetLevel)

要求:1.需要是使用C或者C++實現的源代碼
          2.使用提供的CRC數據獲取人物等級,將等級保存到變量中。

qwas963563 發表於 2020-5-14 13:46:33

本帖最後由 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,edi
                call Dword Ptr
                jmp
        }
}

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:45

不太懂你所需要的需求

n81520 發表於 2020-5-14 21:11:31

王程 發表於 2020-5-14 21:09 static/image/common/back.gif
不太懂你所需要的需求

就是用C或者C++使用我提供的CRC數據

王程 發表於 2020-5-14 21:13:58

為何你不用CE 把數據打進去就好了

n81520 發表於 2020-5-14 21:17:39

哈哈,我有自己一些別的需求啦,CE修改器沒辦法滿足我,
頁: [1]
查看完整版本: 提供獲取人物等級的CRC數據,求一個使用C或者C++編寫的源代碼使用CRC數據進行獲取遊戲等級