Гайд Автообновление (добавление) оффсетов в ахк чит

Статус
В этой теме нельзя размещать новые ответы.
vk.com/ahkcsgocheat
Пользователь
Статус
Оффлайн
Регистрация
21 Апр 2020
Сообщения
379
Реакции[?]
64
Поинты[?]
2K
Гайд для тех, кто хочет научиться писать читы на автохоткей и уже разбирается в автохоткей. Здесь я покажу, как получить оффсет этого радар хака. Можете сами попробовать приделать автообновление к радар хаку.

  1. Первое, что нужно сделать, это прочитать байты модуля игры, вот этим скриптом/отрывком кода.
    C:
    PROCESS_VM_READ := 0x10
    PROCESS_VM_OPERATION := 0x8
    
    Process, Exist, csgo.exe
    
    If(!ErrorLevel) {
    MsgBox, Process not found.
    }
    
    PID := ErrorLevel
    
    base := GetDllBase("client.dll", ErrorLevel)
    
    hProcess := DllCall("OpenProcess", "UInt", PROCESS_VM_READ | PROCESS_VM_OPERATION
    , "Int", False
    , "UInt", PID)
    
    bytes := 2000000
    VarSetCapacity(buffer, bytes)
    DllCall("ReadProcessMemory", "Ptr", hProcess, "Ptr", base, "Ptr", &buffer, "Ptr", bytes, "Ptr", NULL)
    
    var := bufferToHex(buffer, 1000000)
    FileAppend, %var%, file.txt
    
    bufferToHex(byRef buffer, sizeBytes)
    {
    loop % sizeBytes
    s .= Format("{:02X} ", NumGet(&buffer + 0, A_Index - 1, "UChar"))
    return rtrim(s, A_space)
    }
    
    GetDllBase(DllName, PID = 0)
    {
    TH32CS_SNAPMODULE := 0x00000008
    INVALID_HANDLE_VALUE = -1
    VarSetCapacity(me32, 548, 0)
    NumPut(548, me32, "Uint")
    snapMod := DllCall("CreateToolhelp32Snapshot", "Uint", TH32CS_SNAPMODULE
    , "Uint", PID)
    If (snapMod = INVALID_HANDLE_VALUE) {
    Return 0
    }
    If (DllCall("Module32First", "Uint", snapMod, "Uint", &me32)){
    while(DllCall("Module32Next", "Uint", snapMod, "UInt", &me32)) {
    If !DllCall("lstrcmpi", "Str", DllName, "UInt", &me32 + 32) {
    DllCall("CloseHandle", "UInt", snapMod)
    Return NumGet(&me32 + 20)
    }
    }
    }
    DllCall("CloseHandle", "Uint", snapMod)
    Return 0
    }
    Результат сохраняется в текстовый файл file.txt (для примера). Считывание данных занимает 5-10 секунд.

    2. Затем нужно найти последовательность байт (на примере радар хака - это будет \x83\xE0\x0F\x80\xBF + 9 (оно же 83 E0 0F 80 BF + 9 для автохоткей).
    3. Затем нужно узнать, на какой позиции находятся байты в памяти модуля (думаю, не сложно). Если сложно, то:
    MsgBox % InStr("123abc789", "abc")
    Это и будет правильный оффсет.

    P.S. Таким способом можно находить любые оффсеты для любых команд. Нужно только найти правильную последовательность байтов.

    На этом гайд окончен.
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
10 Дек 2014
Сообщения
6
Реакции[?]
0
Поинты[?]
0
Такой вопрос, выходят одни нули, что делать в этом случае?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу