![]() |
![]() |
FreeMan |
![]() ![]()
Сообщение
#1
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
Почти каждый, кто изучает язык ассемблера, рано или поздно пишет вирус, некоторые люди пишут вирус, когда заканчивают изучать какой-нибудь язык программирования... Прежде чем читать то, что я буду писать ниже и понимать хоть что-нибудь, вы должны:
а) знать основные команды ассемблера б) уметь пользоватся АПИ-функциями в) взять где-нибудь (можно и у меня) TASM32 (можно и другой, но каждый компилятор имеет свои особенности). г) отладчик (если собираетесь собственноручно создать зверька, то без отладки довольно трудно найти ошибки) д) прогу, которая прикреплена (на неё вопит касперский, но это не вирус!!!! ) е) иметь здоровую голову (если вы хотите испортить все компы на Земле, то ваше место в больнице, а не здесь) ё) ПОМНИТЬ, ЧТО ЭТОТ МАТЕРИАЛ ПРЕДСТАВЛЕН ТОЛЬКО В ЦЕЛЯХ ОБУЧЕНИЯ, И ЗА ПОСЛЕДСТВИЯ Я НИКАКОЙ ОТВЕТСТВЕННОСТИ НЕ НЕСУ Вроде всё. Теперь план обучения: 1) формат заголовка файла РЕ 2) разбор основных полей заголовка РЕ 3) методика заражения 4) дельта-смещение. 5) поиск АПИ 6) разбор используемых АПИ 7) пишем код 8) Reserved ![]() Прикрепленные файлы -------------------- бб
|
![]() ![]() |
FreeMan |
![]()
Сообщение
#2
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
7.1 Пишем код
Для разминки напишем прогу, которая определяет адрес Кернела на той системе, где она запущена. includelib import32.lib Можете компилировать и юзать. для компиляции: Tasm32.exe /m3 /ml /zi iasdf.asm , , ; Tlink32.exe /Tpe /aa /v iasdf, iasdf, ,import32.lib iasdf - имя проги юзать: запускать файл, в нашем случае iasdf.ехе. Если заметите ошибки в коде (или материале) - пишите, стучите, звоните... Просто писал перевод в символы без проверки (нет компилятора), используя не самый лучший алгоритм (просто он простой для понимания:)) Поюзав эту прогу на нескольких компах с разными операционками вы увидите, что база кернела вполне зафиксированное значение для каждой операционки. -------------------- бб
|
![]() ![]() |
![]() |
Текстовая версия | 29.06.2024 10:48 |