Введение
Темой курсового проекта была выбрана: «Методика обнаружения присутствия отладчика».
Целью курсового проекта была разработка программного продукта, позволяющего отслуживать запущена ли программа в среде отладчика или работает в обычном режиме.
Для разработки программного продукта, были установлены следующие задачи:
· Программа должна обладать понятным пользователю интерфейсом;
· Осуществлять проверку на наличие ее в среде отладчика;
· Запрос на выход из приложения при обнаружении ее в среде отладчика;
· Вывод диалоговых окон, отображающих режим запуска программы.
Данную программу нельзя считать полностью актуальной т.к. она содержит лишь функцию отслеживания режима запуска программы, однако данная программа, а именно ее код может легко использоваться в других приложения, позволяя, например, бороться с копирайтом программного продукта.
Раздел «Описание используемых инструментов и технологий» содержит описание использованных в ходе выполнения работы инструментов и технологий: среды разработки, языка, текстового редактора.
Раздел «Описание программной реализации приложения» содержит программную документацию по реализованному приложению.
Заключение содержит выводы о проделанной работе при разработке программы.
1. Описание используемых инструментов и технологий
В данном курсовом проекте в качестве языка программирования был выбран язык высокого уровня C++.
C++ — компилируемый, статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.
2. Описание программной реализации приложения
2.1 Назначение и область применения программного продукта
Программное средство «Методика обнаружения присутствия отладчика», предназначено для отслеживания запущенной программы, а именно режима ее запуска (режим отладчика либо обычный режим).
2.2. Источники входной информации
К входной информации программы можно лишь отнести запущенную программу, отслеживание которой происходит в дальнейшем.
2.3. Выходная информация
К выходной информации относятся данные выводимые на экран, а именно:
· Подтверждение закрытия режима отладчика;
· Окно уведомления о программе в режиме отладчика;
· Окно уведомления о программе в обычном режиме;
СКРИНШОТЫ РАБОТЫ ПРОГРАММЫ



Заключение
В результате разработки программного продукта была разработана программа, соответствующая заданию, данному на реализацию курсового проекта.
В дальнейшем в программе можно улучшить следующие параметры:
· Для более наглядного примера переписать проект в консольный режим (по надобности);
· Добавить на форму элементы управления, позволяющие осуществлять настройку программы;
· Использование данного кода/программы в более серьезных программах для обнаружения режима запуска;
В результате разработки программы были систематизированы и получены знания в области разработки в среде программирования RAD STUDIO XE8.
Также были систематизированы знания позволяющие осуществлять отслеживание режима запуска программы.