Витягуємо з системи паролі

У Windows 9x існує дуже велика дірка, за допомогою якої можна без зусиль дізнатися системні паролі. Мало того, що вони зберігалися у файлі зі слабким шифруванням, так вони ще і завантажувалися в кеш і зберігалися там протягом всієї роботи ОС. При цьому в Windows API вбудовані функції, за допомогою яких можна працювати з кешуватися паролями. В результаті Windows володіла найслабшими можливостями з охорони безпеки інформації.

Отже, зараз ви дізнаєтеся ці функції, за допомогою яких можна підглянути все паролі. На рис. 3.14 ви можете побачити форму майбутньої програми. На ній розташований тільки один компонент ListBox, которвш я розтягнув по всій формі.

Витягуємо з системи паролі

Рис 3.14. Форма майбутньої програми

Лістинг 3.12. Програма вьггягіванія 'паролів

procedure FormShow (Sender: TObject); private

type PWinPassword = "TWinPassword; TWinPassword = record

end else if Count = 0 then ListBox. Items .Add ( 'Паролю немає') ;.

У обробнику події створення форми Oncreate викликається недокументированная «1МЖЦІЯ WNetEnumCachedPasswords. Ця функція шукає Паролі в кеші і повертає їх в процедуру, зазначену в якості четвертого параметра.

function WnetEnumCachedPasswords // Ім'я функції (lp: lpStr; // Повинен бути NIL w: Word; // Повинен бути 0

b: Byte; //Повинен бути

external mpr // Ім'я DLL-файлу в якому знаходиться ця функція name 'WNetEnumCachedPasswords'; // Ім'я функції в DLL-файлі.

Тепер ви і самі розберетеся з першим рядком опису. Функція, в яку повернуться паролі, повинна виглядати як:

function AddPassword // Ім'я функції, може бути будь-яким. (

У PasswordC буде перебувати рядок, що містить ім'я користувача та пароль. ResourceSize - розмір імені користувача, a PasswordSize - розмір пароля.

Єдине, що ще треба сказати, так це те, що пароль зберігається в DOS-кодуванні. Тому щоб його побачити, треба перевести його в Windows-кодування. Для цього використана функція charToOem. Перший параметр - те, що треба перекодувати, а другий - результат перекодування.

На компакт-диску в директорії \ Приклади \ Глава 3 \ Password ви можете побачити приклад цієї програми.

Схожі статті