oesoes
xor eax,eax
- Сообщения
- 171
- Репутация
- 9
Привет. Начинаю вникать потихоньку в геймхак+автоит. Игра - Rift. Пытаюсь считать показатель маны. Откидывая лирические отступления выкладываю скрипт:
Адрес и смещение нашел правильно, так как если смотреть в Olly, то значение там по этому адресу имеется, но оно мне упорно дает ноль и все тут, хоть ты тресни. Указатель нашел через CE, как подсказали вот тут:
Может быть неправильно нашел - не спорю, так как если игру-пациента перезапускать (выкл\вкл), то адрес не меняется, но вот после перезагрузки компа, данные уже проецируются в другие области памяти. #OFF: Кстати, если есть толковое объяснение, как все-таки _правильно_ искать указатель на данные или просто кто-то может быстренько и четко раскидать - буду рад услышать, а то может быть правда, что-то делаю не так. Схватываю быстро, так что не задержу ) Но факт остается фактом: в отладчике значение в памяти присутствует, но автоит его упорно не видит.
Долго гуглил... Наткнулся на то, что буржуй испытывал такие же проблемы, но после того как откатился на предыдущую версию, все якоб заработало. По моему бред какой-то. Я только утром читал и писал в память и все работало, а теперь как в воду кануло. Помогите, мужики!
Код:
#RequireAdmin
#include <NomadMemory.au3>
const $sTitle = "RIFT"
const $dAddress = 0x72cd4738
const $aManaOffset[2] = [0,568]
dim $dPid = 0x0
dim $hMem = 0x0
Func sLog($s)
ConsoleWrite($s & @CRLF)
EndFunc
if WinExists($sTitle) Then
$dPid = WinGetProcess($sTitle)
$hMem = _MemoryOpen($dPid)
sLog($hMem[0] & "-" & $hMem[1])
if $hMem[0] Then
sLog("Дескриптор памяти: " & $hMem[1])
$CurrentMana = _MemoryPointerRead($dAddress,$hMem,$aManaOffset)
sLog("Адрес: " & $CurrentMana[0])
sLog("Значение: " & $CurrentMana[1])
_MemoryClose($hMem);
EndIf
EndIf
Адрес и смещение нашел правильно, так как если смотреть в Olly, то значение там по этому адресу имеется, но оно мне упорно дает ноль и все тут, хоть ты тресни. Указатель нашел через CE, как подсказали вот тут:
http://www.youtube.com/watch?feature=player_embedded&v=oI8Q2w9l0Gc
Может быть неправильно нашел - не спорю, так как если игру-пациента перезапускать (выкл\вкл), то адрес не меняется, но вот после перезагрузки компа, данные уже проецируются в другие области памяти. #OFF: Кстати, если есть толковое объяснение, как все-таки _правильно_ искать указатель на данные или просто кто-то может быстренько и четко раскидать - буду рад услышать, а то может быть правда, что-то делаю не так. Схватываю быстро, так что не задержу ) Но факт остается фактом: в отладчике значение в памяти присутствует, но автоит его упорно не видит.
Долго гуглил... Наткнулся на то, что буржуй испытывал такие же проблемы, но после того как откатился на предыдущую версию, все якоб заработало. По моему бред какой-то. Я только утром читал и писал в память и все работало, а теперь как в воду кануло. Помогите, мужики!