Меня порой поражает беспечность разработчиков программных продуктов. И данные шифруют, и алгоритмы новые придумывают, и программы свои от взлома защищают, но пользы большой это не приносит.
Любой более-менее продвинутый пользователь знает, что хранить пароли на диске небезопасно. Самое надежное хранилище паролей - это голова. В то же время, большинство программ, требующих авторизации пользователя, предоставляют возможность сохранения (запоминания) пароля в программе для ускорения процесса входа в систему в дальнейшем. Разработчики реализуют эту функцию по разному - кто-то хранит пароль в файлах настроек, кто-то в реестре, кто-то в защищенном хранилище Windows (тот же реестр, но доступный лишь пользователю System). Вариантов хранения масса. Впрочем, как и методов кражи паролей из этих мест. Существует множество вредоносных программ, основной или дополнительной функцией которых является кража сохраненных паролей с жесткого диска жертвы.
Мы, ведь с вами, продвинутые пользователи, правда? И поэтому, никогда не сохраняем пароли, а только запоминаем. Верно ли утверждение, что в этом случае наш пароль в безопасности? Давайте проверим.
Что нам понадобится?
Spy++ из пакета MS Visual Studio, или любая подобная утилита.
PE Tools, или любая утилита, позволяющая сделать дамп процесса.
Hex Workshop, или любой другой шестнадцатеричный редактор.
MS Visual C++, или любой C компилятор.
Что будем исследовать?
QIP. У меня - билд 8040. (qip.ru)
&RQ. Я использовал версию 0.9.7.4. (andrq.org)
Mail.Ru Агент. Версия 5.0, билд 2082. (agent.mail.ru)