Razi Опубликовано 17 января, 2016 Поделиться Опубликовано 17 января, 2016 Можно ли в Cheat Engine сделать так что, если значение в одном адресе становится равно 2, то значение следующего адреса по списку станет тоже 2 ? А если не равняется 2, то ничего не менять. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 17 января, 2016 Поделиться Опубликовано 17 января, 2016 Можно ли в Cheat Engine сделать так что, если значение в одном адресе становится равно 2, то значение следующего адреса по списку станет тоже 2 ? А если не равняется 2, то ничего не менять.Конечно, собственно это использование фильтра.cmp [adres1],2jne originalcodemov [adres2],2originalcode: 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 17 января, 2016 Автор Поделиться Опубликовано 17 января, 2016 (изменено) Просмотрел урок, но пока что ничего не понял. Что не так делаю?Адреса однобайтные.aobscan(INJECT,88 1C 08 81 E2 FC FF 1F 00) // should be uniquealloc(newmem,$1000)label(code)label(return)newmem:[u][b]cmp [00a3f3f8],2jne codemov [00a3f3f9],2[/b][/u]code:mov [eax+ecx],bland edx,001FFFFCjmp returnINJECT:jmp codenopnopnopnopreturn:registersymbol(INJECT)[DISABLE] Изменено 18 января, 2016 пользователем NullAlex Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 18 января, 2016 Поделиться Опубликовано 18 января, 2016 Поскольку адреса не 4 байтные, тебе нужно явным образом указать размер:cmp byte ptr [00a3f3f8],2иmov byte ptr [00a3f3f9],2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 18 января, 2016 Автор Поделиться Опубликовано 18 января, 2016 (изменено) Написал, но почему то не хочет работать. Опишу все действия, поскольку могу где-то допустить элементарную ошибку.Запускаю эмулятор epsxe 1.7.0 запускаю iso диск через epsxe, запускаю Cheat Engine 6.4.Далее выбираю адрес из таблицы уже найденый, правой кнопкой мыши по нему и выбираю find out what accesses this address.Далее из найденых инструкций, нажимаю show disassembler, далее tools -> auto assemble.Далее template -> cheat table framework code,далее мужду enable и disable нажимаю template -> AOB injectionпосле newmem: вставляюcmp byte ptr [00a3f3e4],2jne codemov byte ptr [00a3f3e5],2code: Но ничего не происходит. Изменено 18 января, 2016 пользователем NullAlex Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 18 января, 2016 Поделиться Опубликовано 18 января, 2016 Но ничего не происходит.Razi, либо твои адреса не статичные (не зелёные), хотя думаю ты всё-таки это проверил и адреса статичные; либо, в приведённом тобой примере в [00a3f3e4] не лежит 2.Кажется понял, где может быть ошибка у тебя.Приведи полностью скрипт покажу.Хотя вот из предыдущего скрипта участок (ПРОЧТИ там показана где скорее всего у тебя ошибка):INJECT:jmp code // code замени на newmemnopnopnopnopreturn:registersymbol(INJECT) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Razi Опубликовано 19 января, 2016 Автор Поделиться Опубликовано 19 января, 2016 (изменено) Ура, заработало. Большое спасибо. Добавил плюсы в репутацию. Выставил что, при условии если 1 адрес равен 2, то изменяются 96 однобайтных адресов, надеюсь не покусаются?У меня еще есть два вопроса относительно манипуляций с адресами в Cheat Engine, только не знаю нужно ли новую тему создавать или спрашивать здесь? Изменено 19 января, 2016 пользователем Razi Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения