Post by R.WieserI'm still using OE6 to read/write newsgroup messages, and have written
a small program which retrieves the message count for each subscribed
newsgroup, so I can easily see if new messages are available for them.
The thing is, at some point I need to provide a username and
password. The OE6 account already has them, but can't seem to be
able to retrieve them for my "new messages" checking program.
Any idea where-and-how I can retrieve them ?
I've already taken a peek at the 'CredRead' and family functions
(advapi32.ddl), but those return nothing. Presumably OE6 uses
another method.
https://www.nucleustechnologies.com/blog/know-your-outlook-password-location/
Not even those with admin privileges for their Windows account can see
the hidden crypto hive in the registry. regedit.exe doesn't show
everything.
As I recall, Pstore got deprecated (replaced with Data Protection API;
see https://en.wikipedia.org/wiki/Data_Protection_API), and made
read-only in Windows Vista, so programs could find their old login
credentials in Pstore, but you couldn't change them. That meant some
programs still using Pstore couldn't store their credentials as of
Windows Vista.
https://en.wikipedia.org/wiki/List_of_features_removed_in_Windows_Vista
Protected Storage (PStore) has been deprecated and therefore made
read-only in Windows Vista. Microsoft recommends using DPAPI to add
new PStore data items or manage existing ones.[35] However existing
applications such as Outlook 2002 which used PStore are unable to save
passwords as a result. Any application that tries to create new PStore
data items will fail."
You're still back on Windows XP, so Pstore (pstore.exe) is still used
there. I've never had to delve into Pstore, and it's way too late for
me to start now. OE would have the hints needed to extract its
credentials from Pstore along with code to provide the hints of what
items to extract. You can start learning about Pstore here:
https://learn.microsoft.com/en-us/windows/win32/devnotes/pstore
(Considering this is only for Windows XP and Server 2003, I'm surprised
Microsoft hasn't taken down this web page since they remove lots of docs
for old Windows versions when they get discontinued.)
I've not looked into getting a list of Pstore providers used to access
protected data in Pstore. The article above has a sub-article on how to
code to get a list of those. Pstore corruption is one of the causes for
OE to be very slow; see:
https://support.microsoft.com/en-au/topic/olexp-outlook-express-performance-is-slow-a5548db3-b7e0-689a-475b-91c535dbefc6
However, the step suggesting to delete the ProtectedStorage registry key
means losing all credentials stored there for any program using Pstore.
I'm surprised even back in Windows XP that the key wasn't protected with
access privileges that you had to change, like take Ownership, apply,
and then change/add users with full control privileges. Maybe the
registry wasn't so well protected back in Windows XP from user mistakes.
I'm not sure if any non-Microsoft programs (and any other than Outlook
98 and OE) used Pstore. DPAPI was available back in Windows 2000, so it
overlap and superseded Pstore.
OE supported plug-ins; for examples, see:
https://www.mapilab.com/outlook_express/
At one time for a short time, Microsoft provided documentation on OE
plug-ins, but they yanked it, because they considered it too flaky.
https://en.wikipedia.org/wiki/Outlook_Express#Extensibility
I don't know if anyone grabbed the doc, and I don't know the URL to see
if web.archive.org has an old page with the doc. Possibly a script
could ask a plug-in to ask OE to get the login credentials to put in a
temp file that a script could read, and then destroy the file (not just
delete, but erase its sectors). Looks some devs came up with their own
API to write add-ins for OE, like:
https://www.add-in-express.com/programming-outlook-express/
Rather than delve into all that trying to gain expertise in something
that is dead, why not hard code the login credentials into your script?
Yeah, you end up exposing the login credentials in what is likely text
to define a script, so you might need to figure out how to do something
of reduced Pstore functionality by encrypting the login credentials into
a file, and somehow obfuscating your decrypt key(s).
While Nirsoft has some tools to get at protected data (see
https://www.nirsoft.net/password_recovery_tools.html), some only work
wit DPAPI. His Protected Storage PassView tool (pspv.exe) looks for
passwords stored in Pstore. I have some of his tools, but didn't keep
this one since Pstore died with Windows XP/Server 2003.