Тема: AHK: Чтение строки из памяти
Здравствуйте! Опять мне нужна помощь (да-да). В чем дело: есть у меня процесс (grand_theft_auto_san_andreas.dll) - сама игра. Она же использует файл (san_andreas_multiplayer.dll). В диспетчере только процесс. Используя CheatEngine, я нашел статический адрес строки (san_andreas_multiplayer.dll+122EF8), но вот как прочитать это из процесса? Или файл - и есть адрес, а 122EF8 -- указатель?
В общем, ничего не понятно. Если читать прямо так строку через AHK -- возвращает ошибку, естественно. Буду благодарен за готовый код.
Читаю строку так.
readString(hProcess, dwAddress, dwLen) {
if(!hProcess) {
ErrorLevel := ERROR_INVALID_HANDLE
return 0
}
VarSetCapacity(sRead, dwLen)
dwRet := DllCall( "ReadProcessMemory"
, "UInt", hProcess
, "UInt", dwAddress
, "Str", sRead
, "UInt", dwLen
, "UInt*", 0
, "UInt")
if(dwRet == 0) {
ErrorLevel := ERROR_READ_MEMORY
return 0
}