Многоуровневый указатель в скрипте автоассемблера Cheat Engine
-
Добрый день. Подскажите пожалуйста как поправить или более грамотно прописать многоуровневый указатель в скрипте автоассемблера? Мой вариант скрипта крашит игру, не пойму почему. Краш происходит после добавления очередного уровня указателя. Вот мой скрипт:
[ENABLE] //code from here to '[DISABLE]' will be used to enable the cheat aobscanmodule(patron2,lithtech.exe,8B 56 3C 57 83 C2 40) // should be unique alloc(newmem,$4000) label(code) label(patr2) registersymbol(patr2) label(return) newmem: push edx xor edx,edx lea edx,["lithtech.exe"+00014238] mov edx,[edx] lea edx,[edx+2C] mov edx,[edx] lea edx,[edx+D0] lea edx,[edx+6C] mov edx,[edx] lea edx,[edx+4] mov edx,[edx] lea edx,[edx+C] //mov edx,[edx] // -------- если это раскоментить, то игра падает и в patr2 нули. //lea edx,[edx+8] mov dword ptr [patr2],edx pop edx mov edx,[esi+3C] push edi add edx,40 jmp return code: //mov edx,[esi+3C] //push edi //add edx,40 //jmp return patr2: dd 0 patron2: jmp newmem nop 2 return: registersymbol(patron2) [DISABLE] //code from here till the end of the code will be used to disable the cheat patron2: db 8B 56 3C 57 83 C2 40 unregistersymbol(patron2) unregistersymbol(patr2) dealloc(newmem)
-
Пользователь @Iniar написал в Многоуровневый указатель в скрипте автоассемблера Cheat Engine:
если это раскоментить, то игра падает и в patr2 нули.
Скрипт просто (Фантастик)
test еdx,edx
jz > original code поставь над ней и всё.... -
@LIRW Велосипед тоже не мотоцикл, но ведь ездит. А у меня пока спустило колёса на моём "велосипеде" и нужна помощь.
Можно подробней про интеграцию test edx,edx?
Как это связано с крашем игры при многоуровневом указателе в скрипте? Игра крашится когда в patr2 попадают нули что-ли или в чём причина? Заметил, что игра падает когда я дохожу до какого-то ошибочного указателя и он попадает в edx, но почему краш? Я ведь ещё не дохожу до основных инструкций кода игры и patr2 не заполняется во время краша. -
@LIRW и ради моего общего развития пожалуйста напишите всё же как можно более работоспособно прописать многоуровневый указатель в скрипте, раз вы обладаете такими знаниями. (У меня указатель из 7 ступеней состоит)
-
Ещё так можно.
lea rdx,[[[[["Tutorial-x86_64.exe"+325B00]+10]+18]+0]+18] -
@Partizan1078 Спасибо. Я так тоже пробовал, но сейчас уже понял, что не срабатывал скрипт потому как по одному из смещений в таком варианте видимо было пусто вместо адреса. С постоянно рабочим указателем такой вариант срабатывает.