Всем привет! Запустил небольшой курс, как можно ревёрсить программы, в конце курса дойдём до самых сложных примеров, которые накрыты VMP и множеством других протекторов. Весь курс предназначен на нативные приложения, курс будет для "чайников" в плане ревёрс-инженерии, без знаний C/C++ будет очень тяжело для понимания Ну что же, начнём! Софт - https://zelenka.guru/threads/1873644/ Как обмануть лоадер читов? Анализ программы Адрес точки входа: 0005BBB0 Разрядность: x64 Компилятор: VS Лоадер ****ает себя в %Appdata%/TEMP Это мы узнали из диспетчера задач(пкм по процессу, открыть расположение файла) Поэтому дела вести будем с ним Дебаг через IDA Загружаем софт в иду, выбираем "Local windows debugger" Жмём на зеленый треугольник, "старт" При запуске у нас сразу закрывается дебаггер и процесс Значит мы имеем дело с Анти Дебаггером Анти Анти Дебаг В иде заходим в вкладку Imports, там будут все импорты библиотек На практике, 90% кодеров используют примитивные способы детекта дебаггера, в данном случае IsDebuggerPresent Открываем функцию(2 клик) и жмём X, чтобы узнать где вызывается эта функция Перед нами такая вещь, 3 проверки, все на команде "jnz", что она делает, можно посмотреть в предыдущих уроках Если условие совпадает, то идёт закрытие процесса Патчим JNZ на JZ Сохраняем и вуаля, мы успешно можем дебажить нашу софтину Обход проверки Мы обошли Анти Дебаггер, теперь надо обмануть лоадер Я выбрал английский язык в лоадере, дабы было легче Вводим какой нибудь ключ и жмём "sing in" Ищем строку "The key is incorrect" Видим, что в памяти оно появляется по букве, значит это xor шифрование строк, выделяем текст и жмём A У это переменной нет xref`a, поэтому берём в руки x64dbg Отладка через x64dbg Снова вводим ключ и жмем "войти" Жмем правой кнопкой по окну с командами, выбираем search for -> current module-> string references Ищем там "The key is incorrect" Жмём 2 раза по последнему вызову Логика Читаем кодера Тут идёт условие, если ключ валидный, авторизовываемся Меняем на jne на je, для этого выбираем строку и жмём пробел Проверяем Насчёт полноценного кряка я несовсем уверен, этот текст, "Login...Wait..." будет постоянно, тут 2 варианта: 1)У меня нет установленного раста, поэтому он не может заинжетить 2)Идут дополнительные проверки, но так как у меня нет лицензионного ключа, я не могу это проверить Главное, что Вы поняли, как можно взаимодействовать с программой, это искусство Всем удачи в начинаниях! Всем пока! Предыдущие уроки: https://zelenka.guru/threads/2552541/ https://zelenka.guru/threads/2550799/