Студопедия — Выполнение работы. Цель работы: Изучение оболочки Visual Studio
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Выполнение работы. Цель работы: Изучение оболочки Visual Studio

 

Цель работы: Изучение оболочки Visual Studio

 

 

Рисунок 1. Создание проекта на рабочем столе.

 

 

Рисунок 2. Создание приложения для Windows

 

 

Рисунок 3. Запущенный проект.

Введение

В данной лабораторной работе я познакомлюсь с отладчиком. По причине невозможности работать в бинарных OC, таких как WinNT, React OS я выбрал свободные аналоги из репозиториев GitHub. А именно NASM, и в данной лабораторной работе буду использовать отладчик OllyDbg

 

Программное обеспечение

MacBook Air середина 2011 OS X Yosemite 10.10.5

Microsoft Office 2016 Mac beta version.

Консольные пакеты

sudo(права root)

nasm(свободное ПО)

bash(эмулятор терминала)

nano(редактирование)

screenme(c ключем -all)

 

Цели работы

Изучить правила описания простых типов данных и основные моменты работы с отладчиком TD.

Рабочие задания

1. Наберите исходный текст программы согласно варианту. Получив загрузочный модуль, запустите его в Турбо отладчике (TD). В окне DUMP просмотреть сегмент данных, найти все переменные, заданные в вашем варианте и объяснить местоположение и занимаемый объем этой переменной. Вы ответственны не только за описание переменной в сегменте данных, но и за каждый байт памяти.

 

 

Выполнение работы

В данной лабораторной работе я познакомлюсь с отладчиком LinICE,это известный порт SoftICE для линукс. Это сторонний отладчик и не поставляется в комплекте с операционными системами. Работать я буду с предустановленным x.org сервером под OS X, и собранным и исходников LinICE. Данное программное обеспечение использует нативную трассировку, что позволяет отлаживать любые проекты обходя возможные защитные механизмы, подобные DEBUG_PROCESS в операционных системах в WinNT.

После сбора из исходников запустим отладчик с помощью команды показанной на рисунке №1

Рисунок №1

После старта данного программного обеспечения мы увидим окно показанное на рисунке №2

Рисунок №2

Как описано в лабораторной работе №1, при использовании NASM создаются Unix исполняемые пакеты. Основываясь на этом скомпилированный проект помжет быть запущен на любой Unix подобной системе с процессорами Intel. Также данная лабораторная работа предпологает доскональное исследование исходников искомой программы, местоположение в памяти, занимаемый объем и подобное. LinIce а имеено основная часть его исходного кода предназначена для ядра 2.4 версии. Модифицированные версии данной программы для других ярер распологаются в закрытых репозиториях kali-linux.

Использовать отладчик я буду на программе из методических указаний к данным лабораторным работам.

Запускаем LinIce с ключем TARGET = -DSMP -DIO_APIC. Вытягиваем все зависимости как показано на рисунке №3

Рисунок №3

После этого уходим с иксов и стартуем наш отладчик в консольном режиме.Забыл сказать перед этим запускаем нашу программу, которую нужно будет найти с помощью отладчика. С пмощью команды proc вылавливаем нужную программу как показано на рисунке №4

Рисунок №5

Далее зная id процесса, снова стартуем LinIce и вылавливаем данный процесс как показано на рисунке №6

Рисунок №6

Далее организуем точку входа в программу, загрузив файл в редактор с помощью опции macho/image подгоняем курсор к "entrypoint:", давим <F4> (edit) и, изменяем первый байт на CCh, сохраняем изменения по <F2> (save) и выходим. При повторном запуске откроется LinIce потревоженный исключением CCh, после которого EIP укажет на конец CCh, как показано на рисунке №7

Рисунок №7

Курсор указывает на инструкцию "in eax,dx" (EDh), представляющую собой "осколок" от пропатченной команды "xor ebp,ebp" (31h EDh). Теперь (по идее) мы должны восстановить оригинальный байт, заменив CCh на 31h, уменьшить регистр EIP на единицу и продолжать трассировку в обычном режиме.

linice это, конечно, порт, но… только очень сырой и модифицировать память он _не_ умеет, даже если предварительно открыть кодовый сегмент на запись. Ни "E" (редактирование), ни "F" (заполнение), ни "M" (копирование памяти) _не_ работают!!! Зато работает запись в стек и нам, этого вполне достаточно. Совершая единичный акт трассировки возвращением EIP на место, то есть на следующую машинную команду.

Рисунок №8

Смотрим на вершину стека указывая 10h максимально возможный размер машинной команды на архитектуре x86, как показано на рисунке №9

Рисунок №9

После этого изучам стек. Так как он изменился, после пропатчивания 1го байта, теперь есть возможность просматривать дамп в интерактивном режиме. После этого продолжаем трассировку в обычном режиме. Программный assembler код можно пробросить в tarball архив, для более корректного изучения в обычном текстовом редакторе.

Также можно просмотреть с помощью команды exp именна портируемые программный код ядром. Это действие выполняется как показано на рисунке №8

Рисунок №10

В заключение посмотрим системные вызовы программы, как показано на рисунке №11

Рисунок №11

 

Контрольные вопросы

1. Как размещаются в памяти байты?

2. Как размещаются в памяти слова, двойные слова?

3. С какого байта адресуются слова, двойные слова?

4. Как размещается в памяти полный адрес переменной?

5. Какие операторы используются в команде ассемблера, если размеры регистров и переменных не одинаковы?

 

Ответы на вопросы

Заключение

В данной лабораторной работе с помощью свободного отладчика linice вскрыл программу. С помощью встроенных команд изучил соответствующие стеки, вскрыл встроенные механизмы компиляции, с помощью изменения 1го байта изучил конструкцию данного программного обеспечения.


 

Список литературы

1. wikiTaxi // Assembler NASM

2. wikiTaxi // Основные команды NASM

3. wikiTaxi // Ядро Darwin

4. wikiTaxi // Компиляция пакетов

 




<== предыдущая лекция | следующая лекция ==>
Вывод рабочей формулы. Одним из способов определения коэффициента вязкости жидкости является метод Стокса | Пример выполнения лабораторной работы

Дата добавления: 2015-10-15; просмотров: 388. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

Этапы и алгоритм решения педагогической задачи Технология решения педагогической задачи, так же как и любая другая педагогическая технология должна соответствовать критериям концептуальности, системности, эффективности и воспроизводимости...

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

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

Studopedia.info - Студопедия - 2014-2024 год . (0.014 сек.) русская версия | украинская версия