Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование

Кейлоггер под MS-DOS

Чашка "Неваляшка".
Ваши дети во время приёма пищи вечно проливают что-то на ковёр и пол, пачкают руки, а Вы потом тратите уйму времени на выведение пятен с
222 руб
Раздел: Тарелки
Фонарь желаний бумажный, оранжевый.
В комплекте: фонарик, горелка. Оформление упаковки - 100% полностью на русском языке. Форма купола "перевёрнутая груша" как у
87 руб
Раздел: Небесные фонарики
Ночник-проектор "Звездное небо и планеты", фиолетовый.
Оригинальный светильник - ночник - проектор. Корпус поворачивается от руки. Источник света: 1) Лампочка (от карманных фонариков) 2) Три
330 руб
Раздел: Ночники

ЧАСТЬ 1. Что такое кейлоггер и с чем его едят? Кейлоггер (key s roke programm, keylogger) - программа, которая запоминает список нажимаемых пользователем клавиш. Обычно, кейлоггеры работают без ведома пользователей (иначе зачем они нужны, вед юзер итак знает, что нажимает =) ). Обычно, такие программы используются для того, что бы узнать набираемый логин и пароль, причём, не обязательно при входе в систему (например на почтовом сервере). В данном конкретном случае, я буду говорить про написание кейлоггера только под MS-DOS. Почему? Всё очень просто: во многих учебных заведениях (в т.ч. и в ВУЗах) для обучения программированию используют компиляторы под ДОС (например, Borla d C, Borla d Pascal, e c.) Более того, в некоторых таких заведениях всё ещё пашет какой-нибудь старый ovell e ware, опять таки, под ДОС. Ну а самая главная причина, почему я выбрал ДОС - я собираюсь только продемонстрировать принципы работы таких программ. Если вам нужен кейлоггер под вынь, в яндексе найдёте туеву хучу таких. С мотивацией разобрались. Теперь, когда половина читателей стала набирать я смело могу продолжать :) ЧАСТЬ 2. Приступим Итак, ещё раз. Наша цель - написать рабочий кейлоггер под DOS. Он должен отлавливать нажимаемые клавиши, а затем сохранять их в заданный файл. Для осуществления задуманного нам (не "нам" а "вам") нужно знать основы системного программирования под MS-DOS, и язык C (лучше всего Borla d C v3.1). Под системным программированием я понимаю, прежде всего, знания из области: системные прерывания, порты ввода-вывода, работа с файлами и т.д. Если вы не знаете, что это такое, вам будет труднее понять написанное ниже. Ладно. Хватит разговоров, пора начинать. Берём бутылку пива. Думаем. Что же происходит при нажатии клавиши? Любой системный программист скажет - аппаратное прерывание (и будет прав). Операционка ловит его и обрабатывает нажатую клавишу. Для того, что бы понять, какая клавиша нажата, используются порты ввода-вывода. А что должен сделать наш кейлоггер? Правильно! Он должен сам перехватить наше аппаратное прерывание от клавы, и прочитать клавишу из портов. А потом уже и операционка подгребёт, и тоже прочитает. Сразу оговорюсь, что такой способ не универсален. Например, какая-нить другая прога, которой надо считать клавиши, просто не даст нам обработать прерывание (установит свой обработчик, а наш не вызовет). Некоторые сверхсекьюрные проги это делают. Но об этом потом. А сейчас вспоминаем про функции ge vec () и se vec (). Они позволяют определить используемый обработчик прерывания и установить свой соответственно. Обработчик - это наша с вами (или чужая) функция, которая обрабатывает прерывание. Как всё это работает? 1) Клава генерирует прерывание. 2) Вызывается обработчик. Его адрес хранится не далеко от начала памяти (зависит от прерывания), и система просто делает джамп по тому адресу, которое там видит. То есть что бы процессор сейчас не делал (кроме тех случаев, когда прерывания заблокированы вообще - R FM Asm: cli/s i), система прердаст ему команду прыжка (джамп, jmp) по этому адресу, и он начнёт выполнять нашу функцию-обработчик.

3) Затем, процессор продолжит то, что делал раньше. Об обработчиках по подробнее. Изначально, обработчик - это наша функция в операционной системе. То есть операционная система (далее ОС) сама обрабатывает нажатые клавиши (помещает их в буфер, выводит на экран и т.д.) Если мы ставим свой обработчик, то ОС в пролёте. Мы сами обрабатываем клавиши. Но! Если ОС не обработает прерывание (т.е. не вызывается её собственный обработчик) - будет хреново. В этом случае все другие программы не смогут узнать о нажатии клавиши, как и сама ОС. Мы не сможем даже набрать команду в консоли. Не сможем передвинуть маркер на другой файл в or o Comma der. В общем, остальным запущенным программам не будет известно, что пользователь нажал на клавишу. Как же быть? Элементарно, Ватсон! Из своего обработчика мы сделаем джамп на старый обработчик. А старый сделает джамп на тот, который был перед ним. И так далее. Последним обработчиком будет ОС (т.н. каскадное включение). Таким образом, сколько бы обработчиков не было, они выполнятся все по очереди. На радостях вспоминаем про не допитое пиво =) Таким образом поступают все системные программисты (я уже не про пиво. хотя. и это тоже). Перед тем как установить свой обработчик, узнаём адрес в памяти старого обработчика. После того, как сделали своё чёрное дело, вызываем следующий обработчик. (Вот приелись эти обработчики!). Код на C (если не в Borla d C V3.1, возможно, предётся что-нить поменять): #i clude < dos.h >                                 //Подключаем библиотеку dos.h для функций ge vec () и se vec () void i errup far ( oldhdl)(.);            //Здесь будет адрес старого обработчика (указатель на функцию) void i errup far ewhdl(.)                    //А это наш обработчик {    // .    oldhdl();                                   //Не забудем передать управление старому обработчику } i mai () {    oldhdl=ge vec (0x09);              //Запоминаем старый обработчик прерывания нумбер 0x09 (т.е. от клавы)    se vec (0x09, ewhdl);             //Ставим новый обработчик (на то же прерывание)    re ur 0; } Так, ничего не забыли? Прокрутим в башке ещё раз. Функция mai () определяет старый обработчик прерывания 0x09 (клава) и пишет в переменную oldhdl (которая является указателем на функцию). Затем ставит свой обработчик на то же (0x09) прерывание. Выходит из проги (re ur 0). Теперь, если происходит девятое прерывание, процессор делает джамп по адресу нашей функции ewhdl(). Функция выполнит то, что будет вместо строки "//." и вызовет старый обработчик. Дальше не наша проблема. Правильно? Нет! Ещё раз. Наша функция mai () завершает работу. Значит, прога выгружается из памяти. Когда процессор сделает джамп на адрес функции ewhdl(), то там её уже не будет! Нам нужно, что бы наш обработчик висел в памяти даже после завершения функции mai (). Как это сделать? Думаем. Вспоминаем про библиотечную функцию keep(). Как это они в мануале хорошо подметили: Exi s a d remai s reside . По русски: Выходит и остаётся резидентом. Помните, что такое резидент и SR? SR - ermi a e a d S ay Reside , завершиться и остаться резидентом в памяти.

То есть не выгружать прогу из памяти даже после завершения функции mai (). Если выполнить эту функцию перед завершением mai (), то прога перестанет выполняться, но не умрёт. То, что доктор прописал. Сказано-сделано. #i clude < dos.h >                                 //Подключаем библиотеку dos.h для функций ge vec () и se vec () ex er u sig ed heaple = 1024; ex er u sig ed s kle = 1024; void i errup far ( oldhdl)(.);            //Здесь будет адрес старого обработчика (указатель на функцию) void i errup far ewhdl(.)                    //А это наш обработчик {    // .    oldhdl();                                   //Не забудем передать управление старому обработчику } i mai () {    oldhdl=ge vec (0x09);              //Запоминаем старый обработчик прерывания нумбер 0x09 (т.е. от клавы)    se vec (0x09, ewhdl);             //Ставим новый обработчик (на то же прерывание)    keep(0, SS ( SP/16)- psp);    re ur 0; } Как видишь, изменились 3 строки: я добавил глобальное объявление двух очень важных переменных, ну и саму функцию keep(). Переменные эти определяют, сколько памяти резервировать для проги (куча и стек соответственно). Необходимо ставить как можно меньше, но так, что бы прога не глючила и работала. Дело в том, что резиденты лежат в памяти всегда, и если они сожрут её слишком много, ничего будет не запустить (возможно, что и comma d.com). Я поставил 1024. Далее мы видим функцию keep(). Первый её параметр - код разв. возврата. У меня, как и у вас, это - ноль. Затем идут s ra ge le ers, которые всего-лишь говорят, сколько памяти должно быть зарезервировано: psp (Program Seme Prefix) - адрес начала нашей программы, SS (S ack Segme ) - сегмент стека, SP (S ack Poi er) - указатель вершины стека. Конец нашей программы - это адрес вершины стека. На самом деле такое вычисление может оказаться не точным. Можно попробовать такой вариант: SS ( SP запас памяти) / 16 - psp. Вот теперь половина готова. В общем-то прога уже будет работать, а для проверки можно вместо "//." написать что-нибудь вроде sou d(2600); delay(50); osou d();. Надеюсь, все поняли, что я имею в виду. При каждом срабатывании прерывания 0x09 будет короткий сигнал в спикере компа. Кстати, девятое прерывание срабатывает не только тогда, когда клавишу нажимают, но и когда её отпускают. Пишим. Компилируем. Выходим из Borla d C. Запускаем прогу. Если ничего не получилось, попробуйте ещё раз. Если опять не получилось, возможны варианты: 1) вы допустили ошибку, и 2) настройки компилятора не позволяют откомпилить прогу. В любом случае, читайте мануалы. И ещё одна вещь - не пытайтесь запускать подобные проги прямо из компилятора (C rl F9), он всё равно вернёт все изменения в системе назад (в т.ч. и обработчики прерываний). ЧАСТЬ 3. Мутим кейлоггер Хорошо. Большую часть сделали. Теперь превратим это в нормальный кейлоггер. Для начала нам необходимо определить, какая именно клавиша была нажата. Результаты будут соответствовать не обычным кодам в соответствии с кодовой страницей (т.е. 'A'=65, 'B'=66.) а специальным, которые возвращает нам система, и которые уже потом переводятся в обычные.

Мои замечания будут касаться приведенной в примере программы, но они достаточно универсальны, чтобы распространяться на любую похожую программу, которую вы спрячете в системе. Во-первых, убедитесь в присутствии EDLIN, равно как и DEBUG, TREE и других внешних команд DOS. Они не обязательно являются доступными на используемом вами компьютере, так что вы можете влипнуть, если ваши намерения откроются. При попытке скопировать эти файлы вы можете обнаружить, что директория DOS защищена от записи. В этом случае придется помешать необходимые команды в альтернативную директорию. Это может подставить их под "нож" чистящей программы. Если чистильщик действительно уничтожит эти внешние команды, вам придется придумывать, как разместить их на диске, в то же время обезопасив от "чистильщика". Этот ВАТ-файл работает только для текстовых файлов - двоичные файлы EDLIN испортит. Во-вторых, прежде чем действовать, убедитесь, что директория DOS находится в PATH. Это означает, что, для того, чтобы конкретный файл можно было использовать, он должен быть расположен либо в текущей директории, либо в директории, которая была определена (обычно с помощью AUTOEXEC.BAT) как место, где ОС ищет файлы для запуска

1. Общая характеристика MS-DOS

2. Операционная система MS-DOS

3. Операционная система MS DOS. Приглашение MS DOS. Диалог Пользователя с MS DOS

4. Norton Commander– инструментарий работы в среде MS DOS

5. MS DOS

6. Архивация данных в MS DOS
7. Интерпретатор команд MS DOS
8. Знакомство с MS-DOS

9. Реферат по теме “Человек на войне”

10. Роль микроэлементов в обменных процессах растений и на накоплении ими биологически активных веществ (Реферат (обзор литературы) () WinWord 97)

11. Экономическая сказка-реферат "НДС - вражья морда" или просто "Сказка про НДС"

12. Несколько рефератов по культурологии

13. Реферат по научной монографии А.Н. Троицкого «Александр I и Наполеон» Москва, «Высшая школа»1994 г.

14. Субъект преступления ("подновлённая" версия реферата 6762)

15. Реферат по технологии приготовления пищи "Венгерская кухня"

16. Несколько рефератов по Исламу

Карандаши цветные "Kores", 24 цвета, с точилкой.
Цветные карандаши имеют насыщенные цвета. Шестигранная форма корпуса снижает усталость и придает дополнительный комфорт. Мягкий грифель.
396 руб
Раздел: 13-24 цвета
Мешок для обуви "Kitten", 1 отделение, светоотражающая полоса.
Удобный мешок для обуви со светоотражающей полосой и карманом на молнии. Размер: 370х470 мм. Материал: полиэстер.
400 руб
Раздел: Сумки для обуви
Чехол с поролоном, антипригарный, для гладильной доски (тефлон).
Чехол для гладильной доски антипригарный. Размер чехла: 129х48 см. Максимальный размер доски: 125х40 см. Рисунок ткани в ассортименте без
364 руб
Раздел: Чехлы для гладильной доски

17. "Камю", "Сартр", "Шопенгауэр", "Ясперс", "Фромм" (Рефераты, доклады по философии)

18. Реферат по информационным системам управления

19. Семь чудес света - древний мир, средние века и наше время (история цивилизации, реферат)

20. реферат

21. Реферат по биографии Виктора Гюго

22. Реферат - Физиология (Транспорт веществ через биологические мембраны)
23. США и Канада в АТР: набор рефератов
24. Как написать хороший реферат?

25. Сборник рефератов о конфликтах

26. Реферат кондитерское изделие

27. Реферат по статье Гадамера Неспособность к разговору

28. Реферат Евро

29. Реферат о прочитаной на немецком языке литературы

30. Лесные пожары - реферат

31. Реферат о США

32. Реферат по делопроизводству с вопросами: Подготовка документов к архивному хранению, Правила оформления реквизитов №№16, 19, 20, 22, Контракты (договоры)

Диванчик раскладной "Кошечка".
Диван "Кошечка" - красивый, функциональный, надежный детский диван. Он способен украсить детскую комнату и может использоваться
2791 руб
Раздел: Прочие
Карандаши цветные "Triocolor", 24 цвета.
Трехгранная эргономичная форма корпуса. Яркие, насыщенные цвета, линии мягко ложатся на бумагу. Грифель устойчив к механическим
337 руб
Раздел: 13-24 цвета
Игра "Удержи юлу".
Хотите, чтобы Ваш ребенок рос ловким, активным и внимательным? Игра "Удержи юлу" поможет ему быстро развить все эти навыки! • В
580 руб
Раздел: Игры на ловкость

33. Реферат Политико-правовые взгляды М.М. Сперанского и Н.М. Карамзина

34. Сообщение на тему: Суксцессия

35. ГО Правила поведения и действия населения при производственных авариях и стихийных бедствиях

36. Организационно-технические вопросы обучения по темам безопасной эксплуатации радиационно-опасных объектов

37. Чернобыльская авария

38. Некоторые аспекты отравлений азотной кислотой и окислами азота при химических авариях
39. Югославия (Win, DOS)
40. Концепция современного естествознания на тему "симметрия кристаллов"

41. Топики по английскому языку на тему "Я ученый"

42. Зачетные темы по английскому языку для школы

43. Темы для экзамена по Английскому

44. Темы для экзамена в Финансовой академии, 1 курс

45. How do I like unusual methods of teaching? (DEAD POETS SOCIETY)

46. Рецензия на программу "Тема" - "журналистская этика"

47. Тема "Революции" в Творчестве Блока

48. Тема поэта и поэзии у А.С. Пушкина

Набор детской складной мебели "Веселая азбука".
Детский комплект складной мебели подходит для кормления, игр и обучения. Поверхность столешницы ламинированная с нанесением ярких
1629 руб
Раздел: Наборы детской мебели
Набор мебели для кухни "Коллекция".
Прекрасный набор кухонной мебели: стильный шкаф с необходимой техникой, раковиной, барной стойкой и холодильник. В набор так же входит
963 руб
Раздел: Кухни, столовые
Мягкая игрушка "Волк. Забивака", 40 см.
Этот обаятельный, улыбчивый символ Чемпионата мира по футболу ещё и сувенир в память о событии мирового масштаба на всю жизнь! Уже
1499 руб
Раздел: Игрушки, фигурки

49. Тема любви в повести И.С.Тургенева "Ася"

50. Тема Родины в лирике А.А.Блока

51. Сравнительная характеристика художественного воплощения темы "морского путешествия" в романах "Робинзон Крузо" и "Путешествие Гулливера"

52. Тема свободы в лирике Пушкина

53. Стихи Р.Киплинга - герои, темы, стиль

54. Тема Родины в творчестве А. Блока
55. Тема деревни в произведениях "Пелагея" Ф.А. Абрамова и "Знак беды" В.В. Быкова
56. Тема любви и дружбы в лирике Пушкина

57. Тема Родины в творчестве А. Ахматовой

58. Тема Родины в творчестве С.А.Есенина

59. Темы сочинений за курс средней школы 2002-2003 уч. года (11 класс)

60. Тема любви в романе Булгакова "Мастер и Маргарита"

61. Тема города в комедии "Ревизор" и поэме "Мертвые души" Н.В.Гоголя

62. «… и в мой жестокий век восславил я свободу…» тема вольности в произведениях А. С. Пушкина

63. Тема судьбы в "Старшей Эдде"

64. Тема бала в русской классической литературе

Набор фломастеров Bic Kid "Couleur", 12 цветов.
Цветные фломастеры со средним пишущим узлом и чернилами на водной основе. Вентилируемый колпачок обеспечивает безопасность при
323 руб
Раздел: 7-12 цветов
Дождевик для коляски "Карапуз".
Дождевик выполнен из плотной непромокаемой ПВХ ткани. Универсален - подходит для любой коляски-люльки. Сезон: всесезонный. Расцветка
755 руб
Раздел: Дождевики, чехлы для колясок
Доска магнитно-маркерная, 45x60 см.
Размер: 45х60 см. Поверхность доски позволяет писать маркерами и прикреплять листы при помощи магнитов. Улучшенный алюминиевый профиль. В
829 руб
Раздел: Доски магнитно-маркерные

65. Историческая тема в творчестве А.С. Пушкина

66. Тема любви в лирике Маяковского

67. Сетевые средства DOS

68. MS SQL Server 6.5

69. Использование макросов для программирования в MS ACCESS

70. Разработка приложений на языке VBA в среде MS EXCEL по обработке данных для заданных объектов
71. Сравнение операционных систем /DOS, Windows 3.*, Windows 95, Windows NT/
72. 1С-бухгалтерия /с рисунками/

73. Памятка: Norton, Lexicon, DOS

74. Отчет по практическим занятиям по курсу прикладные задачи программирования на тему Windows, Microsoft Word и Microsoft Excel

75. Access-одна из программ MS Office

76. Работа с запросами в MS Access 97

77. Медицинские датчики

78. Описание экзам препаратов, конспекты тем, + экзам тест по пат анатомии

79. Мониторинг Балтийского моря (MS Works)

80. ИЗМЕНЕНИЕ КАЧЕСТВА ВОДНЫХ РЕСУРСОВ КАЛИНИНГРАДСКОЙ ОБЛАСТИ, В ЗАВИСИМОСТИ ОТ ХАРАКТЕРА ЗАГРЯЗНЕНИЯ (MS Works)

Рюкзак "Max Steel", 42x29x15 см.
Материал: полиэстер, 600 ден. Размер: 42x29x15 см. Уплотненная спинка, широкие мягкие регулируемые лямки, 1 отделение, 2 боковых кармана,
671 руб
Раздел: Без наполнения
Поильник в комплекте с трубочкой "Малышарики", от 6 месяцев, 360 мл.
Поильник с трубочкой идеально подойдет для подросшего Малыша. Поильник удобно брать с собой на прогулку или в гости. Мягкая силиконовая
381 руб
Раздел: Поильники, непроливайки
Полотенце вафельное "Сластена полосатка", банное, пляжное, 100х150 см.
Вафельное полотенце "Сластена полосатка". Легкое и практичное полотенце удобно использовать на пляже, в бане и в бассейне.
304 руб
Раздел: Большие, ширина свыше 40 см

81. Последствия ядерных взрывов и аварий на АЭС

82. Аварии и катастрофы

83. Методика преподавания темы: "Использование электронных таблиц для финансовых и других расчетов" в 10 классе

84. Преемственность и перспективность в работе по русскому языку между I-III (IV) (на материале внеурочной предметной деятельности) (и V-VI классами (Диплом) MS Word`2000)

85. Изучение темы "Акмеизм" в 11 классе

86. Словесно-дидактические игры по теме «Знакомство с экзотическими плодовыми комнатными растениями»
87. Использование проектной методики в преподавании иностранного языка по сквозной теме "Housing" на старшей ступени обучения в общеобразовательной школе
88. Требования, предъявляющиеся к терминам, научным понятиям и деффинициям. Критерии выбора темы научно - исследовательской работы

89. Патентный поиск на тему: "Современная оснастка станка" по курсу "Основы научной деятельности"

90. Датчики скорости

91. Исследование возможности извлечения редких металлов из золы-уноса ТЭЦ (MS Word 97)

92. Исследование функций преобразования и метрологических характеристик бесконтактных волоконно-оптических датчиков перемещений

93. Основные типы датчиков и их назначение

94. Богоматерь Донская /ГТГ/ Интерпретация темы Богоматери Елеусы (Доклад)

95. Программа прикладного социологического исследования на тему: "Изучение мнения потенциальных и реальных пользователей всемирной компьютерной сети Internet о проблемах ее существования и развития в Москве"

96. Проект социологического иследования на тему "Изменение отношения жителей Москвы к работе милиции в 1990 - 2000 гг."

Муфта для коляски Bambola (шерстяной мех + плащевка + кнопки), серая.
Муфта на ручку коляски очень легко одевается и защищает Ваши руки от холода. Ткань муфты водоотталкивающая, она утеплена мехом и небольшим
489 руб
Раздел: Муфты на ручку
Логический теремок.
Прекрасная развивающая и обучающая игрушка для Вашего малыша. Развивает логику, моторику рук, а также восприятие цвета и формы. Цвет
759 руб
Раздел: Сортеры, логические игрушки
Набор детской посуды "Лиса".
Набор посуды детский "Лиса". В комплекте 3 предмета: - тарелка суповая диаметром 15 см, - тарелка обеденная диаметром 17,5 см, -
397 руб
Раздел: Наборы для кормления

97. Подборка пословиц на Философские темы

98. Основные разделы бизнес-плана, калькуляция темы и расчет цены программного продукта, технико-экономическое обоснование с расчетом экономической эффективности разработки

99. Вводная тема по истории Казахстана

100. Византия в конце VI в. Вторжения славян и авар


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.