Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2010, 16:18   #1
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию PE файлы

задача состоит в том, чтобы добавить тело программы в исполняемый файл. Хотел бы узнать верно ли я все понял.
1. Так как код будет большой, я дописываю его в последнюю секцию.
2. Делаю перерасчет адрессов смещения в этой секции на размер дописываемого кода (пока еще не понял каких конретно)
3. Нахожу EP и впихиваю туда jmp на мой код (как высчитать адресс куда нужно прыгнуть? Какие это адресса, относительно от чего они высчитываються?)
4. В конце своего кода впихиваю jmp который был записан в EP

Все ли так просто или нужно будет увеличивать размер стека секции (если да, то от чего зависит увелечение)? может еще что-нибудь?

Мне давно было интересно разобраться в том, как дописывает свое тело вирус и повторить это.
подпись
liljon вне форума Ответить с цитированием
Старый 16.08.2010, 16:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я дописываю его в последнюю секцию.
А если в секции нет места?
Цитата:
как высчитать адресс куда нужно прыгнуть?
С начала файла по смещению 3C записано начало РЕ заголовка. От начала РЕ заголовка на 40-м байте начинается DWord - Адрес точки входа
http://www.nikse.dk/petxt.html
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.08.2010, 16:40   #3
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А если в секции нет места?
А если создать свою секцию? Можно же будет расширить размер исходного файла? Упаковщики ведь так работают. Идея заключаеться в том, чтобы дописать в самый конец исходного файла файл "вируса", а код, который я хочу вписать, считает этот файл "вируса" и запишет куда-нибудь в системную дирректорию, а затем запустит на исполнение.
подпись

Последний раз редактировалось liljon; 16.08.2010 в 16:47.
liljon вне форума Ответить с цитированием
Старый 16.08.2010, 17:08   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
исходного файла файл "вируса"
Удачи. Я тебе в этом деле не помощник.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.08.2010, 17:28   #5
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Цитата:
А если создать свою секцию? Можно же будет расширить размер исходного файла?
Да. Посмотри как работает класс для работы с PE из jcl. Думаю, тему нужно закрыть.
r9m вне форума Ответить с цитированием
Старый 17.08.2010, 21:21   #6
yuran666666
Форумчанин
 
Аватар для yuran666666
 
Регистрация: 23.04.2009
Сообщений: 346
По умолчанию

Вообще то это уже все описано в стопиццот тыщах туториалов, статей, книжонок и прочего.. в двух словах: тыщи_их!
Одним из самых недурственных циклов статей по этим "бородатым" техникам лично я считаю "От зеленого к красному" писанный никому неизвесным Bill Prisoner с какой то там группки, The Passion Of Code, похоже давно приказавшей долго жить.
Можно невозбранно лицезреть на Васме (с примерами):
http://wasm.ru/series.php?sid=14
Вообщем полный набор начинающего пакостника - пилите наздоровье

А вообще, это плохой, негодный тред - закрыть однозначно!
Нет, ну правда..

Последний раз редактировалось yuran666666; 17.08.2010 в 21:37.
yuran666666 вне форума Ответить с цитированием
Старый 28.08.2010, 20:04   #7
Gambler
Игрок
Форумчанин
 
Аватар для Gambler
 
Регистрация: 29.10.2006
Сообщений: 367
По умолчанию

ты хочешь написать классический файловый вирус? Тогда уверяю тебя, ты копаешь слишком глубоко. Если интересно - пиши в личку. Объясню что к чему.
Жизнь всегда игра. Но смерть - не всегда поражение.

#define true (Math.random()>0.5) //Удачной отладки
Gambler вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файлы данных.Типизированные файлы. вылка Помощь студентам 6 17.05.2010 15:42
Файлы на С++ marshal1599 Помощь студентам 0 24.10.2009 17:25
Файлы Алексей Д. Помощь студентам 2 10.05.2008 19:21
два вредных вопроса:про асю и прикриплёные файлы файлы steck Свободное общение 3 17.06.2007 14:53