Как найти указатель в cheat engine
Completing the CAPTCHA proves you are a human and gives you temporary access to the web property.
What can I do to prevent this in the future?
If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware.
If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices.
Another way to prevent getting this page in the future is to use Privacy Pass. You may need to download version 2.0 now from the Chrome Web Store.
Cloudflare Ray ID: 71a9c65e59619957 • Your IP : 82.102.23.104 • Performance & security by Cloudflare
Читерство
Навеяно недавней дискуссией про игры с донатом. Собственно, в нормальных, сингл играх микротранзакции уже не новость. Тот же Dead Space 3, говорят, еще в свежих Assassin Creed появилось. Логично ожидать, что это безобразие продолжится и таких игр будет появляться все больше. Следовательно, вопрос читерства становится все более актуальным. Мы же не хотим донатить и тем самым поощрять скотскую тенденцию.
Не, разумеется, можно играть честно и набирать нужные ресурсы в самой игре. Но разработчики не дураки, и чтобы стимулировать геймеров к донату, они, можно не сомневаться, позаботились о том, чтобы честная игра была некомфортной, и нужное количество ресурсов или опыта можно было добыть только путем страданий. Да даже если и достаточно быстро набирается честно — один черт, если бы я хотел играть в тупой фарм одних и тех же локаций, я бы давно играл в какую-нибудь ММО, которые все без исключения про тупой фарм одних и тех же локаций. Так что будем читерить.
Собственно, о читерстве речи уже и нет. Мы используем возможность, предусмотренную в игре самими разработчиками как часть игрового процесса. Т.е. все честно. То, что они сделали ее платной — да пошли они в жопу.
Для лечения игры будем использовать Cheat Engine. Есть еще аналогичная по возможностям софтина — Artmoney, но я ее не знаю. Вообще, с помощью CE начитерить себе нужное количество денег, опыта, ресурсов, да и вообще чего угодно — не представляет ни малейшей проблемы. Но есть одно неудобство: при каждом запуске игры (а в некоторых играх — и при каждой загрузке локации) нужные переменные приходится искать заново.
Ниже описан самый простой из нескольких возможных способов, как автоматизировать этот процесс. К сожалению, не идеальный, работает не со всеми играми. Но с большинством. Зато простой и можно быстро сделать. А вот если простой способ не прокатит — тогда уже можно начинать разбираться с особенностями игры индивидуально, или заглянуть на форум Cheat Engine и посмотреть там, скорее всего, кто-нибудь уже выложил подходящий скрипт.
Как водится, сколько-нибудь толковый гайд гуглом найти проблематично. Даже тот, по которому разбирался я — давно сгинул, и сайт тоже. Так что, пока что-то еще помню, решил записать здесь. Чтобы, если когда-нибудь понадобится, не искать и не напрягать память.
1. Для начала находим адрес переменной, отвечающей за нужный нам игровой параметр. Подробно про этот шаг писать смысла нет, он общеизвестен. Копируем адрес в нижнее окно.
2. В нижнем окне кликаем правой кнопкой по строке адреса и в появившемся меню выбираем "Find out what writes to this address" — ставим бряк на запись. Даем разрешение на запуск дебаггера.
3. Возвращаемся в игру и проделываем там что-нибудь, что изменит нужное нам значение. Покупаем/продаем, если ищем деньги, или подставляемся под пулю, если здоровье.
4. Переключаемся на CE и в окне дебаггера видим появившуюся запись из одной или нескольких строк. Выбираем одну (вида mov [eax+xxx],ecx) и нажимаем сбоку кнопку "More information".
5. Кликаем правой кнопкой по списку адресов вверху и нажимаем "copy info to clipboard". Копируем куда-нибудь в блокнот. После этого закрываем окно информации и в окне дебаггера нажимаем кнопку "Stop", чтобы не гонять лишние процессы. Закрываем дебаггер.
Картинка №1. ![[IMG]](https://www.old-games.ru/forum/blogs/chiterstvo.3436/http%3A%2F%2Fwww.old-games.ru%2Fforum%2Fdata%2Fattachments%2F100%2F100067-58e42d871c40c0967a856287c58a1bdd.jpg)
6. В основном окне CE в окно для поиска вводим адрес, который видели в указанном на картинке №1 месте. Ставим рядом галку Hex, тип значения — 4 байта. Нажимаем поиск. Листаем появившийся список адресов и находим первый, отмеченный зеленым — статический адрес. Копируем его вниз. Если на данном этапе зеленых адресов не нашлось — значит, с этой игрой не все так просто, и чтобы создать чит, понадобится скрипт на языке ассемблера. Или пробуем способ, описанный во второй части заметки.
7. В нижнем окне дважды кликаем по адресу (именно там, где в заголовке таблицы указано "Adress").
Картинка №2. ![[IMG]](https://www.old-games.ru/forum/blogs/chiterstvo.3436/http%3A%2F%2Fwww.old-games.ru%2Fforum%2Fdata%2Fattachments%2F100%2F100068-5c9b731488cc16caa3d818ee19ad3063.jpg)
8. Копируем из верхней строки адрес вида "program.exe+HEX".
9. Ставим галку "Pointer". Ниже появляется два новых поля, верхнее, где был адрес, становится недоступным. В самое нижнее поле вставляем адрес, скопированный сверху. Тип выставляем такой же, какой был у исходной переменной, непосредственно содержащей нужное нам значение. В рассматриваем примере это однобайтовая переменная.
10. Рассчитываем смещение. Запускаем вендовый калькулятор в шестнадцатиричном режиме и из адреса исходной переменной ( 07B2D52B ) вычитаем адрес, который искали в пункте 6 ( 07AF0020 ). Полученное число ( 3D50B ) вставляем во второе снизу поле над адресом. Впрочем, это же смещение и так было в окне информации дебаггера. Если знать, на что смотреть — можно не считать. Заодно можно и описание какое-нибудь вбить.
Картинка №3. ![[IMG]](https://www.old-games.ru/forum/blogs/chiterstvo.3436/http%3A%2F%2Fwww.old-games.ru%2Fforum%2Fdata%2Fattachments%2F100%2F100069-0e14a8311f82c5c764c3889ce17cb6a2.jpg)
11. Жмем "Ok". В принявшей нужный нам вид строке в нижнем окне CE кликаем правой кнопкой по значению в колонке "Value" и выбираем пункт "Show as decimal", чтобы число наших денег/здоровья/патронов показывалось в десятичном формате, для удобства. Удаляем из нижнего окна все лишнее и сохраняем результат в виде файла *.CT. Теперь не надо будет каждый раз после запуска игры заново искать нужные переменные, достаточно загрузить этот файл в CE.
PS: Спойлер. Чтобы не считать смещение, достаточно посмотреть на команду, в примере — eax+ebx. Внизу в окне информации дебаггера был список значений. Смотрим значения регистров, eax — это адрес, тот же самый, который мы копировали в поиск. Следовательно, ebx — смещение.
1. Начинаем точно также. Находим адрес нужной переменной и копируем его вниз.
2. Правой кнопкой кликаем по строке в нижнем окне и выбираем пункт "Pointer scan for this adress". В появившемся окне ничего не меняем, жмем "Ok".
![[IMG]](https://www.old-games.ru/forum/blogs/chiterstvo.3436/http%3A%2F%2Fwww.old-games.ru%2Fforum%2Fdata%2Fattachments%2F100%2F100077-1c1ae66b908e13b18d1447a46dbe8581.jpg)
3. Появится окно с предложением сохранить файл, вводим какое-нибудь имя и подтверждаем. Начнется обработка, которая может занять довольно длительное время. По окончании выскочит окно с результатом.
![[IMG]](https://www.old-games.ru/forum/blogs/chiterstvo.3436/http%3A%2F%2Fwww.old-games.ru%2Fforum%2Fdata%2Fattachments%2F100%2F100078-845d0b8864dc99e80c6f380d9be58185.jpg)
4. Закрываем все окна, кроме основного окна СЕ. Выходим из игры. Запускаем игру заново. В окне CE снова открываем процесс игры. Отвечаем "No" на вопрос, хотим ли мы сохранить ранее найденные результаты.
5. В основном окне CE слева, над нижним окном, нажимаем кнопочку "Memory View". Откроется новое окно с дампом памяти, в верхнем меню которого следует выбрать Tools -> Pointer Scan. После чего снова появится уже знакомое нам окно указателей.
6. В окне указателей в верхнем меню выбираем File -> Open и открываем сохраненный в пунте 3 файл. Теперь в верхнем меню уже этого окна выбираем Pointer scanner -> Rescan memory — Removes pointers not pointing to the right adress. В появившемся новом окне ставим переключатель вверху в положение "Value to find" и вводим в поле ниже число, соответствующее тому, какое значение имеет в игре нужный нам параметр на данный момент. И указываем справа его тип, тот же самый, что мы искали в самый первый раз. (Как вариант — ищем не по значению, а по адресу, если не поленились найти его заново). Жмем "Ok", снова появляется окно для сохранения файла, сохраняем. Можно перезаписать старый. Теперь процесс занимает намного меньше времени и некоторое количество результатов отсеивается.
![[IMG]](https://www.old-games.ru/forum/blogs/chiterstvo.3436/http%3A%2F%2Fwww.old-games.ru%2Fforum%2Fdata%2Fattachments%2F100%2F100079-6fe6bb879ae356359abecc30bc39b223.jpg)
7. Повторяем пункты 4-6 раз пять или больше, пока количество результатов не перестанет уменьшаться заметно.
8. Когда количество найденных результатов стало более-менее стабильным, начинаем отлавливать среди них нужный. Сортируем значения по "Base Adress" и выбираем штук пять из тех, которые относятся к основному процессу игры. Если таковых не осталось — тогда сойдет и из игровых модулей. Выбираем наугад и дважды кликаем по каждому, после чего готовые указатели копируются в нижнюю таблицу основного окна CE.
9. Продолжаем выполнять пункты 4-6 с той разницей, что при перезагрузке процесса игры теперь сохраняем ранее найденные результаты. После каждой загрузки процесса смотрим нижнюю таблицу и выкидываем адреса, чье значение не соответствует актуальному игровому параметру или вообще осталось не определено. После этого грузим, как ранее, Pointer scanner, проводим новую фильтрацию и добавляем в нижнюю таблицу несколько свежих адресов.
10. Продолжаем развлекаться до достижения стабильного результата — пока хотя бы один из записанных в нижней таблице адресов не будет при каждом запуске игры неизменно показывать актуальный результат. Собственно, вот оно и есть, что нам и требовалось.
11. Выкидываем из таблицы все лишнее и сохраняем нужное в файл *.CT. Удаляем созданный при сканировании указателей файл(ы) *.PTR и огромную кучу накопившихся к тому времени временных файлов. Впрочем, с удалением можно и погодить пару дней, на случай, если после пары перезагрузок найденные адреса все-таки слетят. Т.е. окажется все-таки не то. Чтобы можно было продолжить с того момента, на котором остановились, а не начинать все заново.
Почему Cheat Engine 7.0 не видит указатели в отличии от 6.4?
Тема:
Cheat Engine(дальше CE) 6.4 при поиске указателей на адресс он как обычно выдает указатели. НО CE 7.0 просто ничего не выдаёт(( настройки одинаковые(см. скрин). Помогите пожалуйста! Буду очень благодарным
Скрины:
И
