Click here to Skip to main content
Licence 
First Posted 23 Feb 2004
Views 108,344
Bookmarked 30 times

Protected Storage

By | 23 Feb 2004 | Article
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

Introduction

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

Background

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.

License

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

Hirosh Joseph



India India

Member

www.hirosh.net

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
QuestionNot working on IE7? PinmemberYuri Pereira9:00 29 Oct '07  
Questiondont get password Pinmemberpinkubabu9:07 21 Apr '07  
Generalnot working Pinmemberste82717:07 28 Feb '07  
Questionimporting pstorage entries fm remote computer PinmemberMember #36939325:14 22 Feb '07  
QuestionDoes the compilation fail? PinmemberK_R16:55 7 Jan '07  
Generalslove error problm Pinmembercaistudy21:32 20 Sep '06  
GeneralThis code is the most dirty that i ve ever seen! PinmemberHellMind7:34 15 Jan '06  
GeneralFix PinmemberHellMind6:32 15 Jan '06  
GeneralRe: Fix PinmemberHellMind6:33 15 Jan '06  
GeneralRe: Fix PinmemberHellMind6:34 15 Jan '06  
Generalunicode show as '??'. Pinmemberz.coolstar1415:02 18 Dec '05  
GeneralNice but... PinmemberY_R0:54 3 Sep '05  
GeneralWonderful job.....Well done PinmemberNagareshwar10:09 5 Jul '05  
GeneralOulook Interface Pinsussmkharwadkar@yahoo.co.in22:50 21 Jun '05  
GeneralUnhandled COM exception Pinmembercodeproject4sba4:20 17 May '05  
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 Pinmemberantifumo20:35 1 Dec '04  
QuestionWhat About ... Pinmemberqcha0s7:40 28 Feb '04  
AnswerRe: What About ... PinmemberY_R2:45 22 Sep '05  
GeneralRe: What About ... PinmemberJeroen-bart Engelen23:04 22 Sep '05  
GeneralRe: What About ... PinmemberY_R0:31 24 Sep '05  
GeneralRe: What About ... PinmemberJeroen-bart Engelen2:52 24 Sep '05  
GeneralRe: What About ... PinmemberY_R12:25 26 Sep '05  
GeneralRe: What About ... PinmemberJeroen-bart Engelen3:57 27 Sep '05  
GeneralCompiled demo doesn't work PinmemberRaulBove4:24 25 Feb '04  
GeneralRe: Compiled demo doesn't work Pinmemberccache8:34 3 Sep '04  

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

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

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