Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Исследование бинарных кодов




Введение

Пример 2

Есть следящая программа, которая будет не только следить, но и менять 7ку на 8ку.

Тип: VH_GETMESSAGE, вид – удалённый, потокоспециализированный

Обращаем внимание на lParam, сравниваем с WM_CHAR, wParam – код клавиши
Ncode: HCBT_ACTIVATE

Есть.exe – файл, есть.dll, потому что удалённый хук.

В.exe будет основная часть и потом будет диалоговая процедура.

Диалоговая процедура:

- WM_INITDIALOG

- WM_CLOSE

- MY_MSG

o Выводит символ

В.dll

- dllEntry()
остается

- InstallHook()

o инсталляция хука более сложная и нужно поставить только на WordPad. Если WordPad, ставим хук

o получить и сохранить дескриптор диалога

- DeinstallHook()

o Удаление хука

- HookProc() (фильтрующая фукнция)

o MY_MSG не пустое, а с символом

 

[AA1]

 

Системная программа предназначена для поддержания работоспособности вычислительной системы и повышения её эффективности.

Системная программа работает с первичными ресурсами вычислительной системы.

Есть два вида программ:

· прикладные программы(ППО)

· системные программы(СПО)

Есть ещё промежуточное ПО. Это различные программы, решающие некоторый класс задач:

СУБД, офисные программы, серверы.

Прикладная программа решает определенную задачу.

Будем использовать такие языки: asm, C.

Низкоуровневое системное программирование – нужно программировать системы.


 

Оглавление

Введение. 1

1. Исследование бинарных кодов. 4

· Специальные программные средства. 4

· Структура бинарных программ. 4

· Навыки. 6

2. Управление памятью (уровень процессора) 7

3. Отладочные средства Windows (перехват отладочных событий) masm.ru. 8

4. Перехват API 15

5. Перехват сообщений Windows. 15

6. Создание библиотек dll 15

7. Перехват исключений (SEH) 15

8. Вредоносные программы и борьба с ними. 15

9. Драйверы Windows. 15


 

Что делать, чтобы исследовать бинарные коды?

· Специальные программные средства

Вручную делать это тяжело, есть специальные программные средства.
Для разных платформ – разные средства.
.exe,.dll,.sys –.asm //Дизассемблеры
Ещё используют отладчики

· Структура бинарных программ

PE-формат – формат для бинарных кодов в Windows (Portable Executable)

Windows-программа, Windows-заголовок, DOS-программа, DOS-заголовок.
MZ. Выдает сообщение в DOS о том, что программа не может загрузиться в DOS.

1. в Windows-заголовке пишется тип программы:

· NE – 16х разрядная

· PE – 32x разрядная

· PE32+ - 64х разрядная

2. IMAGE_FILE_HEADER

3. IMAGE_OPTIONAL_HEADER

4. IMAGE_SECTION_HEADER

В windows-программе есть секции и директории.

Секции:.rdata,.data,.rsrc,.bss,.text

Директории:.reloc,.edata,.idata.

 
Библиотеки dll
 
Программа 2
 
Программа 1
 
Windows

 

Image base – виртуальный адрес по умолчанию в памяти – 400000h

Если при компоновке программы написать FIXED:NO, то будут вноситься поправки к адресу

VA – virtual address

RVA – relative virtual address

RVA элемента программы – это положение его относительно начала программы.

Процессор видит физическую оперативную память, в которой находится ОС, несколько программ и библиотеки dll.

Windows для каждой работающей программы видит виртуальное адресное пространство от 0 до 4 ГБ. В каждом пространстве 2 ГБ – это программа, 2 ГБ – это Windows. В начале каждой части предохранительные блоки, в которые нельзя читать и писать, дальше по адресу 400000h (Image Base) начинается программа со структурой аналогичной файлу а затем по адресу 10000000 отображаются используемые dll.

IMAGE_FILE_HEADER – общая информация о файле (тип процессора, для которого будет работать программа, количество секций, время создания, тип файла:.exe,.dll,.sys; флаги)

IMAGE_OPTIONAL_HEADER

· Image Base

· AdressOfEntryPoint

· SizeOfCode

· BaseOfCode

· Subsystem //тип пользовательского интерфейса

o Native

o GUI

· DataDirectory

IMAGE_SECTION_HEADER

Секции и директории имеют выравнивания. В памяти – 1 страница – 4 кБ = 1000h

Не может быть сегмент данных занимать 1 байт.

Секции

Секция кода начинается по адресу 401000h

Секция данных начинается по адресу 403000h

.text – код

.bss – неинициализированные данные (.data?)

.rdata – константы

.data – переменные

.rsrc – ресурсы

Директории

В директориях содержится дополнительная информация.
Директория.idata – это директория импорта. Когда системный программист приступает к анализу бинарного кода, он смотрит сюда. В этой директории находится информация об используемых.dll и API-функциях.

· Навыки

Мэтт Питрек

Руссинович, Соломон


 

 




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 435; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.