Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2008, 20:03   #1
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
Подмигивание Считывание пароля

Всем привет! Я пишу программу для считывания и просмотра паролей, но у меня проблема, когда я её запускаю, то выскакивает ошибка "Точка входа в процедуру WNetEnumCachedPasswords не найдена в библиотеке DLL mpr.dll". Подскажите пожалуста как мне решить эту проблему? Или может есть другой вариант для считывания пароля?
Заранее благодарен.
Вот мой код:

public
hMPR: THandle;
end;

var
Form1: TForm1;

const
Count: Integer = 0;

function WNetEnumCachedPasswords(lp: lpStr; w: Word; b: Byte; PC: PChar; dw: DWord): Word; stdcall;

implementation

{$R *.DFM}

function WNetEnumCachedPasswords(lp: lpStr; w: Word; b: Byte; PC: PChar; dw: DWord): Word; external mpr name 'WNetEnumCachedPasswords';
type
PWinPassword = ^TWinPassword;
TWinPassword = record
EntrySize: Word;
ResourceSize: Word;
PasswordSize: Word;
EntryIndex: Byte;
EntryType: Byte;
PasswordC: Char;
end;
var
WinPassword: TWinPassword;
function AddPassword(WinPassword: PWinPassword; dw: DWord): LongBool; stdcall;
var
Password: String;
PC: Array[0..$FF] of Char;
begin
Move(WinPassword.PasswordC, PC, WinPassword.ResourceSize);
PC[WinPassword.ResourceSize] := #0;
CharToOem(PC, PC);
Password := StrPas(PC);
Move(WinPassword.PasswordC, PC, WinPassword.PasswordSize + WinPassword.ResourceSize);
Move(PC[WinPassword.ResourceSize], PC, WinPassword.PasswordSize);
PC[WinPassword.PasswordSize] := #0;
CharToOem(PC, PC);
Password := Password + ': ' + StrPas(PC);
Form1.ListBox.Items.Add(Password);
Result := True;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
if WNetEnumCachedPasswords(nil, 0, $FF, @AddPassword, 0) <> 0 then
begin
Application.Terminate;
end
else
if Count = 0 then
ListBox.Items.Add('Паролей не обнаружено');
end;
end.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 22.03.2008, 20:09   #2
НЕ_АЙС
Форумчанин
 
Регистрация: 18.04.2007
Сообщений: 135
По умолчанию

Точка входа в процедуру WNetEnumCachedPasswords не найдена потому что её там нет
Эта процедура была актуальна для 98 винды, а в хрюшках и последующий виндах глубоко запрятана и засекречена
НЕ_АЙС вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взлом пароля Windows mager Безопасность, Шифрование 25 07.03.2009 22:22
hook - перехват пароля dimonbest Общие вопросы Delphi 4 15.05.2008 14:24
подбор пароля kixaka Помощь студентам 4 19.04.2008 08:45
Как убрать маскировку пароля без dll?? techner Win Api 4 20.04.2007 20:10
Просмотр листа с использование пароля asale Microsoft Office Excel 13 30.01.2007 23:41