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


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

Название:Жесткое внедрение DLL в Windows-программы
Просмотров:71
Раздел:Информатика, программирование
Ссылка:none(0 KB)
Описание:Внедрение своего кода в чужую программу может понадобится для множества задач, например, для отладки и анализа работы приложений, для установки различного рода программных защит, для "шпионских" целей.

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

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

Жесткое внедрение DLL в Windows-программы
    На суд читателя представляется статья о внедрении собственного исполняемого кода в Windows программы.
    В статье использованы различные технические термины, относящиеся к программированию под ОС Windows, в частности с применением Windows API. Тексты программ, приведенные в качестве примеров, тестировались в среде Borland C++ Builder 6.0. Работа приложения проверялась в среде Windows 2000, среда Windows 9x в силу морального устаревания не рассматривалась. Введение в специальность
    Внедрение своего кода в чужую программу может понадобится для множества задач, например, для отладки и анализа работы приложений, для установки различного рода программных защит, для "шпионских" целей. На сегодняшний день существует достаточно много методов внедрить свой код в чужую программу. Достаточно подробно они описаны в статье автора Tanaka "Программы-невидимки", Однако все описанные методы являются внешними по отношению к целевой программе, т.е. для внедрения кода каждый раз необходим запуск постороннего приложения, так называемого "загрузчика", осуществляющего внедрение. Предлагаемый способ отличается тем, что осуществляет разовую, достаточно простую модификацию внутренних структур .exe файла, не модифицирует исполняемый код программы, не увеличивает размер файла, не требует внешнего загрузчика, практически незаметен для пользователя. Метод позволяет модифицировать большинство .exe файлов. Как это работает
    Принцип работы основан на следующем: практически любая Windows-программа использует динамические библиотеки (DLL). В них могут храниться различные функции (в том числе системные - в USER32.DLL, GDI.DLL и т.д.), ресурсы типа диалогов, иконок, картинок, указателей мыши. Достаточно сложно найти программу, которая не использовала бы DLL вообще. Соответственно, программа, использующая DLL-библиотеки, содержит в своем .exe файле информацию о том, какие именно библиотеки ей нужны, и какие функции из этих библиотек она использует (импортирует). При запуске любой программы системный загрузчик Windows считывает список используемых этой программой DLL-библиотек и загружает (отображает) их в адресное пространство программы. После этого для каждой импортируемой программой функции загрузчик определяет адрес вызова.
    Каждая DLL-библиотека содержит функцию с именем DllMain следующего вида:
    BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD fdwReason, PVOID fImpLoad);
    Назначение её - сугубо информационное. Вызывая эту функцию, загрузчик сообщает библиотеке о том, что она будет подключена к какому-то процессу, либо в контексте процесса происходит создание потока. Загрузка любой программы включает в себя последовательный вызов функций DllMain всех используемых DLL. Аналогично данный вызов осуществляется при отключении и выгрузке библиотеки. Думаю, что суть метода вам уже ясна: достаточно добавить к списку используемых программой DLL-библиотек свою, у которой функция DllMain содержит необходимый вам код. Весь код в рамках этой ф-ции будет выполнятся с приоритетом "заряженной" программы.
    В меру скромного воображения приведу несколько примеров использования данной методики для решения практических задач. Первое, что приходит в голову - это система "навесной" защиты, которую можно установить на любое готовое приложение. ............






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

Название:Основные тенденции в развитии экспорта и импорта зарубежных стран
Просмотров:681
Описание: Людмила Петровская, Павел Шипук Экспортно-импортные потоки товаров и услуг являются одним из показателей уровня развития стран. Вне всякого сомнения, не всегда возможно стать экспортером продукции, даже имея аб

Название:Технические параметры выполнения произвольных программ высококвалифицированными батутистами
Просмотров:723
Описание: на различных соревнованиях Аспирантка, заслуженный мастер спорта С. В. Баландина Аспирантка, заслуженный мастер спорта И. В. Караваева Кубанский государственный университет физической культуры, спорта и туризма,

Название:На чем писать программы? (краткий обзор возможностей языков программирования)
Просмотров:741
Описание: Сергей Трофимов Сегодня мы продолжаем разговор на тему какой язык программирования выбрать, начатый с статье “Delphi или Visual C++ - вот в чем вопрос”. Тема оказалась глубже, чем казалось на первый взгляд, и я провел нек

Название:Когда прекращать тестирование программ?
Просмотров:685
Описание: С.Трофимов Никто не сомневается в необходимости тестирования программ. Будь то небольшой учебный пример или целая информационная система. Вопрос только в том, сколько нужно тестировать и когда можно считать про

Название:Разработка технологической программы выращивания цветочных культур (нарцисс и цикламен)
Просмотров:742
Описание: Содержание выращивание цветок агроэксплуатационная характеристика Введение 1. Производственно-экономическая характеристика хозяйства, природно-климатические особенности зоны 2. Агроэксплуатационная ха

 
     

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