BadBoy
-
Постов
4 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Загрузки
Блоги
Сообщения, опубликованные BadBoy
-
-
Цитата
А что ты пишешь в таблице в указатель Item?
Версия игры 3.00.8045
А в указатель , хочу чтоб скрипт писал адрес из регистра rcx, со смещением 0с.
Спасибо за быстрый ответ. Сейчас попробую твой вариант.
6 часов назад, Partizan сказал:Я переделал твой скрипт так как привык делать я.
Ваш вариант, у меня почему-то, тоже не работает.
СпойлерPartizan,
Всё-таки ваш вариант сработал.
Снова моя ошибка была. Я записывал адрес как указатель, а нужно было записать простым адресом.
Благодарю за помощь.
Ещё хотел узнать, вы в конце скрипта, в колонке [DISABLE] прописали команду unregistersymbol(*), таким образом вы удалили два ранее созданных registersymbol(_item) и registersymbol(Items)?
-
Всем привет.
Я новичёк, поэтому прошу не судить меня строго. Все мои познания, в основном благодаря этому сайту. Но информации так много, в учебных видеороликах вроде всё понятно и легко, но когда начинаеш писать свой скрипт, не всегда всё получается как нужно.
В игре присутствуют юниты, которые могут загружать себе в определённую ячейку разные предметы. Если выделить этого юнита (лкм) и у него в ячейке будет какой-либо предмет, то сработает инструкция. Я эту инструкцию нашёл, вот она:
СпойлерСпойлерВ регистр RAX - записывается ID предмета (значение в Hex), а в регистр RCX - базовый адрес (к которому нужно прибавить смещение 0с).
В дисассемблере жмакнув на ней (пкм) и выбрав опцию "показать адреса к которым обращается эта инструкция", я без труда (зная ИД предмета) нахожу нужный мне адрес. Поэтому решил автоматизировать этот процес с помощью скрипта. Но допустил какую-то ошибку и указатель созданный моим скриптом не отображает никаких адресов.
Спойлер
Собственно в этом и есть моя просьба о помощи.
Вот мой код, подскажите пожалуйста, что в нём не так:Спойлер[ENABLE] aobscanmodule(_Items,Game.exe,CB CC CC CC CC CC CC 8B 41 0C C3 CC) // should be unique alloc(newmem,$1000,_Items) alloc(_pitem,8) label(returnhere) label(originalcode) label(exit) registersymbol(_Items) registersymbol(_pitem) newmem: cmp rax,0 jne originalcode mov [_pitem],rcx add [_pitem],0c originalcode: mov eax,[rcx+0C] ret int 3 exit: jmp returnhere _Items+07: jmp newmem returnhere: registersymbol(_Items) [DISABLE] _Items+07: db 8B 41 0C C3 CC unregistersymbol(_Items) unregistersymbol(_pitem) dealloc(newmem)
[Age of Empires II Definitive Edition v101.102.5558.0]- поиск зашифрованного значения.
in Вопросы по созданию читов в одиночных играх
Опубликовано
Доброго всем дня.
Игра Age of Empires II Definitive Edition v101.102.5558.0, после нескольких обновлений, в игре стало невозможно найти значения ресурсов (они зашифрованы). Нахожу экранное значение, а дальше как в сказке, чем больше просматриваю код игры, тем страшнее становится.
Несколько раз просматривал видеоурок 11. Взлом шифрованных значений, но к сожалению моих познаний не хватает чтоб освоить код игры AoE2DE.
Итак я нашел инструкцию которая обращается к адресу экранного значения:
Инструкция
Поднялся выше по коду игры
Подскажите пожалуйста, как мне действовать дальше?