Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Защита информации в компьютерных системах.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
401.16 Кб
Скачать

6. Использование информационных команд

SoftIce имеет в своем распоряжении много разных команд, с помощью которых можно узнать состояние и получить иную информацию об операционной системе и запущенных в ней приложениях. Мы рассмотрим только две команды: H (Help) и CLASS. Эти команды выводят достаточно много информации в окне команд (Command Window), поэтому желательно увеличить размер этого окна, для этого закроем окно локальных переменных (Locals Window).

По команда H можно получить помощь по всем командам SoftIce или более подробную информацию о конкретной команде, если введете ее имя в качестве аргумента команды H:

:H CLASS

Display window class information

CLASS [-x] [task-name]

Ex: CLASS USER

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

Целью выполнения функции RegisterAppClass является регистрация шаблона для классов окон, которые будут использованы приложением GdiDemo для создания окон. Используя команду CLASS можно посмотреть зарегистрированные классы для GdiDemo:

:CLASS GDIDEMO

Результатом выполнения данной команды является информация о каждом зарегистрированном классе окна. Информация включает в себя: имя класса, адрес внутренней структуры данных WNDCLASS, модуль который зарегистрировал данный класс, адрес процедуры, которая обслуживает данный класс и состояние флагов стиля класса. Для получения подробной информации воспользуйтесь ключом -X.

Handle Class Name Owner WndwProc Styles

--------------------------Application Private-------------------------------

5110 ??? GDIDEMO 2E9F:00000114 07000003

40AC ??? GDIDEMO 2E9F:000000FE 07000003

409C ??? GDIDEMO 2E9F:000000E8 03000003

3BC4 ??? GDIDEMO 2E9F:000000D2 03000003

3BB4 ??? GDIDEMO 2E9F:000000BC 07000003

3A00 ??? GDIDEMO 2E9F:000000A6 07000003

7. Символьные имена

Когда вы загружаете приложение с отладочной информацией, SoftIce автоматически создает таблицу символьных имен которая содержит все имена, определенные в данном приложении. Используя команду TABLE можно посмотреть какие таблицы символьных имен загружены в настоящий момент:

:TABLE

GDIDEMO [NM32]

0001044741 Bytes Of Symbol Memory Available

Используемая в данный момент таблица символьных имен выделена цветом. Если текущая таблица символьных имен не соответствует той на которую ссылается ваше приложение, то используя команду TABLE с именем вашего приложения в качестве аргумента, вы подключите нужную таблицу (если для вашего приложения создана таблица):

:TABLE GDIDEMO

Используя команду SYM вы можете посмотреть все символьные имена, определенные в текущей таблице (на экран выводятся по сегментам, внутри них в алфавитном порядке). Если интересует какие-то определенные имена, то используйте шаблоны:

:SYM w*

.text (0137:00401000, 000145C1 bytes)

0137:004012E0 WinMain

0137:00405700 WinMainCRTStartup

0137:004013AD WndProc

0137:0040AF50 wcslen

0137:0040C160 wcsncnt

0137:004107A0 wctomb

0137:0040FA50 write_char

0137:0040FAD0 write_multi_char

0137:0040FB20 write_string

На экране список всех символьных имен начинающихся с буквы w, все они расположены в сегменте .text (выполняемый сегмент, он начинается с адреса 0137:00401000 и имеет длину 0145C1H байт), т.е. эти имена - имена функций и процедур входящие в приложение GDIDEMO. Данные находятся в сегментах .data, .rdata, .idata.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]