Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» внедрение в *.exe програмного кода

Автор: neorganic
Дата сообщения: 22.03.2003 02:30
Здарова всем кто не спит!!!

У меня такая проблема:

Нужно в *.exe файл вживить некий програмный код (очевидно типа вируса), чтоб екзешник работал нормально, а этот самый код запускался перед ним.

Короче, запускаещь екзешку, сначала исполняется код, а потом сам екзешный файл.
Процес нуда автоматизировать, чтоб можно было вживлять код в ЛЮБОЙ екзешник.
Автор: Jalexoid
Дата сообщения: 22.03.2003 06:44
Это и есть вирус только не вредный.
Поищи как вирусы писать. а не такие вопросы задавай.
Автор: UncoNNecteD
Дата сообщения: 22.03.2003 16:42
neorganic
Для этого необходимо знать программирование в машинных кодах - в конец файла добавляется твой код, а в начале ставится переход по метке на его адресс. После выполнения код возвращает управление коду ехе файла.
Автор: Pinocchio
Дата сообщения: 24.03.2003 11:25
Тема интересная.
Метод №1:
1. Внедряемый код записывается не "в конец файла". А в секцию RCDATA.
2. Вычисляется адрес и создаётся CALL напрямую в ресурс.
3. В ресурсе дописываются инструкции затёртые CALL-ом и делается RET
4. Далее все изменения записываются только в ресурс. (см. corbide60.bpl)
Автор: zam
Дата сообщения: 26.03.2003 23:50
Pinocchio
Можно подробнее? А другие методы?
Автор: Pinocchio
Дата сообщения: 28.03.2003 12:45
zam
Метод №2:
Идешь на sourceforge.net и скачиваешь исходники UPX (они на сях). Внедряешся в исходники и компилишь UPX. Теперь у тебя свой пакер для exe-шников. Естественно он срабатывает первым.
Метод №3:
Подкорректировать вызовы в DLL.
По методу №1
Тебе нужен какой нибудь ResExplorer/ResBuilder/ResHacker. Попробуй сначала впендюрить какие нибудь данные. Потом впендюрь что-нибудь конкретное в свою программу, чтобы разобраться в дебаге с адресами. Есть хорошая утилита PEDump. Она выдаёт всю статистику по секциям. Для работы с ресурсами я пользуюсь своей прогой, по этому многое несмогу обьяснить.
Автор: Madness
Дата сообщения: 28.03.2003 14:45
neorganic
Ишешь/создаешь пустое место в проге и пишешь туда свой код, в конце которого ставишь jmp oep, а вместо старого oep пишешь адрес своего кода.
Автор: zetnext
Дата сообщения: 28.03.2003 23:03
Такое дело на словах невозможно объяснить. Рекомендуюю почитай про форматы исполняемых модулей. Их много на самом деле... Там в каждом случае нужно по своему действовать. Интересно остановиться на форматах PE и NE (new executable - win16). В свое время с NE форматом я очень хорошо разобрался и написал много всяких полезных утилит... С PE (portable executable) я не разбирался совсем, но с ним проще работать. Да и документации с примерами много больше. Полную документацию по нему дает сам Microsoft.
Автор: UncoNNecteD
Дата сообщения: 28.03.2003 23:06
Pinocchio
Про УПХ мне понравилось
Автор: Pinocchio
Дата сообщения: 31.03.2003 09:46
UncoNNecteD
У меня аналогичные помылсы(disasm...). Может попытаемся?
Автор: UncoNNecteD
Дата сообщения: 31.03.2003 16:49
Pinocchio
Времени нет, а если не секрет - тебе для какой цели это все?
Автор: Pinocchio
Дата сообщения: 01.04.2003 10:37
UncoNNecteD
Написал программу, которую собираются продавать. Надо делать защиту, а я спешу. Хочу за программу получить некоторые услуги (под тип бартера). Занимаясь защитой, я уже потратил в два раза больше времени. У меня есть собственный метод архивации, который можно внедрить в UPX и добавить фишек затрюдняющих CUP.
Автор: MaximSG
Дата сообщения: 07.04.2003 12:52
Можете посоветовать программу, которая переделывает exe, так что та запускается на чужом компьютере выдает какую-либо строку и нужно ввести ответ, получаемый при помощи какого-нибудь алгоритма, известного мне?

Не хочется копаться в машинных кодах, может есть уже что-то готовое?

Страницы: 1

Предыдущая тема: Округление в C++ Builder


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.