MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> API Spying

Название:API Spying
Просмотров:76
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание:Зачем это нужно. Постановка задачи. Формулировка ТЗ. Почему приложение может перестать работать. Предпроектные исследования: функции в Intel x86. Вызов. Передача параметров. Возврат из функции. Возвращаемое значение.

Часть полного текста документа:

API Spying Сергей Холодилов
    Я открываю свойства растений и трав..
    Борис Гребенщиков
    Словосочетанием "API Spying" называется слежение за вызовами функций API некоторым приложением. То есть, каждый факт вызова этим приложением выбранных функций каким-то образом фиксируется, например, добавляется запись в лог.
    ПРИМЕЧАНИЕ
    Для ясности назовём "некоторое приложение" исследуемым приложением, а "выбранные функции" - отслеживаемыми функциями. Зачем это нужно
    API Spying может использоваться на одном из этапов исследования программы, логику работы которой вы пока не до конца понимаете. Хотя эта технология и не позволяет получить детальную информацию, она может значительно сузить область последующих этапов исследования, сконцентрировав ваше внимание на тех вызовах, которые происходят в ключевые моменты работы программы.
    На первый взгляд может показаться, что задача лучше решается с помощью перехвата API, так как он даёт возможность не только отследить вызов, но и изучить/изменить параметры и возвращаемое значение, или даже полностью переписать функцию.
    Действительно, перехват API - замечательная и часто упоминаемая техника (на данный момент на RSDN этой теме посвящены три статьи), позволяющая довольно глубоко изучить исследуемое приложение, но это и гораздо более трудоёмкое решение. Даже если реализации функций будут почти пустыми (только запись в лог и вызов оригинальной функции), ваш код будет примерно таким: typedef int (__stdcall* Function1_type)(int i); Function_type _Function1; // Обёртка, логирующая вызовы int __stdcall MyFunction1(int i) { printf("MyFunction1\n"); return _Function(i); // Вызов оригинальной функции } ... // Перехват всех функций void HookThemAll() { ... // Перехват функции _Function1, экспортируемой some.dll HookIt("some.dll", "_Function1@4", MyFunction1, &_Function1); ... } ПРИМЕЧАНИЕ Это приблизительный код, используемый при перехвате через таблицу импорта; другие варианты перехвата в данном случае не имеют существенных преимуществ. То есть, для каждой функции придётся:
    определить тип;
    определить переменную;
    написать обёртку;
    добавить строчку в HookThemAll.
    Это, конечно, довольно простые операции... Но представьте, что таким образом вам нужно перехватить несколько сотен функций. А если не у всех функций известны прототипы? А если некоторые dll загружается динамически, и вы пока даже не знаете, какие их функции используются приложением? А если после того, как вы всё успешно перехватите и просмотрите получившиеся логи, станет понятно, что для детального понимания работы приложения нужно было перехватить всего две функции и изучить их параметры :) ?
    Когда все эти вопросы встали передо мной, я занялся API Spying-ом.
    API Spying не исключает перехвата API, но эти методики используются находятся на разных стадиях анализа программы. Сначала при помощи API Spying-а определяется несколько наиболее интересных функций, потом, если необходимо, эти функции перехватываются и изучаются "в более тесном контакте".
    Постановка задачи
    В самом общем виде задача выглядит так:
    Необходимо получать информацию о фактах вызова выбранных функций исследуемым приложением.
    Для получения статистики не обязательно заранее знать имена функций, которые будут вызываться приложением. ............






Похожие работы:

Название:Мифология. Функции мифа. Мифологические школы
Просмотров:679
Описание: Мифология как мир первообразов и материя духовности Но для создателей мифологии она была не просто достоверной или истинной. У них и вопроса не могло возникнуть об истинности. Для первобытного человека мифология

Название:Общественные функции СМИ. По кн. Введение в журналистику
Просмотров:780
Описание: Цвик В. Л. Для чего существует журналистика? Зачем она нужна отдельному индивиду и обществу в целом? Иными словами, каковы социальные функции СМИ? Сразу условимся, что термин "функции” мы будем понимать как разн

Название:Понятие, задачи, система и основные функции органов внутренних дел
Просмотров:664
Описание: Органы внутренних дел представляют собой сложную, разветвленную систему, в которую входят в качестве ее функциональных элементов (подсистем) милиция, пожарная охрана, внутренние войска, следственный аппарат и др. О

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

Название:Психологическая теория деятельности: действия и цели; операции; психофизиологические функции
Просмотров:411
Описание: Гиппенрейтер Ю.Б. Психологическая теория деятельности была создана в советской психологии и развивается уже на протяжении более 60 лет. Она обязана работам советских психологов: Л.С. Выготского, С.Л. Рубинштейна, А

 
     

Вечно с вами © MaterStudiorum.ru