Click here to Skip to main content
12,403,856 members (66,846 online)
Click here to Skip to main content
Add your own
alternative version


33 bookmarked

Protected Storage

, 23 Feb 2004
Rate this:
Please Sign up or sign in to vote.
This program wil reveal Outlook Passwords, Deleted Outlook Account passwords, IE:Password-Protected sites passwords, MSN Explorer Signup passwords, IE AutoComplete Passwords, IE Auto Complete Fields , and in 9x it will show the cached dialup passwords


Passwords are stored using Protected Storage in Windows 2k and XP. This program will reveal :-

  1. Outlook Passwords
  2. Deleted Outlook Account passwords
  3. IE : Password-Protected sites passwords
  4. MSN Explorer Signup passwords
  5. IE AutoComplete Passwords
  6. IE Auto Complete Fields in 9x it will show the cached dialup passwords


There is a tool called Protected storage Explorer at CodeProject itself but it does not have source code. I tried to do what this program does by looking at that tool without any source code - lol - and that tool helped me to do this program.

Using the code

This Program first enumerates the outlook accounts from registry located at HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Account Manager\\Accounts first and then storing it in a structure.

SMTP Password2 - this string value contains the corresponding ItemName of protected storage data password of that account, then it continues enumerating the protected storage; loads the pstorec.dll and gets the address of function "PStoreCreateInstance". Then it calls PStoreCreateInstance to get an instance of IPStore, then it will enumerate the protected storage passwords. It will also enumerate cashed passwords in Win 9x.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

You may also be interested in...

Comments and Discussions

QuestionNot working on IE7? Pin
Yuri Pereira29-Oct-07 9:00
memberYuri Pereira29-Oct-07 9:00 
Questiondont get password Pin
pinkubabu21-Apr-07 9:07
memberpinkubabu21-Apr-07 9:07 
Generalnot working Pin
ste82728-Feb-07 17:07
memberste82728-Feb-07 17:07 
Questionimporting pstorage entries fm remote computer Pin
Member #369393222-Feb-07 5:14
memberMember #369393222-Feb-07 5:14 
QuestionDoes the compilation fail? Pin
K_R7-Jan-07 16:55
memberK_R7-Jan-07 16:55 
Generalslove error problm Pin
caistudy20-Sep-06 21:32
membercaistudy20-Sep-06 21:32 
GeneralThis code is the most dirty that i ve ever seen! Pin
HellMind15-Jan-06 7:34
memberHellMind15-Jan-06 7:34 
GeneralFix Pin
HellMind15-Jan-06 6:32
memberHellMind15-Jan-06 6:32 
GeneralRe: Fix Pin
HellMind15-Jan-06 6:33
memberHellMind15-Jan-06 6:33 
GeneralRe: Fix Pin
HellMind15-Jan-06 6:34
memberHellMind15-Jan-06 6:34 
Generalunicode show as '??'. Pin
z.coolstar1418-Dec-05 15:02
memberz.coolstar1418-Dec-05 15:02 
GeneralNice but... Pin
Y_R3-Sep-05 0:54
memberY_R3-Sep-05 0:54 
GeneralWonderful job.....Well done Pin
Nagareshwar5-Jul-05 10:09
memberNagareshwar5-Jul-05 10:09 
GeneralOulook Interface Pin 22:50 22:50 
GeneralUnhandled COM exception Pin
codeproject4sba17-May-05 4:20
membercodeproject4sba17-May-05 4:20 
I compiled the code, and at one point at runtime PStore->ReadItem() raises an unhandled exception because the underlying COM invocation fails with HR=-2146697215:

     kernel32.dll!_RaiseException@16()   + 0x52    
     ProtectedStorage.exe!_CxxThrowException(void * pExceptionObject=0x0012e308, const _s__ThrowInfo * pThrowInfo=0x0041a904)   + 0x39     C++
     ProtectedStorage.exe!_com_raise_error(HRESULT hr=-2146697215, IErrorInfo * perrinfo=0x00000000)   Line 19     C++
     ProtectedStorage.exe!_com_issue_errorex(HRESULT hr=-2146697215, IUnknown * punk=0x0097356c, const _GUID & riid={...})   Line 67     C++
>     ProtectedStorage.exe!IPStore::ReadItem(unsigned long Key=0, _GUID * pItemType=0x0012f7dc, _GUID * pItemSubtype=0x0012eb74, unsigned short * szItemName=0x00154de0, unsigned long * pcbData=0x0012e678, unsigned char * * ppbData=0x0012e684, _PST_PROMPTINFO * pPromptInfo=0x00000000, unsigned long dwFlags=0)   Line 185     C++
     ProtectedStorage.exe!EnumPStorage(int Save=0)   Line 215 + 0x3a     C++
     ProtectedStorage.exe!DLgProc(HWND__ * hDlg=0x001310e4, unsigned int message=272, unsigned int wParam=1773814, long lParam=0)   Line 415 + 0x7     C++
     user32.dll!_InternalCallWinProc@20()   + 0x28    
     user32.dll!_UserCallDlgProcCheckWow@32()   + 0x50e    
     user32.dll!_DefDlgProcWorker@20()   + 0x7f    
     user32.dll!_DefDlgProcA@16()   + 0x22    
     user32.dll!_InternalCallWinProc@20()   + 0x28    
     user32.dll!_UserCallWinProcCheckWow@32()   + 0xb7    
     user32.dll!_SendMessageWorker@20()   + 0xc8    
     user32.dll!_InternalCreateDialog@28()   + 0x4d2    
     user32.dll!_InternalDialogBox@24()   + 0xa3    
     user32.dll!_DialogBoxIndirectParamAorW@24()   + 0x36    
     user32.dll!_DialogBoxParamA@20()   + 0x4c    
     ProtectedStorage.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00141f15, int nCmdShow=1)   Line 483 + 0x17     C++
     ProtectedStorage.exe!WinMainCRTStartup()   Line 251 + 0x30     C
     kernel32.dll!_BaseProcessStart@4()   + 0x23    

Any clue?

How can I work around this exception?

Generalcompiled code detected as trojan Pin
antifumo1-Dec-04 20:35
memberantifumo1-Dec-04 20:35 
QuestionWhat About ... Pin
qcha0s28-Feb-04 7:40
memberqcha0s28-Feb-04 7:40 
AnswerRe: What About ... Pin
Y_R22-Sep-05 2:45
memberY_R22-Sep-05 2:45 
GeneralRe: What About ... Pin
Jeroen-bart Engelen22-Sep-05 23:04
memberJeroen-bart Engelen22-Sep-05 23:04 
GeneralRe: What About ... Pin
Y_R24-Sep-05 0:31
memberY_R24-Sep-05 0:31 
GeneralRe: What About ... Pin
Jeroen-bart Engelen24-Sep-05 2:52
memberJeroen-bart Engelen24-Sep-05 2:52 
GeneralRe: What About ... Pin
Y_R26-Sep-05 12:25
memberY_R26-Sep-05 12:25 
GeneralRe: What About ... Pin
Jeroen-bart Engelen27-Sep-05 3:57
memberJeroen-bart Engelen27-Sep-05 3:57 
GeneralCompiled demo doesn't work Pin
RaulBove25-Feb-04 4:24
memberRaulBove25-Feb-04 4:24 
GeneralRe: Compiled demo doesn't work Pin
ccache3-Sep-04 8:34
memberccache3-Sep-04 8:34 
GeneralRe: Compiled demo doesn't work Pin
BugMeNotFTW12-Jun-10 19:58
memberBugMeNotFTW12-Jun-10 19:58 
GeneralWhy I Gave It a 2 Pin
Johann Gerell24-Feb-04 20:59
memberJohann Gerell24-Feb-04 20:59 
GeneralRe: Why I Gave It a 2 Pin
maffersistheone18-Oct-04 5:42
membermaffersistheone18-Oct-04 5:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.160721.1 | Last Updated 24 Feb 2004
Article Copyright 2004 by Hirosh Joseph
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid