BannyHop в тайминг AHK

loRes

Новичок
Автор темы
5
0
Ребят привет, решил повторить идеи bhopin и HUGERAIN которые читают из памяти CSGO когда игрок стоит или в воздухе(то есть прыгнул)

Так вот с помощью Cheat Engine я уже нашёл нужный адрес который меняется на 5 если прыгнуть или на 4 если игрок стоит.
Теперь как - прочитать из памяти CSGO тот адрес и получить значение 4 или 5?
 

SampiDampi

Новичок
19
2
Ребят привет, решил повторить идеи bhopin и HUGERAIN которые читают из памяти CSGO когда игрок стоит или в воздухе(то есть прыгнул)

Так вот с помощью Cheat Engine я уже нашёл нужный адрес который меняется на 5 если прыгнуть или на 4 если игрок стоит.
Теперь как - прочитать из памяти CSGO тот адрес и получить значение 4 или 5?

Либа: https://github.com/Kalamity/classMemory


AutoHotKey:
#include classMemory.ahk

mem := new _ClassMemory("ahk_exe GTA5.exe","PROCESS_ALL_ACCESS")

baseAdr := mem.getModuleBaseAddress("GTA5.exe")
WorldPTR := mem.Read(baseaddr+0x24EEDF0,"Int64")
Thingy := mem.Read(WorldPTR+0x8,"Int64")
hp := mem.Read(Thingy+0x280,"Float")

msgbox, HP: %hp%
 

loRes

Новичок
Автор темы
5
0
Либа: https://github.com/Kalamity/classMemory


AutoHotKey:
#include classMemory.ahk

mem := new _ClassMemory("ahk_exe GTA5.exe","PROCESS_ALL_ACCESS")

baseAdr := mem.getModuleBaseAddress("GTA5.exe")
WorldPTR := mem.Read(baseaddr+0x24EEDF0,"Int64")
Thingy := mem.Read(WorldPTR+0x8,"Int64")
hp := mem.Read(Thingy+0x280,"Float")

msgbox, HP: %hp%
Можешь, пожалуйста, объяснить что для чего
Вот у меня есть адрес: 5A0EDF04 или client.dll+524DF04 и он меняется на 4 если я на земле или на 5 если я прыгнул и мне нужно прочитать именно этот параметр и получить чёткий ответ 4 или 5
 

SampiDampi

Новичок
19
2
Можешь, пожалуйста, объяснить что для чего
Вот у меня есть адрес: 5A0EDF04 или client.dll+524DF04 и он меняется на 4 если я на земле или на 5 если я прыгнул и мне нужно прочитать именно этот параметр и получить чёткий ответ 4 или 5

в КС не играю, не могу проверить, как-то так:
AutoHotKey:
#include classMemory.ahk

mem := new _ClassMemory("ahk_exe csgo.exe","PROCESS_ALL_ACCESS") ;получаем доступ к памяти процесса

baseAdr := mem.getModuleBaseAddress("client.dll") ;получаем адрес модуля
jumpState := mem.Read(baseaddr+0x524DF04,"Float") ; получаем значение

msgbox, Jump State: %jumpState%
 

loRes

Новичок
Автор темы
5
0
в КС не играю, не могу проверить, как-то так:
AutoHotKey:
#include classMemory.ahk

mem := new _ClassMemory("ahk_exe csgo.exe","PROCESS_ALL_ACCESS") ;получаем доступ к памяти процесса

baseAdr := mem.getModuleBaseAddress("client.dll") ;получаем адрес модуля
jumpState := mem.Read(baseaddr+0x524DF04,"Float") ; получаем значение

msgbox, Jump State: %jumpState%
К сожаленью не работает, кстати я заметил что при каждой переустановки игры тот адрес меняться, так что-либо существует какой-то общий адрес, либо программы которые я указал выше перехватывают данные которые, отправляются на сервер
 

Nigga_02

Новичок
13
3
AutoHotKey:
#include classMemory.ahk

_classmemory.setSeDebugPrivilege()

csgo := new _ClassMemory("ahk_exe csgo.exe", "", hProcess)
if !IsObject(csgo)
{
    if (hProcess = "")
        msgbox OpenProcess failed. If the target process has admin rights, then the script also needs to be ran as admin. Consult A_LastError for more information.
    else msgbox cs:go.exe not found
    ExitApp
}

base := csgo.getModuleBaseAddress("client.dll")
Pattern := [0x8D, 0x34, 0x85, "??", "??", "??", "??", 0x89, 0x15, "??", "??", "??", "??", 0x8B, 0x41, 0x8, 0x8B, 0x48, "??"]

address := csgo.modulePatternScan("client.dll", Pattern*)

loc := csgo.read(address + 3, "UInt")
var := csgo.read(address + 18, "UChar")
dwLocalPlayer := (loc + var) - base

dwForceJump := csgo.read(address  + 2, "UInt")
dwFlags := 0x104

Loop
{
  LocalPlayer := lou.read(base + dwLocalPlayer, "UInt")
   Flags := lou.read(LocalPlayer + dwFlags, "UInt")
   if (GetKeyState("Space") and Flags != 256 and Flags != 262) {
    dllcall("keybd_event", uint, 0x0E, int, 0x39, int, 1, int, 0)
    dllcall("keybd_event", uint, 0x0E, int, 0x39, int, 2, int, 0)
}
}