📄 pwl.cpp
字号:
#include <windows.h>#include <stdio.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, *ob1; BOOL CALLBACK pce(PASSWORD_CACHE_ENTRY *x, DWORD){ memmove(buf, x->abResource, x->cbResource); buf[x->cbResource] = 0; CharToOem(buf, ob1); printf("%-30s : ", ob1); memmove(buf, x->abResource+x->cbResource, x->cbPassword); buf[x->cbPassword] = 0; CharToOem(buf, ob1); printf("%s\n", ob1); return TRUE;}void main(){ buf = new char[1024]; ob1 = new char[1024]; puts("No security in this crazy world!\n" "Win95 PWL viewer (c) 1997 Vitas Ramanchauskas\n" "http://webdon.com, e-mail: vitas@webdon.com vitas@rocketmail.com, ICQ:3024702\n\n" "************\n" "!DISCLAIMER!\n" "!This program intended to be used for legal purpose only!\n" "************\n\nPress Enter to begin...\n"); getchar(); 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); FreeLibrary(hi);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -