Привет всем.Думаю много кто знает недавно вышедший локер который заседает в mbr.Сорцов не нашел,ковырять его в дебаггере нет желания,кто знает как это реализуется,сможет код составить,буду очень признателен.(интересует чисто теоретически,ни какой малвари не делаю)
я читал это.Во вторых дос мне не нужен.В третьих записи и запуска я там не увидел.Мне конкретно по трою надо,а не левая инфа.
Ну блин, хоть чуть логически научитесь мыслить. Это же просто. Совсем просто. Инфы в инете дофига, только она не структурирована. Ход мыслей должен быть таким: 1) Открыли википедию, поглядели статью по MBR. Оттуда узнали что из 512 байт нам доступно только первые 446 байт 2) пишем банальный код как и в бутсекторе. 3) код должен делать следующее: - установить на всяк случай тектосвый режим - для красоты залить экран какимнить цветом. - вывести нужное сообщение - поле ввода подсветить другим цветом и установить туда курсор - через BIOS прерывания работы с клавой получать строку и сравнивать со своей. - если не правильно, то заново спрашивать - если правильно, то тут еще проще - возвращаем на место оригинальный MBR - то, место где он был ранее сохранён - забьем нулями, потому птому что мы не знаем что там за нули раньше были (мож это часть файловой системы или файла) - делаем принудительный ребут компа 4) куданить копируем настоящий загрузчик. т.е. найти на диске незаюзанное место. часто в конце есть такое. Это наверное самый сложный момент. к томуже надо правильно записать адрес места(в код MBR) куда сохранили. 5) перезаписываем настоящий загрузчик насчет пунка 4 в принципе не сложно, и алгоритм таков: 0) прога которая записываем MBR должно найти свободный сектор, для этого 1) шагаем посекторно от начала винта и проверяем чтобы сектор был чистым. т.е. все нули. 2) когда нашли это место, то туда запишем оригинальный MBR 3) в наш MBR (по какомунить оффсету ) сделать переменную и записать в неё адрес этого сектора. В принципе если сообщение не очень большое, то в 446 байт можно поместить в лёгкую
то-бишь надо делать 2 в одном?например дропер под винду в ресурсах или теле которого сидит сам трой(писать на асме же я так понял,работать только с прерываниями биоса)которого дропер записует в mbr? так что-ли?
http://c0dedgarik.blogspot.com/2010/10/blog-post.html - мой модифицированный загрузчик и пара полезных ссылок (по сути его можно считать ОЧЕНЬ простым локером) Программу установки я делал просто. чистый машинный код полученный из ассемблера с помощью fasm, хранился просто в переменной char - по сути как шелл код и по определенному смещению (у меня было там 20 свободных байт) я записывал пароль и прошивал моим кодом оригинальный загрузчик. Если внимательно почитать статью Криса, то свободного места на диске гораздо больше - поэтому в MBR можно разместить лишь основную часть загружающая - код уже с сектора, а там уже тебе и блекджег и голая памела андерсон ))