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


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

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

Университетская электронная библиотека.
www.infoliolib.info

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

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-а определяется несколько наиболее интересных функций, потом, если необходимо, эти функции перехватываются и изучаются "в более тесном контакте".
    Постановка задачи
    В самом общем виде задача выглядит так:
    Необходимо получать информацию о фактах вызова выбранных функций исследуемым приложением.
    Для получения статистики не обязательно заранее знать имена функций, которые будут вызываться приложением. ............




Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  



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

Название:Функции сравнительного правоведения
Просмотров:89
Описание: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫКУРСОВАЯ РАБОТА на тему Функции сравнительного правоведения по дисциплине Сравнительное правоведениеКИЕВ 2011   СОДЕРЖАНИЕ Введение 1. Научная функц

Название:Функции государства в их многообразии и развитии
Просмотров:71
Описание: Содержание Введение Глава 1. Функции государства 1.1. Понятие и признаки функций государства 1.2 Классификация функций государства 1.3 Глобальные проблемы и функции государства 1.4. Эволюция функций госуд

Название:Булевы функции
Просмотров:191
Описание: 1.Основные понятия булевой алгебры Технические вопросы, связанные с составлением логических схем ЭВМ, можно решить с помощью математического аппарата, объектом исследования которого являются функции, приним

Название:Предмет и функции философии
Просмотров:135
Описание: Содержание Введение 1. Предмет философии. Место философии в системе наук и культуре 2. Основные разделы философии 3. Мировоззренческая, методологическая, рефлексивно–критическая и интегративная функция

Название:Характеристика структуры, понятия и принципов государственного аппарата и функций ветвей власти в системе механизма государства
Просмотров:86
Описание: Содержание Введение Глава I. Понятия государственного аппарата и механизма государства 1. Соотношение государственного аппарата с механизмом государства 2. Механизм государства как организация государс

 
     

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