Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Appearance settings
При появлении проблем с открытием сайтов, таких как ERR_NAME_NOT_RESOLVED и многих других одно из первых рекомендуемых действий изменить DNS сервер в свойствах подключения Windows. Использование другого сервера может работать быстрее (и точнее) чем DNS сервер вашего провайдера, ускоряя тем самым загрузку страниц. Также некоторые серверы предоставляют функции фильтрации нежелательного трафика.
В этой инструкции подробно о том, как изменить DNS-сервер в Windows 10, 8.1 и Windows 7 — один универсальный метод для всех указанных систем и один дополнительный, только для Windows 10. Также в статье приведены популярные быстрые и безопасные DNS-серверы. Также доступна отдельная инструкция: Способы изменить DNS-сервер в Windows 11
- Изменение DNS сервера в Windows
- Дополнительный способ изменить DNS сервер в Windows 10
- Адреса популярных DNS-серверов
- Видео инструкция
Изменение DNS сервера в Windows
Если вам требуется изменить DNS-сервер в Windows 10, 8.1 или Windows 7 используйте следующие шаги, которые подойдут для всех указанных версий ОС:
- Нажмите клавиши Win+R на клавиатуре, введите ncpa.cpl в окно «Выполнить» и нажмите Enter.
- В открывшемся окне нажмите правой кнопкой мыши по подключению, используемое для доступа в Интернет и выберите пункт «Свойства» в контекстном меню.
- В списке компонентов подключения выберите «IP версии 4» или «TCP/IPv4» и нажмите кнопку «Свойства».
- Установите отметку «Использовать следующие адреса DNS-серверов» и укажите нужные адреса.
- Примените настройки кнопкой Ок.
- При необходимости (обычно таковая отсутствует) измените аналогичным образом DNS для IP версии 6.
После изменения параметров DNS не обязательно, но желательно сбросить кэш DNS.
На этом процесс будет завершен, а при открытии сайтов в Интернете у вас будет использоваться заданный вами адрес DNS-сервера.
Еще один способ изменить DNS сервер в Windows 10
В Windows 10 присутствует дополнительный метод изменения DNS-сервера для Интернет-подключения:
- Зайдите в Параметры — Сеть и Интернет, слева выберите тип подключения (Ethernet, Wi-Fi), для которого нужно выполнить изменение.
- Нажмите по имени активной сети.
- Пролистайте следующую страницу вниз до раздела «Параметры IP» и нажмите кнопку «Редактировать».
- Вместо «Автоматически» установите «Вручную».
- Включите IPv4, пролистайте вниз и установите желаемые параметры предпочитаемого и дополнительного DNS сервера, сохраните настройки.
- При необходимости, задайте DNS для IPv6 (обычно не требуется).
Также, как и в предыдущем случае, желательно очистить кэш DNS после применения настроек.
Адреса популярных DNS-серверов
Многие известные Интернет-компании предоставляют доступ к своим DNS-серверам: вы можете ввести их в параметрах, и они будут использоваться вашим подключением. Среди популярных DNS-серверов:
- Google — 8.8.8.8 и 8.8.4.4 (для IP версии 4), 2001:4860:4860::8888 и 2001:4860:4860::8844 (IP версии 6).
- Яндекс — 77.88.8.8 и 77.88.8.1 (Яндекс также предоставляет дополнительные возможности для своих DNS, подробнее можно прочесть на странице dns.yandex.ru).
- Cloudflare — 1.1.1.1 и 1.0.0.1 (IPv4), 2606:4700:4700::1111 и 2606:4700:4700::1001 (IPv6).
Видео инструкция
Надеюсь, в вашем случае все сработало. Если вы решили сменить DNS-сервер из-за каких-либо ошибок при открытии сайтов, рекомендую попробовать ввести текст ошибки в поиск на этом сайте: возможно, у меня есть решение для вашей проблемы.
Cheat Engine сервер:
Предназначен для удалённого взлома каких либо приложений, сервер располагается на целевом устройстве, а клиент подключается к нему по IP, после этого становятся доступны почти все функции стандартного Cheat Engine.
Установка Cheat Engine сервера на Android:
Для установки и использования вам потребуются:
- root права в системе.
- Приложение — терминал, скачать можно например из Google play.
- Сам сервер, который можно скачать с официального сайта, в разделе Download снизу, под вашу версию Android.
После того, как у вас есть все эти компоненты, можно приступать к установке.
Сначала, вам нужно найти системную папку с файлом sh, у меня это /system/bin:
После, нужно распаковать файлы из скачанного архива сервера в эту папку (файлы могут называться иначе):
После распаковки, останется только запустить сервер. Сделать это можно с помощью приложения терминал.
Команды:
su --Дать терминалу права суперпользователя.
system/bin/ceserver_x86 --Путь к файлу сервера. (какой у вас файл, и путь, вводите свой)
При успешном запуске, вы увидите сообщение от сервера, в котором он пишет что ожидает подключения клиента:
Что бы подключиться к серверу, вам нужно открыть клиент CE, и ввести ip адрес сервера, и порт (стандартный 52736), не забывайте что для подключения вне локальной сети порт должен быть открыт.
После подключения вы увидите список процессов на устройстве, и сможете взаимодействовать с ними:
Cheat Engine сервер может иметь проблемы с выделением памяти и прочим, поэтому, если у вас не работает выделение памяти, используйте уже существующие участки памяти, например неиспользуемые функции в библиотеках:
[ENABLE]
aobscan(PlayerL, 8B 9B A4 04 00 00) //Поиск инструкции по сигнатуре
registersymbol(PlayerL)
libopus.haar1: //Код в выбранном месте, неиспользуемая функция библиотеки
mov [ebx+000004A4],#500 //Установить 500 здоровья
originalcode:
mov ebx,[ebx+000004A4] //Оригинальная инструкция
jmp returnhere //Возврат в код после прыжка
PlayerL:
jmp libopus.haar1 //Прыжок на новый код
nop
returnhere:
[DISABLE]
PlayerL:
db 8B 9B A4 04 00 00 //Восстановление оригинальной инструкции
unregistersymbol(PlayerL)
Imaginary
Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров8.1K
🌐 Введение
Данной статьей я хочу продемонстрировать процесс погружения в неизвестную сферу, методы и средства для сбора информации. Чтобы раз и навсегда закрыть вопрос какие материалы “почитать”, ведь, действуя по гайду “я повторил, но ничего не понял”.
Что именно будем делать? Попробуем без особых знаний залезть в исходники софта для отладки и модификации кода, под названием Cheat Engine. Он создавался годами, а наша задача — апроприировать эти знания за короткий промежуток времени!
👤 Что такое Cheat Engine?
Cheat Engine — это мощный инструмент для реверс-инжиниринга и модификации кода. Хотя он позиционируется как “Чит Движок”, он фактически способен конкурировать с любыми дебаггерами по ряду причин:
-
🔒 Оснащён собственным драйвером, который даёт более высокий уровень прав и скрытность.
-
🕹️ Обладает встроенным гипервизором, который можно загрузить прямо в рантайме ОС.
-
🌟 Бесплатный и открытый исходный код делает его удобным для изучения.
💪 Зачем писать свой Cheat Engine?
Мы поняли, что это классная штука, она бесплатная, открытая и она работает. Так зачем же его писать самим?!
Главное — 🎓 Это сложная и интересная задача. Ну и я ни на что не намекаю, но …😉
Не сложно догадаться, что завести такой пет-проект в портфолио будет не плохо.
🔄 План работы
Чтобы создать минимально рабочий прототип, нам нужно реализовать ключевые функции:
-
🔐 Подключение к процессу.
-
🤖 Чтение и сканирование памяти.
-
🛠️ Редактирование памяти.
-
🔄 Таблица с найденными адресами.
-
📝 Дизассемблирование кода.
-
🏢 Отображение списка загруженных библиотек.
-
🌧️ Отладка (брейки, стек вызовов, регистры).
🔍 Исследуем исходники Cheat Engine
Открываем репозиторий Cheat Engine и видим несколько важных директорий:
-
Cheat Engine — основной код.
-
DBKKernel — проект драйвера.
-
DBVM — гипервизор.
-
lua — движок для скриптов.
Так как драйвер и гипервизор мы пока трогать не будем, откроем основной проект.
😅 Тут нас ждёт сюрприз: Cheat Engine написан на Паскале!
-
.lfm — GUI формы.
-
.pas — исходники с функциями.️️ 🔖 (они-то нам и нужны)
🌟 Разбираемся с кодом
Заглянув в основной проект, можно заметить, что там ку-у-у-у-ча файлов, но пугаться не стоит, так как главных всего-то ничего! А именно…
🔄 ProcessList.pas
Этот файл нужен для сбора и хранения информации о процессах.
procedure GetProcessList(ProcessList: TStrings; NoPID: boolean=false; noProcessInfo: boolean=false);
Перегрузка процедуры для управления выводом информации о процессах.
procedure GetProcessList(ProcessList: TStrings; NoPID: boolean=false; noProcessInfo: boolean=false);
var SNAPHandle: THandle;
ProcessEntry: PROCESSENTRY32;
Check: Boolean;
{$IFDEF WINDOWS}
lwindir: string;
HI: HICON;
ProcessListInfo: PProcessListInfo;
{$ENDIF}
i,j: integer;
s,s2: string;
begin
// 🔄 Полная очистка списка перед добавлением новых элементов
cleanProcessList(ProcessList);
// 🛠️ Если текущий отладчик - TGDBServerDebuggerInterface, получаем список процессов через него
if CurrentDebuggerInterface is TGDBServerDebuggerInterface then
begin
// 📥 Получаем список процессов через getProcessList
TGDBServerDebuggerInterface(CurrentDebuggerInterface).getProcessList(processlist);
// ✅ Если список получен, выходим
if processlist.count<>0 then exit;
end;
// 🍏 Для MacOSX получаем список процессов через macport, если нет соединения с сервером
{$ifdef darwin}
if getconnection=nil then
begin
macport.GetProcessList(processlist);
exit; // ⏭️ Выходим, если список уже сформирован
end;
{$endif}
// 🖥️ Windows: подготовка переменных
{$ifdef windows}
lwindir:=lowercase(windowsdir); // 📂 Директория Windows в нижнем регистре
ProcessListInfo:=nil; // ❌ Инициализация указателя
HI:=0; // 🎨 Дескриптор иконки (0 - нет иконки)
j:=0;
// 📸 Создаём снимок процессов
SNAPHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
If SnapHandle<>0 then // ✅ Успешно создан
begin
ZeroMemory(@ProcessEntry, sizeof(ProcessEntry)); // 🧹 Очистка структуры перед использованием
if not assigned(Process32First) then // ❗ Проверяем доступ к функции Process32First
begin
exit; // 🚪 Выход при ошибке
end;
ProcessEntry.dwSize:=SizeOf(ProcessEntry); // 📏 Устанавливаем размер структуры
// 🛡️ Для удалённого отладчика не запрашиваем доп. информацию
{$ifdef windows}
if getconnection<>nil then
noProcessInfo:=true;
{$else}
noProcessInfo:=true;
{$endif}
// 🔄 Начинаем перебор процессов
Check:=Process32First(SnapHandle,ProcessEntry);
while check do // 🔁 Пока есть процессы
begin
{$ifdef windows}
// 👤 Фильтрация по пользователю, если включен флаг ProcessesCurrentUserOnly
if (not ProcessesCurrentUserOnly) or (GetUserNameFromPID(processentry.th32ProcessID)=username) then
{$endif}
begin
// 🔍 Проверка, что PID не равен 0
if processentry.th32ProcessID<>0 then
begin
{$ifdef windows}
// 📥 Выделяем память для информации о процессе, если требуется
if noprocessinfo=false then
begin
getmem(ProcessListInfo,sizeof(TProcessListInfo));
// 📌 Заполняем структуру
ProcessListInfo.processID:=processentry.th32ProcessID;
ProcessListInfo.processIcon:=0;
ProcessListInfo.winhandle:=0;
end;
{$endif}
// 🔢 Формируем строку с PID, если NoPID=false
if noPID then
s:=''
else
s:=IntTohex(processentry.th32ProcessID,8)+'-';
// 📛 Добавляем имя исполняемого файла
s:=s+ExtractFilename(WinCPToUTF8(processentry.szExeFile));
{$ifdef windows}
// 📜 Добавляем в список с объектом ProcessListInfo, если требуется доп. информация
if noprocessinfo then
ProcessList.Add(s)
else
ProcessList.AddObject(s, TObject(ProcessListInfo));
{$else}
// ➕ Для других платформ просто добавляем имя процесса
ProcessList.Add(s)
{$endif}
end;
end;
// 🔁 Переход к следующему процессу
check:=Process32Next(SnapHandle,ProcessEntry);
end;
// 🔒 Закрываем снимок
closehandle(snaphandle);
end
else // ❌ Ошибка создания снимка
begin
{$ifdef windows}
// ⚠️ Выводим исключение, если список процессов получить невозможно
raise exception.Create(rsICanTGetTheProcessListYouArePropablyUsingWindowsNT);
{$endif}
end;
end; // 🎯 Конец процедуры GetProcessList
Чтобы продвинуться дальше, просто забиваем в поиск по файлам название функции GetProcessList, это приведет нас к следующему файлу и еще одной интересной функции…
🔄 MainUnit.pas (Это главный файл с логикой для GUI форм)
Здесь вызывается Open_Process, который используется во всех интерфейсах дебаггера (Kernel, DBVM).
🔄 CEFuncProc.pas
Тут находится реализация Open_Process.
🔄 NewKernelHandler.pas
Содержит ключевые функции, такие как:
function ReadProcessMemory(...);
function WriteProcessMemory(...);
🔄 Disassembler.pas
Файл на 16 000 строк, отвечающий за дизассемблирование кода.
🚀 Итоги
Теперь мы знаем как:
✅ Получать список процессов.
✅ Открывать хендл к процессу.
✅ Читать и записывать память.
Следующий шаг — разобраться с отладчиком и дизассемблером! 💪
Функции отладчика находятся все в том же NewKernelHandler.pas, они так же представлены перегрузками для разных интейфейсов: winapi, driver, server и т.д. Но в данном случае мы пока обратим внимание на winapi и уже после будет шаг за шагом разбирать другие методы работы.
Ключевыми будут 👇
// Получение адреса функции GetThreadContext из библиотеки WindowsKernel
и присваивание его переменной GetThreadContext
GetThreadContext:=GetProcAddress(WindowsKernel,'GetThreadContext');
// Получение адреса функции SetThreadContext из библиотеки WindowsKernel
и присваивание его переменной SetThreadContext
SetThreadContext:=GetProcAddress(WindowsKernel,'SetThreadContext');
🤏 Именно через SetThreadContext мы и будем устанавливать аппаратные точки останова, изменяя регистр DRx (Debug Registers).
🔹 Как установить хардверный бряк через SetThreadContext?
-
1️⃣ Использовать
GetThreadContext
, чтобы получить текущий контекст потока. -
2️⃣ Изменить один из DR0–DR3 (адрес бряка).
-
3️⃣ Настроить DR7 для активации бряка.
-
4️⃣ Применить изменения через
SetThreadContext
.
🔹 Пример кода
CONTEXT ctx;
ctx.ContextFlags = CONTEXT_DEBUG_REGISTERS;
GetThreadContext(hThread, &ctx);
ctx.Dr0 = targetAddress; // Адрес для бряка
ctx.Dr7 |= 1; // Включаем бряк
SetThreadContext(hThread, &ctx);
📌 Важно: бряк привязан к конкретному потоку, а не всему процессу.
👁️👁️👁️ Там же видим
// 🔍 Получение адреса функции Wow64GetThreadContext из библиотеки WindowsKernel и присваивание его переменной Wow64GetThreadContext
Wow64GetThreadContext:=GetProcAddress(WindowsKernel,'Wow64GetThreadContext');
// 🔍 Получение адреса функции Wow64SetThreadContext из библиотеки WindowsKernel и присваивание его переменной Wow64SetThreadContext
Wow64SetThreadContext:=GetProcAddress(WindowsKernel,'Wow64SetThreadContext');
SuspendThread:=GetProcAddress(WindowsKernel,'SuspendThread');
// ⏸️ Получение адреса функции SuspendThread из библиотеки WindowsKernel, которая используется для приостановки выполнения потока
ResumeThread:=GetProcAddress(WindowsKernel,'ResumeThread');
// ▶️ Получение адреса функции ResumeThread из библиотеки WindowsKernel, которая используется для возобновления выполнения ранее приостановленного потока
WaitForDebugEvent:=GetProcAddress(WindowsKernel,'WaitForDebugEvent');
// ⏳ Получение адреса функции WaitForDebugEvent из библиотеки WindowsKernel, которая используется для ожидания события отладки в процессе или потоке
ContinueDebugEvent:=GetProcAddress(WindowsKernel,'ContinueDebugEvent');
// 🔄 Получение адреса функции ContinueDebugEvent из библиотеки WindowsKernel, которая используется для продолжения выполнения после обработки события отладки
DebugActiveProcess:=GetProcAddress(WindowsKernel,'DebugActiveProcess');
// 🛠️ Получение адреса функции DebugActiveProcess из библиотеки WindowsKernel, которая используется для начала отладки процесса по его идентификатору
Здесь же видим непонятный WindowsKernel, пробуем поискать в файле и находим:
WindowsKernel: Thandle;
// 🏗️ Переменная, хранящая дескриптор ядра операционной системы Windows
Но это только объявление, пробуем прощелкать далее и находим определение:
WindowsKernel:=LoadLibrary('Kernel32.dll');
// 📦 Попытка загрузить библиотеку ядра Windows (Kernel32.dll) и сохранение дескриптора в переменную WindowsKernel.
// ❌ Если библиотека не найдена, то WindowsKernel будет равен 0.
Этого достаточно для базовой работы с процессами. Остается поглядеть, что там в Disassembler’е.
Как мы помним, там 16 000 строк кода, и все, что они делают, так это проверяют каждый байт на константное значение.
Если совпадает, то устанавливают строковую мнемонику (ADD
, MOV
и др.).
Рассмотрим поближе. У нас есть базовый объект дизассемблера, defaultDisassebler
:
defaultDisassembler:=TDisassembler.create;
// 🛠️ Создаем объект по умолчанию и присваиваем его глобальной переменной.
Который инициализируется методом create
в классе TDisassembler
,
далее на участок памяти вызывается функция disassemble
, которая возвращает строку.
Начинается функция на 1624 строке, а заканчивается на 15710 строке.
Как уже выше упомянуто, почти все эти строки занимает switch
,
который проверяет байты и отдает назад название инструкции.
case memory[0] of //opcode
$00 : begin
//🏹🏹
if (aggressivealignment and (((offset) and $f)=0) and (memory[1]<>0) ) or ((memory[1]=$55) and (memory[2]=$89) and (memory[3]=$e5)) then
begin
description:='Filler';
lastdisassembledata.opcode:='db';
LastDisassembleData.parameters:=inttohex(memory[0],2);
end
else
begin
description:='Add';
//🏹🏹
lastdisassembledata.opcode:='add';
lastdisassembledata.parameters:=modrm(memory,prefix2,1,2,last)+r8(memory[1]);
inc(offset,last-1);
end;
end;
$01 : begin....
Думаю, на этом можно закончить введение, более подробно рассмотрим каждый из методов уже на практике, когда начнем писать свой mega-omega
чит-движок с плюшками.
На этом откланяюсь, а все претензии и пожелания можно писать сюда 👉 https://t.me/osiechan/52, здесь же можно скачать исходные файлы с комментариями на каждой строке (да-да, даже на 16 000 строк) и pdf статьи.
А прокачать свой навыки чито-строителя можно на бесплатном, открытом курсе по созданию бота для мморпг 👉 https://t.me/osiechan/41.
Спасибо за внимание :з.
Все способы:
- Учимся работать с Cheat Engine
- Изменение значений в игре
- Включение SpeedHack
- Вопросы и ответы: 188
Если вы хотите поиграть в компьютерные игры не совсем честно, но не знаете как это сделать, тогда данная статья именно для вас. Сегодня мы расскажем вам, как можно взломать различные игры с помощью специализированного софта. Делать это мы будем с помощью Cheat Engine.
Сразу же хотим обратить внимание на тот факт, что в некоторых случаях при использовании указанной программы вы можете получить бан. Поэтому лучше всего сперва проверить работоспособность взлома на каком-то новом аккаунте, который будет не жалко в случае чего потерять.
Учимся работать с Cheat Engine
Рассматриваемая нами программа для взлома весьма функциональна. С помощью нее можно выполнять множество различных задач. Но для большинства из них потребуется определенный багаж знаний, например опыт работы с HEX (Хекс). Мы не будем нагружать вас различными терминами и поучениями, поэтому просто расскажем вам об общих приемах и способах применения Cheat Engine.
Изменение значений в игре
Данная функция является самой популярной из всего арсенала Cheat Engine. Она позволяет изменить нужным образом практически любое значение в игре. Это может быть здоровье, броня, количество боеприпасов, денег, координаты персонажа и многое другое. Вы должны понимать, что использование данной функции далеко не всегда завершается успешно. Причиной неудачи может быть как ваша ошибка, так и надежная защита игры (если рассматривать онлайн-проекты). Тем не менее попытаться взломать показатели вы все же можете. Вот что нужно сделать:
- Загружаем с официального сайта Cheat Engine, после чего устанавливаем ее на компьютер либо ноутбук, а после этого запускаем.
- Вы увидите на рабочем столе следующую картину.
- Теперь следует запустить клиент с игрой либо открыть таковую в браузере (если речь идет о веб-приложениях).
- После того, как игра будет запущена, необходимо определиться с тем, показатель чего именно вы хотите изменить. К примеру, это какая-то валюта. Смотрим в инвентарь и запоминаем ее текущее значение. В приведенном ниже примере данное значение равняется 71 315.
- Теперь снова возвращаемся к запущенной Cheat Engine. Необходимо в главном окне найти кнопку с изображением компьютера. До первого нажатия эта кнопка будет с мигающей обводкой. Нажимаем на нее один раз левой кнопкой мыши.
- В результате на экране появится окно меньших размеров со списком запущенных приложений. Из подобного списка вам нужно выделить ту строчку левой кнопки мыши, которая отвечает за игру. Ориентироваться можно по иконке слева от названия, а если таковая отсутствует, то по самому имени приложения. Как правило, имя содержит название приложения либо слово «GameClient». Выбрав нужную позицию, следует нажать на кнопку «Open», которая располагается немного ниже.
- Кроме того, выбрать нужную игру можно также из списка процессов или открытых окон. Для этого нужно просто перейти в одну из вкладок с соответствующим названием вверху.
- Когда игра будет выбрана из списка, программе потребуется буквально пару секунд, чтобы провести так называемую инъекцию библиотек. Если ей это удастся, то в самом верху главного окна Cheat Engine будет отображено название приложения, которое вы выбрали ранее.
- Теперь можно приступить непосредственно к поиску нужного значения и его дальнейшему редактированию. Для этого в поле с названием «Value» вводим значение, которое мы ранее запомнили и которое хотим изменить. В нашем случае это 71 315.
- Далее нажимаем кнопку «First Scan», которая находится выше поля ввода.
- Чтобы результаты поиска получились более точными, можно установить опцию паузы в игре во время сканирования. Делать это не обязательно, но в некоторых случаях помогает сузить перечень вариантов. Чтобы включить данную функцию, достаточно поставить отметку в чекбокс напротив соответствующей строки. Ее мы отметили на изображении ниже.
- Нажав на кнопку «First Scan», вы увидите спустя короткий промежуток времени все найденные результаты в левой части программы в виде своеобразного списка.
- За искомое значение отвечает лишь один адрес. Поэтому необходимо отсеять лишние. Для этого нужно вернуться в игру и изменить числовое значение валюты, жизней или того, что вы хотите изменить. Если это какая-то валюта, то достаточно просто что-либо купить или продать. Не важно, в какую сторону изменится значение. В примере после манипуляций у нас получилось число 71 281.
- Возвращаемся снова к Cheat Engine. В строке «Value», куда ранее мы вписывали значение 71 315, теперь указываем новое число — 71 281. Проделав это, жмем кнопку «Next Scan». Она находится немного выше строчки ввода.
- При самых хороших раскладах вы увидите в списке значений лишь одну нужную строчку. Если же таких будет несколько, то необходимо повторить предыдущий пункт еще раз. Имеется в виду смена значения в игре, ввод нового числа в поле «Value» и повторный поиск через «Next Scan». В нашем случае все получилось с первого раза.
- Выделяем найденный адрес одиночным нажатием левой кнопкой мыши. После этого нажимаем на кнопку с красной стрелкой. Ее мы отметили на скриншоте ниже.
- Выбранный адрес переместится в нижнюю часть окна программы, где можно производить дальнейшие правки. Для изменения значения кликаем два раза левой кнопкой мышки на той части строки, где находятся цифры.
- Появится маленькое окошко с единственным полем для ввода. В нем пишем то значение, которое вы хотите получить. К примеру вы хотите 1 000 000 денег. Именно данное число и пишем. Подтверждаем действия нажатием кнопки «OK» в этом же окне.
- Возвращаемся обратно к игре. Если все сделано верно, то изменения тут же вступят в силу. Вы увидите примерно следующую картину.
- В некоторых случаях необходимо еще раз изменить числовое значение в игре (купить, продать и так далее) для того, чтобы новый параметр вступил в силу.
Вот собственно и вся методология поиска и изменения нужного параметра. Мы советуем при сканировании и отсеве параметров не менять настройки программы по умолчанию. Для этого необходимы более глубокие знания. А без них вы попросту не сможете добиться желаемого результата.
Важно помнить, что при работе с онлайн-играми далеко не всегда получится проделать описанные выше манипуляции. Виной всему защита, которую нынче стараются установить практически везде, даже в браузерные проекты. Если у вас что-либо не получается, то это не значит, что всему виной ваши ошибки. Возможно, это установленная защита не дает подключиться Cheat Engine к игре, вследствие чего на экране могут возникнуть различные ошибки. Кроме того, часто встречаются ситуации, когда поменять значения выходит лишь на уровне клиента. Это значит что отображаться будет введенное вами значение, но сервер по факту увидит лишь настоящие цифры. Это также заслуга системы защиты.
Включение SpeedHack
SpeedHack — это изменение скорости движения, стрельбы, полета и прочих параметров в игре. С помощью Cheat Engine сделать это абсолютно несложно.
- Заходим в ту игру, в которой нужно изменить скорость.
- Далее снова возвращаемся к ранее запущенному Cheat Engine. Жмем на кнопку в виде компьютера с лупой в левом верхнем углу. О ней мы упоминали в предыдущем разделе.
- Выбираем из появившегося списка свою игру. Чтобы она появилась в данном перечне, ее необходимо предварительно запустить. Выбрав приложение, жмем кнопку «Open».
- Если защита позволит программе подключиться к игре, то вы не увидите на экране никакого сообщения. В верхней части окна лишь отобразится название подключенного приложения.
- С правой стороны окна Cheat Engine вы найдете строчку «Enable Speedhack». Ставим отметку в чекбоксе рядом с данной строчкой.
- Если попытка включения завершится успехом, вы увидите ниже появившуюся строчку для ввода и ползунок. Изменить скорость можно как в большую сторону, так и вовсе опустить ее до нуля. Для этого нужно ввести в строчку нужное значение скорости либо выставить его с помощью ползунка путем перетягивания последнего.
- Для того чтобы изменения вступили в силу, нужно нажать кнопку «Apply» после того, как выбрали нужную скорость.
- После этого ваша скорость в игре изменится. В некоторых случаях увеличивается скорость не только ваша, но и всего происходящего в игровом мире. Кроме того, иногда сервер не успевает обрабатывать подобные запросы, в результате чего возникают некие рывки и подергивания. Это связано с защитой игры и обойти это, к сожалению, никак нельзя.
- Если вам необходимо отключить Speedhack, то достаточно просто закрыть Cheat Engine или снять галочку напротив строки в окне программы.
Вот таким нехитрым образом можно в игре быстро бегать, стрелять и проводить прочие действия.
На этом данная статья подходит к концу. Мы рассказали вам об основных и самых востребованных функциях CheatEngine. Но это не значит, что программа больше ни на что не способна. На самом деле, ее возможности очень велики (составление трейнеров, работа с хексом, подмена пакетов и так далее). Но для этого потребуются куда большие знания, а пояснять подобные манипуляции понятным всем языком не так-то просто. Надеемся, у вас получится достигнуть поставленных целей. А если вам нужна будет консультация или совет — милости просим в комментарии к этой статье.
Если вам интересна тема взлома игр и использования читов, рекомендуем ознакомиться со списком софта, который в этом поможет.
Подробнее: Программы-аналоги ArtMoney
Наша группа в TelegramПолезные советы и помощь