IPB
ЛогинПароль:

> Пишем вирус..., Наконец написал.
FreeMan
сообщение 4.01.2005 10:23
Сообщение #1


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

Репутация: -  4  +


Почти каждый, кто изучает язык ассемблера, рано или поздно пишет вирус, некоторые люди пишут вирус, когда заканчивают изучать какой-нибудь язык программирования... Прежде чем читать то, что я буду писать ниже и понимать хоть что-нибудь, вы должны:
а) знать основные команды ассемблера
б) уметь пользоватся АПИ-функциями
в) взять где-нибудь (можно и у меня) TASM32 (можно и другой, но каждый компилятор имеет свои особенности).
г) отладчик (если собираетесь собственноручно создать зверька, то без отладки довольно трудно найти ошибки)
д) прогу, которая прикреплена (на неё вопит касперский, но это не вирус!!!! )
е) иметь здоровую голову (если вы хотите испортить все компы на Земле, то ваше место в больнице, а не здесь)
ё) ПОМНИТЬ, ЧТО ЭТОТ МАТЕРИАЛ ПРЕДСТАВЛЕН ТОЛЬКО В ЦЕЛЯХ ОБУЧЕНИЯ, И ЗА ПОСЛЕДСТВИЯ Я НИКАКОЙ ОТВЕТСТВЕННОСТИ НЕ НЕСУ
Вроде всё.

Теперь план обучения:
1) формат заголовка файла РЕ
2) разбор основных полей заголовка РЕ
3) методика заражения
4) дельта-смещение.
5) поиск АПИ
6) разбор используемых АПИ
7) пишем код
8) Reserved smile.gif


Прикрепленные файлы
Прикрепленный файл  Pewrsec.exe ( 8.62 килобайт ) Кол-во скачиваний: 3


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
FreeMan
сообщение 7.01.2005 13:30
Сообщение #2


-
****

Группа: Пользователи
Сообщений: 480
Пол: Мужской

Репутация: -  4  +


FindNextFileA - ищет следующий файл

Цитата
BOOL FindNextFile(

    HANDLE hFindFile, // handle to search 
    LPWIN32_FIND_DATA lpFindFileData  // pointer to structure for data on found file 
);


hFindFile - хендл, который возвратила ф-ия FindFirstFileA
lpFindFileData - указатель на WFD

Возвращает: если успех, то заполняет WFD новыми значениями и возвращает не ноль.
Использование:
lea eax,[ebp+offset WFD32] ;указатель на структуру
push eax
push dword ptr [ebp+offset hFF] ;хендл (сохранённый в переменную)
call [ebp+_FindNextFileA] ;сам вызов


CreateFileMappingA - функция, которая создаёт файловый мэппинг

Цитата
HANDLE CreateFileMapping(

    HANDLE hFile, // handle to file to map
    LPSECURITY_ATTRIBUTES lpFileMappingAttributes, // optional security attributes
    DWORD flProtect, // protection for mapping object
    DWORD dwMaximumSizeHigh, // high-order 32 bits of object size 
    DWORD dwMaximumSizeLow, // low-order 32 bits of object size 
    LPCTSTR lpName  // name of file-mapping object
);


hFile - хендл файла для мэппирования
lpFileMappingAttributes - указатель на какую-то структуру, у нас ноль.
flProtect - защита файла. Ставим PAGE_READWRITE=00000004
dwMaximumSizeHigh - старшая половина размера мэппируемого файла
dwMaximumSizeLow - младшая
lpName - имя объекта

Возвращает: если успех - хендл, если нет - 0

Использование:

mov eax,[ebp+hFO]
xor edx,edx
push edx                            ;name of object - 0
push ecx                            ;low size размер в регистре
push edx                            ;high size - 0 (врядли файл такой большой)
push PAGE_READWRITE                 ;protect
push edx                            ;security attr - 0
push eax                            ;handle to file to map
call [ebp+_CreateFileMappingA]


--------------------
бб
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
FreeMan   Пишем вирус...   4.01.2005 10:23
FreeMan   1. Формат заголовка РЕ Заголовок - это структура,...   4.01.2005 10:25
FreeMan   2. Разбор основных полей РЕ заголовка. Итак, вы п...   4.01.2005 10:31
FreeMan   3. Методика заражения Пишу в виде алгоритма, хотя...   4.01.2005 10:33
FreeMan   4. Дельта смещение. При линковке программы происхо...   5.01.2005 10:17
FreeMan   3.1 В поисках дельты. Может вам показалось, что по...   5.01.2005 10:17
FreeMan   5) Поиск АПИ. Когда Винда загружает файл, она в ад...   5.01.2005 10:20
FreeMan   [b]5.1. Поиск адреса кернела Кернел висит в памяти...   5.01.2005 11:38
FreeMan   [b]5.2 Поиск АПИ... Теперь адрес кернела мы знаем...   5.01.2005 13:07
FreeMan   [b]6. Pазбор используемых АПИ Разбор сводится к ко...   7.01.2005 12:51
FreeMan   FindFirstFileA - ищет файл в текущей директории ...   7.01.2005 13:13
FreeMan   FindNextFileA - ищет следующий файл hFindFile -...   7.01.2005 13:30
FreeMan   MapViewOfFile - помещает промэппированный файл в п...   7.01.2005 13:45
FreeMan   UnmapViewOfFile - полная противоположность MapView...   12.01.2005 17:37
FreeMan   [b]7. Пишем код В исполняемый файл добавляем код ...   12.01.2005 17:38
FreeMan   То есть, для успешного заражения надо пофиксить ещ...   12.01.2005 17:41
FreeMan   [b]7.1 Пишем код Для разминки напишем прогу, котор...   12.01.2005 17:42
FreeMan   Кстати, вышел номер 29А... http://www.vx.netlux.or...   12.01.2005 18:03
FreeMan   Теперь пришло время писать код. includelib import...   14.01.2005 16:51
FreeMan   ls_found: ; сюда попадём после того, как найдена ...   14.01.2005 16:52
Тоха   ЭТО КРУТО! Спасибо большое.   26.02.2009 13:09


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.05.2024 18:48
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"