Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| |
Блин, обшибся малость с понятиями :) sorry 15.04.04 02:37 Число просмотров: 2044
Автор: shadow_agent Статус: Незарегистрированный пользователь
|
|
<site updates>
|
Кейлоггер под MS-DOS 13.04.04 02:06
Publisher: dl <Dmitry Leonov>
|
Кейлоггер под MS-DOS -PaShIX- pashix@pochta.ru
ЧАСТЬ 1. Что такое кейлоггер и с чем его едят?
Кейлоггер (key stroke programm, keylogger) - программа, которая запоминает список нажимаемых пользователем клавиш. Обычно, кейлоггеры работают без ведома пользователей (иначе зачем они нужны, вед юзер итак знает, что нажимает =) ). Обычно, такие программы используются для того, что бы узнать набираемый логин и пароль, причём, не обязательно при входе в систему (например на почтовом сервере). В данном конкретном случае, я буду говорить про написание кейлоггера только под MS-DOS. Почему? Всё очень просто: во многих учебных заведениях (в т.ч. и в ВУЗах) для обучения программированию используют компиляторы под ДОС (например, Borland C, Borland Pascal, etc.) Более того, в некоторых таких заведениях всё ещё пашет какой-нибудь старый Novell Netware, опять таки, под ДОС. Ну а самая главная причина, почему я выбрал ДОС - я собираюсь только продемонстрировать принципы работы таких программ. Если вам нужен кейлоггер под вынь,...
Полный текст
|
|
Уточнения. [updated] 15.04.04 22:26
Автор: Den <Denis> Статус: The Elderman Отредактировано 15.04.04 22:46 Количество правок: 1
|
> Можно попробовать такой вариант: _SS + (_SP + запас_памяти) / 16 - _psp Лучше пробовать такой вариант: _SS + _SP / 16 + 16 - _psp
Старые обработчики лучше вызывать так:
jmp far old_hdlr
тогда старый обработчик сразу вернет управление на то место, где произошло прерывание.
И наверное хорошо бы маскировать прерывание от клавиатуры на время работы обработчика.
|
|
Блин, как актуально!!! 15.04.04 13:45
Автор: Den <Denis> Статус: The Elderman
|
И все-таки, почему пример не под Win32, а под DOS - мне непонятно. Не было под рукой соответствующего примера и пришлось обойтись древними манускриптами?
|
| |
Попробуй ещё разок самое начало прочитать 16.04.04 01:21
Автор: shadow_agent Статус: Незарегистрированный пользователь Отредактировано 16.04.04 01:24 Количество правок: 1
|
Попробуй ещё разок самое начало прочитать:
>...Ну а самая главная причина, почему я выбрал ДОС - я собираюсь только >продемонстрировать принципы работы таких программ. Если вам нужен >кейлоггер под вынь, в яндексе найдёте туеву хучу таких...
...ну нравится мне ДОС, вот я и пишу я под ДОС :)
Дело здесь не в кейлоггере даже, а в принципах программирования - под ДОС!
|
| | |
:)) Хорошая отмазка. 16.04.04 12:25
Автор: Den <Denis> Статус: The Elderman
|
|
| | | |
Сам придумал :)) 18.04.04 01:04
Автор: shadow_agent Статус: Незарегистрированный пользователь
|
|
|
Рентабельность, это маленько не из этой оперы. ;)
14.04.04 11:48
Автор: Иван Статус: Незарегистрированный пользователь
|
> Может быть вариант, что мы вызовем 0x21 находясь в нём же, что не есть хорошо (это называется нерентабельностью)
Рентабельность, это маленько не из этой оперы. ;)
Реентерабельность - свойство программы, корректно выполняться при рекурсивном вызове из прерывания. А в целом статья неплохая. :)
|
| |
Блин, обшибся малость с понятиями :) sorry 15.04.04 02:37
Автор: shadow_agent Статус: Незарегистрированный пользователь
|
|
| |
тьфу, не обратил внимания при выкладывании 14.04.04 15:26
Автор: dl <Dmitry Leonov>
|
|
|
а вот такие вещи лучше как раз таки на асме писать 13.04.04 03:45
Автор: Killer{R} <Dmitry> Статус: Elderman Отредактировано 13.04.04 10:04 Количество правок: 1
|
В свое время тоже писал кейлоггер под дос, сделал буфер и повесил обработчик на 09 для скидывания нажатий в буфер и обработчик на прерывание 1c - в нем тоже вначале стояла быстрая проверка наличия в буфере символов, затем при наличии таковых проверялся флаг indos, и если все в порядке буфер скидывался на винт. Таймер срабатывает 18.2 раза в секунду так что потери нажатий не могло быть в принципе даже при буфере хотябы на 128 символов (учитывая фокус с переносом части проги в PSP программа в памяти получалась совсем мизерная - пару сотен байт). Кстати замечание - при входе в обработчик прерывания и перед установкой обработчков надо все таки делать CLI не полагаясь на авось (авось сработавшее irq не вызовет нас еще раз)
|
| |
Хех ;)
13.04.04 09:30
Автор: cybervlad <cybervlad> Статус: Elderman
|
> принципе даже при буфере хотябы на 128 символов (учитывая > фокус с переносом части проги в PSP программа в памяти > получалась совсем мизерная - пару сотен байт). Кстати Хех ;)
Перенос части данных в PSP - это не фокус. Фокус в том, чтобы вообще обойтись без PSP. Я как-то делал резидентик (будильник), он занимал в памяти 80 байт (включая "расписание" звонков и сообщения), не фрагментировал память, не использовал вызов TSR-прерывания, и, как следствие, не обнаруживался ни одним монитором резидентов ;)
А вообще, мне при работе с ms-dos нравилась одна вещь: если комп повис, то исключительно по причине кривизны твоих рук, а не "злого Билла Гейтса с мерзкой виндой" ;)
|
| | |
Хех ;) 21.05.04 19:54
Автор: Rept Статус: Незарегистрированный пользователь
|
> А вообще, мне при работе с ms-dos нравилась одна вещь: если > комп повис, то исключительно по причине кривизны твоих рук, > а не "злого Билла Гейтса с мерзкой виндой" ;)
Лафа начала кончаться вместе с 640К. ;)
|
|
|