Патчер (модификатор) — программа для создания патчей и/или лоадеров на основе известных данных о том по каким адресам в памяти или файле необходимо заменить байты. Также может (не все) пропатчить программу на основе указанных данных или дописать к оригинальному файлу лоадер.
Патч (patch) — это программа, которая заменяет или дописывает в оригинальный файл некоторое количество байт по определённым адресам.
а) патч толко заменяет определённые байты, при этом размер файла не изменяется
б) патч дописывает в файл свою секцию или наоборот удаляет участок файла
Патч делается, когда известно какие байты и по каким адресам нужно заменить в оригинальном файле или, чтобы дописать в файл секцию лоадера или какого-либо дополнения до полной функциональной версии.
Лоадер (loader) — это программа, которая служит для корректного запуска оригинального файла.
а) лоадер заменяет байты по оперделённым адресам в том участке памяти, куда распаковывает себя программа.
Как установить патч
б) лоадер удаляет запси из реестра и т.п., после чего запускается оригинальный файл.
в) при помощи спец. патча лоадер записывается непосредственно в оригинальный файл.
Лоадер делается, если известно (например при помощи SoftICE) какие учатки файла загруженного в память нужно заменить, однако нет возможности (или желания) определить как именно запакован файл, чтобы произвести изменения непосредственно в файле.
Как известно большинство (если не все) ехе-файлов запакованы. Делается это в целях защиты от изменения кода. При запуске ехе-файл распаковывает себя в память. Определить какие участки распакованного файла (т.е. того что находится в памяти) подлежат замене возможно, однако чтобы определить эти же участки в запакованном файле (т.е. лежащем на харде) нужно знать чем он запакован и иметь соответствующий распаковщик. В случае если распаковать файл затруднительно, пишется лоадер, который работает как патч, только для памяти.
Программы для создания патчей:
CodeFusion Wizard v3.0 [379 Kb]
_http://reversing.kulichki.net/files/patch/codefs30.rar
_http://kobik.videodot.net/downloads/codefs30.zip
офф.сайт Для просмотра ссылки Войди
Наверное самый распространенный Wizard для создания патчей. Мне неоднократно попадались патчи созданные этой программой. создаёт патч, который перед внесением изменений в оригинальный файл создаёт его резервную копию.
Может определять какие байты нужно дописать путём сравнения (т.е. сравнивая оригинальный файл с подломаным создаёт патч). Высокая скорость сравнения, поддерживается разный размер файлов, короче даже если Вы сравните word.exe и notepad.exe и на выходе Вы получите патч для notepad.exe, то после патча блокнот превратиться в Word(сам .exe).
Проверка исходного и конечного файла по CRC. Созданные патчи программа может упаковать и зашифровать.
Clickteam Patch Maker v1.2g [413 Kb]
_http://reversing.kulichki.net/files/patch/pm12.rar
Как написать #patch для исполняемого файла
Программа создана специально для авторов программ. Позволяет создать маленькие патчи в виде инсталяшки для обновления компонентов программы. (будь то текстовый или исполнимый файл — для этой программы разницы нет)
aPATCH v0.34 [81,3 Kb]
_http://reversing.kulichki.net/files/patch/apatch34.rar
apatch v1.07 [118 Кб]
Для просмотра ссылки Войди
Маленькая программа для создания патча, поддерживает создание копий, проверку CRC и LNF. На выходе получается .com файл. В архиве есть исходники и примеры.
Версия 0.34 попроще и в архиве больше конкретных примеров, позволяющих понять как использовать программу. Версия 1.07 более функциональна. Позволяет сделать патч с пошаговым выполнением инструкций (т.е. с выбором что патчить, а что нет)
Программы для создания лоадеров:
DzA Patcher v1.3 [36,6 Кб]
_http://reversing.kulichki.net/files/patch/dza.rar
Патчер, который может непосредственно прикрепить секцию лоадера к файлу, а может создать лоадер в виде отедльного файла.
Также может создавать патч, записывающий лоадер в оригинальный файл.
Для встраивания лоадера в оригинальный файл умеет распознавать следующие упаковщики:
ASPack, Bjfnt, Code Safe, Code Crypt, Krypton The Krypter, NFO, NoodleCrypt, PCShrink, Phrozen Crew PE encryptor, PE Bundle, PE Diminisherm PE Lock NT, PECompact, PEPack, PE-Protect, PeX, Stone’s PE packer, tElock, UPX, Visual Protect, VG Crypt, WWPack32, Win Kript
Если используется неизвестный ппрограмме распаковщик, то лоадер лучше создавать в виде отдельного файла. Также лоадер лучше создавать отдельно, если файл при запуске проверяет себя на правильный размер.
Patch On Fly v0.70 [225 Kb]
_http://reversing.kulichki.net/files/patch/pof.rar
Создаёт Loader который может заменять строки, Dword, word и byte по указанным адресам. Запускает программу, а затем заменяет байты.
Predator’s Extreme Loader Generator v0.3 [210 Kb]
Создает «умные» loader’ы. В патчи закладывается информация, когда атаковать распакованную прогу — По названию окна, по Class Name или стандартный способ.
PrincessSandy 1.0 [ 231 Kb]
_http://reversing.kulichki.net/files/patch/e_sandy.rar
Имеет настраиваемое число атак на процесс.
COGEN II [358 Kb]
_http://reversing.kulichki.net/files/patch/cogen.rar
Программа написана на ASM. Создает быстрые патчи, а точнее компилирует(Tasm) + автоматически создает .NFO файл. Можно менять внешний вид патча.
Программы, которые могут создавать и то и другое:
Patch Creation Wizard v1.21 [22,4 Kb]
_http://reversing.kulichki.net/files/patch/pc_pcw12.rar
Позволяет создавать несколько видов патчей — Memory Patch, Byte patch и Seek and Destroy.
соответственно Memory Patch — это лоадер; Byte patch — это патч; Seek and Destroy — поиск и замена определённого сочетания байтов.
К большинству программ я домашних страничек уже не нашёл. Однако информации как мне кажется вполне достаточно .
Источник: dumpz.ws
Гайд [Самое основное] Байт патчинг C++ программ с помощью IDA Pro и Hex Редактора
Всем привет, сегодня я расскажу то что обязан знать каждый кто когда либо занимался даже основами ревёрсинга.
Сегодня мы напишем простенькую программу на C++ и пропатчим её.
Разбил я это на 2 этапа.
В первом мы пишем программу, во втором мы её патчим.
Пожалуй начнём!
Я уже написал программу но для вашего удобства расписал всё что вам нужно знать про неё.
#include #include #include using namespace std; bool security(string password, string username) // Функция проверяющая правильность пароля и имени < string passansw = «administrator»; // Самое не безопасное что может быть string unameans = «admin»; // Самое не безопасное что может быть if (username == unameans) < if (passansw == password) < cout else < cout > else < cout > int main() < string uinpass; string uinunam; cout > uinunam; cout > uinpass; cout else < cout >
Теперь перейдём ко второму этапу
Открываем иду и суём туда наш файл
Переходим в функцию _main и нажимаем F5 что-бы увидеть псевдокод
Видим это.
теперь видим функцию которая принимает несколько значение а именно : sub_401220
Теперь переходим по ней, после этого видим admin и administrator, это нам и нужно.
Находим байты этих стрингов
Ну а сейчас открываем
Пожалуйста, авторизуйтесь для просмотра ссылки.
(Не реклама), и закидываем туда файл.
Ищем эти (61 64 6D 69 6E) байты и видим такую картину
Теперь просто меняе либо байты либо текст и сохраняем, готово!
Вы пропатчили первую программу.
Я поменял пароль на yougame_guide и теперь вижу такую картину!
Спасибо за прочтение, надеюсь что вам понравилось и вы чему то научились
Олдфаг
Крутой гайд по патчингу, учитывая что нигде уже нет не заксоренных строк. И конечно протекторы и прочий стафф мы в расчет не берем, а патчить свою же программу это очень очень круто. Я бы посмотрел на таких патчеров когда они будут патчить даже обыкновенный лоадер под вмп.
Участник
Крутой гайд по патчингу, учитывая что нигде уже нет не заксоренных строк. И конечно протекторы и прочий стафф мы в расчет не берем, а патчить свою же программу это очень очень круто. Я бы посмотрел на таких патчеров когда они будут патчить даже обыкновенный лоадер под вмп.
Но есть их дешифратор, но работает кривовато.
И да, это основы, естественно, тут XOR не подразумевается.
team enterial //
Разработчик
maj0rdesign
Дизайнер
Пользователь
раз иду заюзал в ней и мог бы пропатчить.
Только тссс никому пж
А то аврору 1 байтом пропатчат и будет кряк
Забаненный
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
чё нах , похоже на гайд как найти пароль в иде который лежит в самом открытом месте и не как не шифруется
maj0rdesign
Дизайнер
раз иду заюзал в ней и мог бы пропатчить.
Только тссс никому пж
А то аврору 1 байтом пропатчат и будет кряк
Посмотреть вложение 185775
Когда я последний раз патчил через иду всё пошло по п@$е)
Пробуй и всё получится
oversee you
Забаненный
Обратите внимание, пользователь заблокирован на форуме.
Не рекомендуется проводить сделки.
Но есть их дешифратор, но работает кривовато.
И да, это основы, естественно, тут XOR не подразумевается.
Паблик тула для девиртуализации ВМП 3 версии работат только под х64 и работает достаточно хуево, не понимаю о каких дешифраторах тут идет речь, кроме сделанных самостоятельно, но учитывая тему где это было сказано, у меня есть очень большие сомнения в способностях автора. В виртуализации ВМП 3+ есть уязвимость связанная со стеком, которая открывает много возможностей для дебага виртуальной машины.
Пользователь
Забаненный
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
раз иду заюзал в ней и мог бы пропатчить.
Только тссс никому пж
А то аврору 1 байтом пропатчат и будет кряк
Посмотреть вложение 185775
Уже давно всё это сделали
how to доказать всем что не еблан
Пользователь
раз иду заюзал в ней и мог бы пропатчить.
Только тссс никому пж
А то аврору 1 байтом пропатчат и будет кряк
Посмотреть вложение 185775
я кста думал он пропатчит return значения функции, а он нах@й строки пропатчил
maj0rdesign
Дизайнер
я кста думал он пропатчит return значения функции, а он нах@й строки пропатчил
Можно пропатчить как ретурн так и сам пароль, если бы был ксор было бы проще патчить ретурн
Эксперт
раз иду заюзал в ней и мог бы пропатчить.
а можно еще полностью запатчить функцию ввода логина/пароля и просто форсить прыжок куда нам надо
Забаненный
Обратите внимание, пользователь заблокирован на форуме.
Не рекомендуется проводить сделки.
Олдфаг
Гайд, как изменить строки в .txt файле:
Создаём txt файл, открываем через notepad, пишем любой текст.
Сохраняем файл.
Теперь нам нужна программа для редактирования текста, visual Studio 2022 с полным пакетом инструментов нам подходит.
Открываем txt файл с помощью visual Studio 2022, видим наши строки и меняем их на нужные!
Начинающий
раз иду заюзал в ней и мог бы пропатчить.
Только тссс никому пж
А то аврору 1 байтом пропатчат и будет кряк
Посмотреть вложение 185775
Как я помню, *в ванильной иде* ида database нельзя преобразователь в pe файл. *Если эту возможность уже добавили, поправьте меня, тк в иду захожу раз в год :)*
И на это есть много причин, помню, читал руководство по иде и там это подробно расписано. Кому интересно, тот сам найдет
Участник
Паблик тула для девиртуализации ВМП 3 версии работат только под х64 и работает достаточно хуево, не понимаю о каких дешифраторах тут идет речь, кроме сделанных самостоятельно, но учитывая тему где это было сказано, у меня есть очень большие сомнения в способностях автора. В виртуализации ВМП 3+ есть уязвимость связанная со стеком, которая открывает много возможностей для дебага виртуальной машины.
Так он говорил про ксор, на что я ответил, что есть декрипторы на него, тот, что написан на питоне и идёт как плагин для иды
Источник: yougame.biz
Как пропатчить ядро без перезагрузки: обзор современных инструментов
Тему обновления патчей ядра без перезагрузки мы уже рассматривали в статье, опубликованной в 2014 году. В ней речь шла о KernelCare — инструменте, разработанном нашими партнёрами из компании Cloud Linux. Прошло два с небольшим года — и ситуация изменилась, причём кардинально: начиная с версии 4.0 возможность наложения патчей “на лету” была официально добавлена в ядро.
Инструменты kpatch и kGraft, которые в 2014 году находились в “сыром” состоянии, также были существенно усовершенствованы. Kpatch даже был добавлен в официальные репозитории, — например, в Ubuntu 16.04 его уже можно установить с помощью стандартного менеджера пакетов. А компания Canonical совсем недавно представила сервис Canonical Livepatch Service, с помощью которого можно патчить без перезагрузки ядра Ubuntu. В этой статье мы подробно расскажем о современных инструментах для наложения патчей.
Тему обновления патчей ядра без перезагрузки мы уже рассматривали в статье, опубликованной в 2014 году. В ней речь шла о KernelCare — инструменте, разработанном нашими партнёрами из компании Cloud Linux. На момент написания статьи KernelCare был чуть ли не единственным пригодным для полноценного использования инструментом для наложения патчей.
Прошло два с небольшим года — и ситуация изменилась, причём кардинально: начиная с версии 4.0 возможность наложения патчей «на лету» была официально добавлена в ядро.
Инструменты kpatch и kGraft , которые в 2014 году находились в «сыром» состоянии, также были существенно усовершенствованы. Kpatch даже был добавлен в официальные репозитории, — например, в Ubuntu 16.04 его уже можно установить с помощью стандартного менеджера пакетов.
А компания Canonical совсем недавно представила сервис Canonical Livepatch Service , с помощью которого можно патчить без перезагрузки ядро Ubuntu.
Более подробно о современных инструментах для добавления патчей мы расскажем в этой статье.
Простейший пример: livepatch
Начнём с очень простого эксперимента. Для этого нам понадобится любой дистрибутив Linux c ядром версии 4.0 или выше (в нашем случае это Ubuntu 16.04; здесь и далее все примеры команд приводятся именно для этого дистрибутива). В новых версиях ядра функция добавления патчей «на лету»(она так и называется — livepatch) включена по умолчанию.
Чтобы проверить, как она работает, нам потребуется, во-первых, установить заголовки ядра:
$ sudo apt-get install linux-headers-$(uname -r)
Далее установим отладочные символы ядра:
#добавляем репозитории $ codename=$(lsb_release -sc) $ sudo tee /etc/apt/sources.list.d/ddebs.list << EOF deb http://ddebs.ubuntu.com/ $ main restricted universe multiverse deb http://ddebs.ubuntu.com/ $-security main restricted universe multiverse deb http://ddebs.ubuntu.com/ $-updates main restricted universe multiverse deb http://ddebs.ubuntu.com/ $-proposed main restricted universe multiverse EOF #добавляем ключ wget -Nq http://ddebs.ubuntu.com/dbgsym-release-key.asc -O- | sudo apt-key add — #обновляем список пакетов $ sudo apt-get update #устанавливаем отладочные символы $ sudo apt-get install linux-image-$(uname -r)-dbgsym
$ sudo sed -i — ‘s/#deb-src/deb-src/g’ /etc/apt/sources.list sudo sed -i — ‘s/# deb-src/deb-src/g’ /etc/apt/sources.list $ sudo apt-get update $ sudo apt-get build-dep linux
К эксперименту всё готово, можно начинать. Выполним следующую команду:
wget http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/samples/livepatch/livepatch-sample.c