Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Editbin. Exe




Утилиты фирмы Microsoft

I

Лекция 12: «Дизассемблирование машинного кода».

Разработка интерфейса пользователя

Разработка процедуры визуализации трехмерной сцены

За прорисовку самого грузового автомобиля отсвечает метод void CLR1View::usr_RenderScene(). Вся модель состоит из довольно большого числа примитивов, таких как прямоугольный паралелипипед, конус, линия, простой многоугольник.

Первым нарисованы паралелипипеды для разных частей модели: дна Корабльа и кармы. После этого – цилиндры – тоже для разных частей модели: парусных матчт и некоторых частей штурвала. Но перед этим фигуры совмещены нужным образом.

Затем нарисованы выпуклые многоугольники – паруса. Все эти фигуры нарисованы с помощью команд: glBegin, glEnd, glVertex3d, где первые две команды – операторные скобки, а третий – точка в трехмерном пространстве.

Все необходимые операции производились теми же функциями: glTranslated, glRotated.

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

Через интерфейс, пользователь может изменять работу программы. Имеются следующие возможности:

- включать/выключать источники света;

- включать/выключать эффект тумана;

- разворачивать объект относительно трех осей;

- Перемещать объект относительно одной оси.

Для добавления этих возможностей в приложении отредактировано панель элементов, добавлены следующие пункты (и обработчики их выбора):

- К+ – Вывод объекта в виде каркаса;

- К- – Вывод сплошного объекта;

- Т+ – включает эффект тумана;

- Т- – выключает эффект тумана;

Вызов каждого пункта меню можно заменить нажатием на клавиши, таблица соответствия приведена ниже.

Таблица 1 – "Горячие" клавиши

Пункт меню "Горячая" клавиша
  К+  
  К-  
  Т+  
  Т-  
  Вращение относительно оси Х ←→
  Вращение относительно оси Y ­ ¯
  Вращение относительно оси Z < >
  Перемещение объекта вперед Z
  Перемещение объекта назад X
  Включение освещения  
  Выключение освещения  

 

 

Глава 2. Обзор отладчиков и дизассемблеров

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

Название программы многообещающе, но в действительности программу нельзя назвать редактором. Основное ее предназначение - конвертировать OMF-формат объектных файлов в COFF-формат. Кроме того, данная утилита позволяет менять некоторые другие атрибуты исполняемых и объектных модулей. Если в командной строке данной программы указать имя объектного модуля, то, в случае если модуль будет в OMF-формате, он будет преобразован в COFF-формат. Рассмотрим ключи данной программы, которые можно применять как к исполняемым, так и к объектным модулям.

/BIND - позволяет указать пути к динамическим библиотекам, которые используют данный исполняемый модуль. Например,
EDITBIN /BIND:PATH=c:\edit;d:\dll EDIT.EXE.

/HEAP - изменяет размер кучи в байтах. Например,
EDITBIN /HEAP:100000,100000 (см. Опции программы LINK.EXE).

/LARGEADDRESSAWARE - указывает, что приложение оперирует адресами, большими 2 гигабайт.

/NOLOGO - подавляет вывод информации о программе.

/REBASE - устанавливает базовый адрес модуля. По умолчанию для исполняемого модуля базовый адрес равен 400000Н, для динамической библиотеки - 10000000H.

/RELEASE - устанавливает контрольную сумму в заголовке исполняемого модуля.

/SECTION - изменяет атрибуты секций исполняемого модуля. Полный формат опции /SECTION:name[=newname][,attributes][,alignment]
Значение атрибутов

Атрибут Значение
c code
d discardable
е executable
i initialized data
k cached virtual memory
m link remove
o link info
p paged virtual memory
r read
s shared
u uninitialized data
w write


Значение опции выравнивания

   
   
   
   
p  
t  
s  
x no alignment

/STACK - изменяет значение требуемого для загружаемого модуля стека.
Например: EDITBIN /STACK:10000,10000 EDIT.EXE

/SUBSYSTEM - переопределяет подсистему, в которой работает данная программа.
Например, если программа оттранслирована с опцией /SUBSYSTEM:WINDOWS, можно изменить установку, не перекомпилируя ее. EDITBIN /SUBSYSTEM:CONSOLE EDIT.EXE.

/SWAPRUN - устанавливает для исполняемого модуля атрибут "помещать модуль в SWAP-файл".

/VERSION - устанавливает версию для исполняемого модуля.

/WS (/WS:AGGRESSIVE) - ycтaнaвливает атрибут AGGRESSIVE, который используется операционной системой Windows NT и Windows 2000.

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




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


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


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



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




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