Passwordspy - отримання забутих паролів за допомогою пасток windows



Клкніте сюди, щоб збільшити картинку

Компілятор: VC5, VC6

Як використовувати

PasswordSpy досить проста у використанні. Вам досить запустити програму, яка містить забутий пароль, а так само PasswordSpy. Потім перетягнути лупу з PasswordSpy на поле "****" і PasswordSpy покаже те, що ховається за зірочками. PasswordSpy був протестований на Win95 / 98 / ME і WinNT / 2K / XP.

можливості

подробиці коду

Найцікавіша частина PasswordSpy - це методика установки пастки Windows за допомогою API функції SetWindowsHookEx. За допомогою цієї функції можна інсталювати пастку (hook) на всю систему або на окремий процес. Існує дюжина різних типів пасток, і кожен тип відстежує певні події. Коли одна з цих подій трапляється, то код Вашої пастки отримує управління. PasswordSpy використовує пастку WH_GETMESSAGE, яка відстежує виклики функцій GetMessage і PeekMessage. Якщо Ви хочете дізнатися більше про функції SetWindowsHookEx то раджу почитати про неї в MSDN.

Більшість прикладів пасток вирішують цю проблему шляхом створення "shared" секцій в DLL.

Цей код створює єдину змінну, яка буде доступна всім завантаженим екземплярів цієї DLL. Якщо п'ять процесів завантажать цю DLL, то всі п'ять отримають доступ до цієї змінної. Однак даний метод породжує кілька проблем. По-перше, деякі компілятори можуть не підтримувати цю опцію. По-друге, що якщо Microsoft вирішить змінити принцип роботи секцій "shared" в майбутніх версіях Windows; це означає, що дана технологія більше не буде працювати. Так само, даний метод не має синхронізації потоків, а так як Ви працюєте з декількома потоками, то синхронізація потоків дуже важлива.

Для вирішення цих проблем я скористався для IPC відображеними в пам'яті файлами, і мутекс (mutex) для синхронізації потоків. Я уклав весь цей код в клас і назвав його CIPC. Використовуючи відображаються в пам'яті файли, я вирішив проблему спеціальної опції компілятора, так як в ній відпала необхідність а всі дії проводяться звичайними Win32 API функціями. Плюс MMF-и це поширений спосіб доступу до даних з декількох процесів, тому Microsoft врят щось змінить в цій області в майбутньому. А так же мутекс гарантують, що доступ потоку синхронізований.

Схожі статті