Кейлоггер под MS-DOS
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: бесплатные рефераты на тему, шпоры по педагогике
| Добавил(а) на сайт: Юмашев.
Предыдущая страница реферата | 1 2 3 4 5 6 7
printf("%srn", str);
}
fclose(in);
return 0;
}
Итак, предложенная программа будет читать файл с именем C:keys.dat (можно изменить, см. define FILENAME), предполагая наличие в нём скэн-кодов, оставленных кейлоггером, и выводить в stdout (т.е. скорее всего, на экран) названия клавиш в человеческом виде. Например, строка [Pressed] Escape означает то, что пользователь нажал на клавишу Esc, а строка [Released] LeftShift означает, что кнопка LeftShift (левый Shift, кто не понял :) ) была только-что отпущена. Там, где написано "...", вам предстоит дописать остальные варианты. Сделать это очень просто: смотрим на клавиши до и после многоточия, смотрим на клавиатуру и понимаем, что нужно подставить. Эта читалка логов умеет распозновать следующие символы: A-Z 0-9 / | Shift Ctrl Alt BkSpace Del Enter CapsLock и некоторые другие. Если этого мало, вы можете дописать остальные варианты самостоятельно (я этого не сделал потому, что экономил место). И ещё. Если будет необходимость выводить результат не на экран, а в файл, в командной сторке MS DOS необходимо запустить программу вот так:
C: > logread.exe > c:logread.txt
В этом случае программа-читалка переведёт содержимое c:keys.dat и запишет его в c:logread.txt
ЧАСТЬ 6. Злоключение
Ну вот, в общем-то, и всё. Остальное сможете и сами написать. Основная хитрость в создании кейлоггера под ДОС - двадцать восьмое прерывание. Если о нём не знать - геморрой будет обеспечен. Хотя мне удавалось обходиться и без него (прерывания, не геморроя :) ). Сначала, я пробывал писать в файл прямо из обработчика, но прога удивительным образом повисала каждый раз. Затем извратился так: при запуске проги, в функции main() я выделял энное количество памяти (aka буфер), адрес его писал в файл (1) и делал keep(). В самом обработчике писал уже не на диск, а в тот самый буфер. Затем, запускал другую прогу, которая добывала из файла (1) адрес буфера, и затем записывала содержимое буфера в файл (2). То есть нажатые клавиши попадали в файл (2). У этого способа есть три недостатка с технической стороны:
1) Буфер необходимо было делать маленьким (память-то у нашего резидента - не резиновая! См. про _stklen выше) А чем меньше буфер, тем чаще приходилось вызывать вторую прогу, для переноса содержимого его (буфера) в файл. У меня буфер вмещал 150 символов (для паролей хватало).
2) Вызов самой проги для переноса из буфера в файл - задача не простая, с учётом того, что я не хотел, что бы кто-либо что-либо заподозрил. Странно бы это выглядело, если б я всё время подбегал к компу с кейлоггером и запускал в консольке какую-то прогу. Тут помогала социальная инженерия :)
3) Написание такого алгоритма взаимодействия требовало большего количества знаний, чем создание одной программки, которая сама всё и добывает, и сразу же сохраняет куда нам надо.
Обоих недостатков лишена программа с использованием прерывания 0x28. Если хотите разобраться получше в тонкостях MS-DOS и узнать все её возможности (даже не документированные), качайте себе мануал под названием Tech Help (только на английском. На русском - sux!)
Скачали данный реферат: Trofima, Татауров, Шитов, Еськин, Самсоний, Минеев, Egorov.
Последние просмотренные рефераты на тему: решебники за 7 класс, тест класс, возраст реферат, доклад на тему.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7