нормальные (умные) программы - при заполнении формы пароля перехватывают обработчик клавиатурного прерывания (собития нажатой кнопки) , и полностью замыкают его на себя, а после ввода каждого символа - проверяют цепочку адресов прерывания на целостность.... так что для остальных программ событий ввода буков - не наступает, а память вводящей пароль программы - недоступна. После этого программа не пересылает никуда пароль, и не сравнивает ни с чем, а использует как алгоритм для декодирования определенного объема информации, заранее помещенного в оперативную память, и по контрольной сумме расшифрованного объема - судит о правильности пароля.... ну а если лоховское что-то то можно как угодно спиздеть.... и вирусов таких полно ...