Гайд Достаем DLL из байтов у программы используя HEX редакторы [x32, x64]

Статус
В этой теме нельзя размещать новые ответы.
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
11 Янв 2018
Сообщения
2,410
Реакции
454
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет! Это снова я. Сегодня я расскажу как достать DLL (или любые другие исполняемые программы) находящиеся в ресурсах программы (в байтах). Гайдов на RU сегменте как всегда нема, а если есть, то максимально непонятные. Все ваши крякеры (по типу nelfo) используют этот метод.

Для начала нужно определиться с HEX редактором, лично я предпочитаю HxD так как это самый удобный и понятный редактор лично для меня. Вы можете использовать Neo Hex Editor или любой другой, на ваше предпочтение т.к особой роли это не играет.

Открываем программу в HEX редакторе. Теперь мы должны скопировать первые 3 начальных символа ("4D 5A 90" в HEX или "MZђ" в string). Теперь жмем CTRL + F (открываем поиск по строке или HEX значению) и вводим туда скопированные 3 символа (MZђ). В поиске должно быть что-то похожее на это:

1614449270121.png

У нас есть 3 результата, самый первый - это мусор, нам нужны два последних результата (как определить? перед и после MZђ должны стоять точки). Значит в моей программе есть целых две DLL находящихся в байтах! (у вас же может быть 1 или любое другое число). Я пожалуй остановлюсь на первой DLL.

Переходим по результату и удаляем абсолютно все, что идет до MZђ:

1614449264148.png


Должно получиться вот так:

1614449351892.png


Т.е я нашел MZђ и удалил абсолютно все перед ним, и получилось, что этот MZђ теперь стоит в самом начале.

Почти готово! Теперь мы сохраняем, переименовываем в файл с любым названием с расширением .dll, можем инжектить и наслаждаться!)
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
пойду крякать скит,спс :SMOrc:
 
Привет! Это снова я. Сегодня я расскажу как достать DLL (или любые другие исполняемые программы) находящиеся в ресурсах программы (в байтах). Гайдов на RU сегменте как всегда нема, а если есть, то максимально непонятные. Все ваши крякеры (по типу nelfo) используют этот метод.

Для начала нужно определиться с HEX редактором, лично я предпочитаю HxD так как это самый удобный и понятный редактор лично для меня. Вы можете использовать Neo Hex Editor или любой другой, на ваше предпочтение т.к особой роли это не играет.

Открываем программу в HEX редакторе. Теперь мы должны скопировать первые 3 начальных символа ("4D 5A 90" в HEX или "MZђ" в string). Теперь жмем CTRL + F (открываем поиск по строке или HEX значению) и вводим туда скопированные 3 символа (MZђ). В поиске должно быть что-то похожее на это:

Посмотреть вложение 134360
У нас есть 3 результата, самый первый - это мусор, нам нужны два последних результата (как определить? перед и после MZђ должны стоять точки). Значит в моей программе есть целых две DLL находящихся в байтах! (у вас же может быть 1 или любое другое число). Я пожалуй остановлюсь на первой DLL.

Переходим по результату и удаляем абсолютно все, что идет до MZђ:

Посмотреть вложение 134358

Должно получиться вот так:

Посмотреть вложение 134361

Т.е я нашел MZђ и удалил абсолютно все перед ним, и получилось, что этот MZђ теперь стоит в самом начале.

Почти готово! Теперь мы сохраняем, переименовываем в файл с любым названием с расширением .dll, можем инжектить и наслаждаться!)
hmm thanks brother nice
 
Теперь мы сохраняем
Гораздо выгоднее написать для этого инструмент, который будет быстрее, удобнее и правильнее.
Причем валидовать данные нужно более умно, опираться только на первые 2 байта, т.к. magic в заголовке DOS, третий байт который ты захватываешь уже из следующего поля cblp, которое не обязательно 90.
Дальше взять смещение lfanew и добавить к базе, получишь смещение на PE заголовок, где уже точно можно определить вшитый это файл или нет по сигнатуре PE\0\0.
И отрезать сверху ничего не нужно, твоим методом у тебя остается огромный кусок снизу, который вовсе не обязательно относится к файлу, в норме нужно пройтись по секциям и определить максимальный размер.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу