что делать если в чит энджин не ищет

Как найти указатель в Cheat Engine

Cheat Engine – программа для гейм-хакеров, предназначается для читерства в компьютерных играх. Принцип работы заключается в том, что показатели игры – достижения, жизни, патроны, ресурсы – хранятся в виде цифр по определенным адресам оперативной памяти компьютера. Указатели — память, которая содержит не значение параметра, а адрес нахождения параметра. Сканирование памяти игры в Cheat Engine делает доступным эти адреса найти и изменить цифры на те, которые нужны.

Для чего нужен поиск указателей

Переменные объекта в игре создаются динамически, чтобы не нагружать оперативную память игры и процесса – с текущими параметрами игр оперативной памяти не хватит. Соответственно, ведется учет, где в памяти размещается тот или иной параметр. Базовый элемент — указатель, а внутри – параметры здоровья, ресурсов, опыта, патронов, денег. При каждом новом запуске игры или нового уровня, адреса динамических игровых параметров переезжают в другую область памяти. Для изменения приходится снова и снова находить. Для того, что бы этого не делать применяется поиск указателей.

Найти одноуровневый указатель

Запускаем Cheat Engine. Находим и копируем в нижнее окно адрес переменной, которая отвечает за нужный параметр. Правым кликом по адресной строке вызываем меню, находим строку «Find out what writes to this address». Ставим break на запись и разрешаем запуск отладчика. Идем в игру и тратим часть золота или теряем одну жизнь — чтобы изменить показатель. Возвращаемся к Cheat Engine и видим в окне отладчика новые строки. Выбираем одну типа mov и переходим во вкладку «More information». Правым кликом открываем меню и выбираем «Copy info to clipboard» — скопированное переносим в блокнот, закрываем отладчик.

Далее переходим в главное окно программы и в поисковой строке вводим адрес из указанной области 07AF.., отмечаем галочкой НЕХ и тип значения 4Б, — запускаем поиск. В результатах поиска ищем постоянный адрес – выделяется зеленым. Копируем в нижнее окно и кликаем дважды по строке «Adress».

Копируем адрес сверху, отмечаем галочкой «Pointer» и вставляем в нижнее выпавшее поле. Тип определяем исходный. Далее при помощи вендового калькулятора рассчитываем смещение между первоначальным адресом, копированным в блокнот и найденным зеленым. Результат вставляем во второе поле снизу и жмем «Ок». После этого правым кликом по значению – «Value» выбираем в меню «Show as decimal» — отражать показатели в десятичном формате. Итог сохраняем в типе файла *.СТ. При загрузке этого файла в Cheat Engine с запуском уровня не надо будет снова искать переменные.

Найти многоуровневый указатель

Многоуровневый – это такой, который ссылается не на искомую информацию, а на другой указатель. Таких уровней может найтись сколько угодно. Многоуровневая адресация усложняет процесс поиска цепочки указателей. Обработка занимает время. Сканирование памяти проводится 8-12 раз с перезапуском игры до тех пор, пока не выявится постоянный результат и один показатель не отразит хоть раз одинаковый результат с игровым параметром при перезагрузке.

Источник

Читерство

Навеяно недавней дискуссией про игры с донатом. Собственно, в нормальных, сингл играх микротранзакции уже не новость. Тот же Dead Space 3, говорят, еще в свежих Assassin Creed появилось. Логично ожидать, что это безобразие продолжится и таких игр будет появляться все больше. Следовательно, вопрос читерства становится все более актуальным. Мы же не хотим донатить и тем самым поощрять скотскую тенденцию.

1. Для начала находим адрес переменной, отвечающей за нужный нам игровой параметр. Подробно про этот шаг писать смысла нет, он общеизвестен. Копируем адрес в нижнее окно.

3. Возвращаемся в игру и проделываем там что-нибудь, что изменит нужное нам значение. Покупаем/продаем, если ищем деньги, или подставляемся под пулю, если здоровье.

4. Переключаемся на CE и в окне дебаггера видим появившуюся запись из одной или нескольких строк. Выбираем одну (вида mov [eax+xxx],ecx) и нажимаем сбоку кнопку «More information».

5. Кликаем правой кнопкой по списку адресов вверху и нажимаем «copy info to clipboard». Копируем куда-нибудь в блокнот. После этого закрываем окно информации и в окне дебаггера нажимаем кнопку «Stop», чтобы не гонять лишние процессы. Закрываем дебаггер.

7. В нижнем окне дважды кликаем по адресу (именно там, где в заголовке таблицы указано «Adress»).

8. Копируем из верхней строки адрес вида «program.exe+HEX».

9. Ставим галку «Pointer». Ниже появляется два новых поля, верхнее, где был адрес, становится недоступным. В самое нижнее поле вставляем адрес, скопированный сверху. Тип выставляем такой же, какой был у исходной переменной, непосредственно содержащей нужное нам значение. В рассматриваем примере это однобайтовая переменная.

11. Жмем «Ok». В принявшей нужный нам вид строке в нижнем окне CE кликаем правой кнопкой по значению в колонке «Value» и выбираем пункт «Show as decimal», чтобы число наших денег/здоровья/патронов показывалось в десятичном формате, для удобства. Удаляем из нижнего окна все лишнее и сохраняем результат в виде файла *.CT. Теперь не надо будет каждый раз после запуска игры заново искать нужные переменные, достаточно загрузить этот файл в CE.

1. Начинаем точно также. Находим адрес нужной переменной и копируем его вниз.

2. Правой кнопкой кликаем по строке в нижнем окне и выбираем пункт «Pointer scan for this adress». В появившемся окне ничего не меняем, жмем «Ok».

3. Появится окно с предложением сохранить файл, вводим какое-нибудь имя и подтверждаем. Начнется обработка, которая может занять довольно длительное время. По окончании выскочит окно с результатом.

4. Закрываем все окна, кроме основного окна СЕ. Выходим из игры. Запускаем игру заново. В окне CE снова открываем процесс игры. Отвечаем «No» на вопрос, хотим ли мы сохранить ранее найденные результаты.

7. Повторяем пункты 4-6 раз пять или больше, пока количество результатов не перестанет уменьшаться заметно.

9. Продолжаем выполнять пункты 4-6 с той разницей, что при перезагрузке процесса игры теперь сохраняем ранее найденные результаты. После каждой загрузки процесса смотрим нижнюю таблицу и выкидываем адреса, чье значение не соответствует актуальному игровому параметру или вообще осталось не определено. После этого грузим, как ранее, Pointer scanner, проводим новую фильтрацию и добавляем в нижнюю таблицу несколько свежих адресов.

Читайте также:  md5 для чего при установке

11. Выкидываем из таблицы все лишнее и сохраняем нужное в файл *.CT. Удаляем созданный при сканировании указателей файл(ы) *.PTR и огромную кучу накопившихся к тому времени временных файлов. Впрочем, с удалением можно и погодить пару дней, на случай, если после пары перезагрузок найденные адреса все-таки слетят. Т.е. окажется все-таки не то. Чтобы можно было продолжить с того момента, на котором остановились, а не начинать все заново.

Источник

Cheat engine обход защиты

Дубликаты не найдены

Гуглишь качаешь. Это не взлом, ты просто заменяешь значения (например деньги) на нужные тебе напрямую в ячейки памяти.

зависит от игры. начнем с подмены значений:
Artmoney ищет в процессе заданное значение (допустим количество денег), присваиваем свое значение.
cheat engine — грубо говоря, профессиональный артмани, более точно ищет значения, уже встроены инъекции.
Такими уязвимостями страдают оффлайн игры, или такие отсталые онлайн игры как point blank.

Далее о инъекциях — это подключение к исполнительному файлу свою библиотеку с модулями, такими как WH — wallhack (прозрачные стены), aim — автоприцеливание, и прочее. Уязвимость к инъекциям есть даже у battlefield4.

ну и конечно же подмена пакета. Wpe pro. Данная фича раньше сильно использовалась для хаков в WOW, потом порезали. Сейчас используется только в ручном режиме в очень пикантных случаях.

Максимальную защищенность имеют онлайн игры с полным вычислением физики игры на серверной части, не сочтите за рекламу — но это движок BIG WORLD к примеру, и всеми ненавистные танки.

Удачи афтору и читателям, и не будьте пидарасами-хуесосами, не читерите.

Содержание статьи

Встроенной системой слежения за процессом и окружающей его средой, с целью противодействия различным неавторизированным модификациям кода, уже никого не удивить: практически любой мало-мальски популярный многопользовательский игровой проект имеет нечто подобное. В этой статье мы проанализируем используемую разработчиками из Blizzard клиентскую защиту, а также реализуем один из эффективных способов ее обхода.

WARNING

Автор и редакция напоминают, что вся информация опубликована исключительно в образовательных целях, описанные в статье действия могут противоречить лицензионному соглашению Blizzard Entertaiment.

Warden (переводится с английского как смотритель, надзиратель) — именно так решили назвать защитную систему разработчики популярнейших в своих жанрах игр из Blizzard. Система, являясь фактически частью Battle.net, используется в таких проектах, как World of Warcraft, StarCraft II и Diablo 3. Только лишь по официальным данным за все время были забанены десятки тысяч аккаунтов Battle.net, и немалая часть при этом — заслуга Warden.

Безмолвный смотритель

Для начала, пожалуй, стоит выяснить, что собой представляет Warden. Система состоит из двух частей: серверной и клиентской, и, само собой, мы будем иметь дело только с клиентской частью. Как уже было сказано ранее, Warden не является неотъемлемой частью игрового кода. Код клиентской части подгружается динамически с Battle.net в виде образов, отдаленно напоминающих по своей структуре Portable Executable, которые затем отображаются по случайным адресам в адресном пространстве игрового процесса. Стоит также отметить, что большая часть кода клиентской части Warden обфусцирована и может изменяться от одной игровой сессии к другой.

Warden представляет собой пассивный механизм защиты, и все, чем занимается клиентская часть Warden, — это сбор информации, которая впоследствии отправляется серверной части. В целом примерный алгоритм работы клиентской части Warden выглядит следующим образом:

Процедура повторяется с некоторой периодичностью несколько раз в минуту. Если серверная часть обнаруживает несоответствие хешей эталонным значениям, считается, что используются запрещенные модификации кода. Каких-либо незамедлительных действий при этом не предпринимается — аккаунт просто помечается как нарушающий правила, а о том, что ты «попался» можно будет узнать лишь через некоторое время, когда учетная запись уже будет заблокирована. Целиком аккаунт Battle.net (который может содержать множество прикрепленных лицензий) при этом не блокируется — только учетная запись игры.

Заблокированная игровая учетная запись

Хакер #187. Обходим Blizzard Warden

Против системы

Нейтрализовать Warden, просто отключив его либо заблокировав его работу, не удастся: система устроена таким образом, что серверная часть в любом случае должна получать от клиентской ответные пакеты, которые, в свою очередь, должны содержать информацию о сканировании. Следовательно, выход только один — не попадаться. Добиться этого можно как минимум тремя способами:

Первый вариант будет работать до поры до времени и по большому счету обходом как таковым не является. Второй вариант (перехват EndScene() ) действительно неплохо работает, функция вызывается после завершения построения каждого выводимого на экран кадра и перехватывается, например вполне легальными программами видеозахвата, что не дает Warden возможности однозначно трактовать изменения в коде функции как запрещенные модификации. Тем не менее вариант больше годится для ботов и успешно ими эксплуатируется на протяжении уже нескольких лет. Третий вариант идеально подходит для статичных модификаций (как, например, включение отрисовки всей карты в Star Craft — maphack), кроме того, его реализация сама по себе интереснее и технологичнее. Именно последний вариант подробно и рассмотрим далее.

Вопреки всеобщему заблуждению, никакой утечки личной информации (в версии на момент написания статьи) не происходит: сканируются лишь некоторые участки адресного пространства игрового процесса.

Сердце сканера Warden

При этом нет нужды перебирать все записи: после логина и входа на игровой реалм необходимый модуль Warden будет уже загружен, можно просто произвести поиск по всему адресному пространству процесса бинарного паттерна, соответствующего ранее найденной процедуре сканирования данных:

Поиск загрузчика

Поиск данных по бинарному паттерну

Полные исходники можно посмотреть в прилагаемом проекте.

Патчер

Для того чтобы была возможность скрывать свои действия от глаз Warden, необходимо запоминать абсолютно все производимые в памяти процесса изменения и иметь доступ к оригинальным данным, существовавшим до внесения изменений. Любые изменения (перехваты, подмены и прочее) должны производиться одним и тем же средством, которое должно гарантировать выполнение изложенных требований:

Читайте также:  что делать если выпил много чая

Список структур, содержащий информацию по всем совершенным в процессе изменениям, может принадлежать объекту с глобальной областью видимости. Модифицирование кода теперь может производиться примерно следующим образом:

Использование централизованного патчера не доставляет дополнительных хлопот, при этом помимо простого доступа к оригинальным данным мы получаем возможность откатить любое изменение, вернув все к первоначальному состоянию, что иногда бывает весьма полезно.

Если тебя заинтересовала представленная в статье тематика и ты хочешь покопать еще глубже, то могу порекомендовать, возможно, лучший специализированный форум.

Невидящее око Warden’а

Теперь, когда есть вся необходимая информация и инструменты, осталось подменить сканирующую процедуру Warden своей, которая вместо модифицированных данных будет подставлять оригинальные. Хеши в таком случае будут идентичны тем, что хранятся на сервере, и изменения кода останутся незамеченными.

Чтобы в поле зрения Warden не попало ни одного измененного байта, при каждом вызове сканирования необходимо искать пересечение множеств сканируемых адресов с адресами пропатченных данных. Так как патчи, скорее всего, не будут идти один за другим (это не имеет смысла) — будет максимум одно пересечение для одного скана и данные можно будет брать из структуры, связанной с каким-то одним конкретным патчем. Все возможные варианты пересечений сводятся к одному двойному условию: либо адрес начала множества сканируемых байт входит во множество адресов патча, либо наоборот. Таким образом, мы должны перебирать все патчи, проверяя заданное условие:

Получив сопряженную с текущим сканированием структуру с информацией о патче, подменить данные не составит труда:

Используя приведенный код вместо оригинальной процедуры сканирования, мы можем контролировать активность Warden, не давая ему возможности обнаружить любые внесенные в код изменения, даже в том случае, если Warden попытается проверить на целостность самого себя.

Лог активности Warden

SOURCE

В статье приведен облегченный и неполный исходный код, автор создал полноценный рабочий проект, прилагаемый к статье. Не поленись и загляни в исходники, вполне возможно, что ты найдешь там нечто полезное для себя.

Proof of concept

Само смещение соответствует условному переходу после сравнения глобальной переменной, содержащей идентификатор уровня доступа для текущего контекста, с нолем (ноль соответствует самым высоким правам). Заменив условный переход безусловным, получаем возможность использовать любые функции WoW API, создавая сложные и «умные» скрипты, автоматизирующие многие игровые действия (самый примитивный пример использования: забиндить всю ротацию спеллов на одну кнопку, с проверкой кулдаунов и так далее, что сделать изначально невозможно). Упрощенный код установки патча выглядит примерно так:

После установки патча становятся доступны прямо из макросов «защищенные» функции WoW API, а в логе активности Warden мы можем наблюдать предотвращенные попытки просканировать пропатченную область. Убедиться в этом ты можешь, скомпилировав и опробовав прилагаемые к статье исходники.

Как насчет остальных проектов Blizzard?

В статье был рассмотрен вариант перехвата кода загрузчика для WoW, у других проектов этот код находится в обфусцированной библиотеке battle.net.dll, по которой в принципе невозможно создать не зависящий от версии библиотеки паттерн для поиска кода загрузчика. В этом случае, как один из вариантов, можно перехватывать все вызовы VirtualProtect(), совершенные из battle.net.dll, обрабатывая их примерно следующим образом:

Полная свобода действий

Возможность безнаказанно вносить любые изменения в игровой клиент открывает широчайшие перспективы для дальнейших исследований. На самом деле в играх Blizzard можно сотворить абсолютно все, что только можно себе представить или захотеть. Об одних лишь возможностях разблокированных скриптов Lua в WoW можно было бы написать отдельную статью. Ведь даже простые скрипты могут избавить игрока от рутинных действий или снизить зависимость от реакции и внимательности, позволив уделять чуть больше времени другим вещам. При этом возможности свободных модификаций клиента не ограничиваются простой разблокировкой тех или иных возможностей. В общем, дерзай!

Ввод консольных команд, изначально предоставленных в распоряжение игроков самими разработчиками, является далеко не единственным способом “обмануть игру” и получить дополнительные преимущества. Многие люди заходят еще дальше – находят способы открывать зашифрованные файлы с настройками и переменными, меняют там значения, после чего пользуются всеми прелестями миллионного запаса здоровья, прокачанным уровнем и бесконечными деньгами. Причем на этом список возможностей явно не ограничивается.

Программа Cheat Engine, актуальную версию которой можно
скачать на нашем сайте совершенно бесплатно, значительно упрощает поставленную задачу. Поиск нужных переменных для изменения осуществляется ей в автоматическом режиме. Пользователю только нужно выбрать в удобном и простом меню нужные пункты, покрутить ползунки и проставить галочки в определенных местах.

Как пользоваться Cheat Engine

Рассмотрим принцип действия данной программы и перечень доступных функций в формате пошагового руководства со скриншотами. Принцип действия для всех игр у нее абсолютно одинаковый.

Упростить процедуру поиска нужного параметра можно при помощи функции “Отсев”. Возвращаемся к примеру с 300 монетами и, завершив первое сканирование с поиском параметров, где фигурирует цифра 300, снова заходим в игру и меняем количество монет на другое – например, выкидываем часть на землю или покупаем что-то у торговца. Затем запоминаем новую цифру, вводим ее в поле со значением программы Cheat Engine и жмем тот самый “Отсев”. Программа просканирует ресурсы игры и выявит параметр из первого поиска, который поменял свое значение. Так вы точно найдете нужную числовую величину.

Функции Speedhack и Антирандом в Cheat Engine

К сожалению, далеко не каждая игра позволяет отдельно отрегулировать скорость управляемого вами персонажа. Часто бывает так, что вместе с повышением скорости на ползунке весь игровой мир начинает двигаться в ускоренном темпе.

Что касается функции Антирандом, она работает по аналогичному принципу, но имеет несколько другое назначение. Ее смысл заключается в замене случайных величин в определенном диапазоне на статические числа. К примеру, случайные величины могут использоваться при имитации разброса пуль в какой-нибудь стрелялке. Использовали Антирандом? Можете забыть о необходимости контролировать отдачу – все пули будут лететь точно в цель.

Читайте также:  avr для бензогенератора что это

Использование Cheat Engine в онлайновых играх

Многие игроки, узнав о возможностях программы Cheat Engine, сразу же начинают интересоваться – а можно ли использовать эту программу для получения преимуществ перед другими игроками в каком-нибудь онлайновом проекте? К сожалению, ответ на этот вопрос в большей степени отрицательный, чем положительный. Различные мелкие проекты, в которые основная масса людей даже и не играла, мелкие браузерки и казуалки вполне могут быть уязвимыми перед CE и аналогичными программами. Но когда речь идет о крупных проектах вроде Overwatch, Dota 2, Black Desert и аналогичных, шансов на взлом не остается никаких.

Во-первых, потому что каждая из этих игр надежно защищена регулярно обновляемым античитом. Во-вторых, часть данных и переменных хранится на серверах проекта, а не на компьютерах находящихся онлайн пользователей. Даже если вам удастся запустить Cheat Engine, внедриться в процесс и поменять данные (например, прибавить себе 1000 очков здоровья и увеличить скорость в два раза), когда вы зайдете в игру, ситуация вообще не поменяется. В лучшем случае, вы заметите эффект в виде дисконнекта и сообщения об ошибке.

Заключение

Выше были рассмотрены лишь самые основные функции программы Cheat Engine, которыми может воспользоваться большинство геймеров для получения преимущества в одиночных и некоторых многопользовательских играх. Но на практике это куда более функциональный и разносторонний инструмент, имеющий внушительное количество дополнительных опций по созданию трейнеров, манипулированию Direct3D режимами. Если вас что-то из перечисленного заинтересовало, вы всегда можете абсолютно бесплатно скачать данный продукт с официального сайта.

Источник

Инструкция по использованию программы Cheat Engine

Cheat Engine– полезнейшая программа в арсенале любого геймера. Изменить внутренние параметры игры и «создать» себе нужное количество игрового золота, боеприпасов или любых других ресурсов в несколько кликов мышки, вот предназначение этой программы. К сожалению, у многих игроков при первом использовании возникают вопросы, как ею правильно пользоваться, поэтому мы написали для вас подробною инструкцию, как пользоваться Cheat Engine.

Инструкция будет показана на примере старой доброй игры Age of Empires III, где мы «наколдуем» себе пару миллионов игровых монет. Итак, для начала скачайте последнюю версию cheat engine и запустите сначала ее, а затем игру.

Делай раз

Запустим какую-нибудь миссию в игре и увидим, что золота у нас не так что бы уж очень много – 200.

Запомним это значение и откроем через alt+tab окно с нашей программой. Здесь вам нужно будет выбрать игровой процесс (1), в строку поиска ввести искомое значение (2) и нажать кнопку “Поиск” (3).

В этот момент Cheat Engine просканирует память игры на предмет наличия этого значения. Скорее всего, в результате вы получите огромное количество результатов и понять какой именно отвечает за наше золото будет непросто.

Делай два

Поэтому возвращаемся к игре и отправим поселенцев заработать немного денег, что бы изменить их количество.

Переключаемся опять к cheat engine, вводим в строку поиска новое значение (4) и запускаем повторное сканирование кнопкой “Отсев” (5), что бы программа искала изменение значений только среди результатов первого сканирования.

Как видите, результатов осталось всего два. Выберете их мышкой, щелкните правой клавишей и нажмите “Добавить выбранные адреса в таблицу”.

Делай три

Теперь в таблице выберете эти два значения, нажмите на них правой кнопкой мыши и проследуйте по пути “Изменить ” – “Значение”.

И устанавливайте нужное вам. Например, 10000. Теперь возвращайтесь в игру, и вуаля – теперь количество золота у вас равно десяти тысячам. Таким же образом вы можете изменять любые другие значения в любых играх. Удачи в экспериментах!

Отменить ответ

можно ли взломать рр3 одиночную

Это подробная инструкция как искать значения, с этим любой школьник справится, а как на счет поиска указателей? отвечу на все вопросы связанные с онлайн играми, их нельзя взломать, так как все данные хранятся на сервере, а Cheat Engine ищет значения у вас на компьютере…

Возьмём crysis 2.
Для взлома энергии выбирается “Float”
Для взлома нанокатализаторов выбирается “4 Bit”
для чего остальные параметры?

Всё прекрасно работает в оффлайн играх! Единственно что у меня всё на англоязыке. Но разобраться не трудно.

короче как я понял со спартой война империй не прокатит

Спасибо очень помог. У меня версия 6.7 (bit-32)

На Асфальт 8 работал год назад, а теперь пробую сейчас на GTR2 не работает…

очень круто что можна взамать ворлд оф танкс

Делал всё по указанной инструкции, но новое значение так и не устанавливается.
Может после вписки нового значения нужно ещё что то нажать.

Господи, малолетние знатоки делятся опытом. Делай раз… Ума хватило только на поиск точных известных значений, которые не задаются иными адресами и не меняют адресов. Между тем как полнейший тутор на английском приложен к программе, но только на английском.А на таком уровне пользования это все равно что программой Photoshop контрастность подкручивать, а 3DMax’ом объемный текст набирать.

Докладываю, последнее время полно игр, в которых найденное вами значение можно будет изменить – и вы даже увидите изменения на экране, как вы накидали, к примеру очков навыков вместо 5 95 – да только вот незадача – это лишь “ярлык” для вашего ознакомления, а записываются значения в него командой из другого адреса. И изменив этот ярлык вы по факту в игре ничего не измените (так и будет у вас пять очков навыков) и при следующем игровом изменении это число/показатель вернется к “родному” значению.

Так что делай раз – учи английский. Делай два – читай тутор от нормальных, шарящих людей. Хотя там на середине придется делать три – изучать основы ассемблера )))

Источник

Сказочный портал