As a project on my studies I want to create an application to recover passwords saved in Chrome portable using portable passwords storage. I encountered a problem:
I managed to open SQLite DB and read data stored in it. I tried to use DecryptPassword function as defined in "dllmain" file in given sources. But every time I use it I have different results and of course, never the right one.
DecryptPassword function needs blob, its size, salt (that 3 from DB), handle and masterPassword. But as far I as managed to read the code, I can't get any information about constructing/retrieving masterPassword.
Is there a way to get masterPassword in other way than using "popstring" on variables that I cannot reach inside my app?
And what if user did not provide masterPassword at startup (turned off portable passwords encryption)?
The master password is not stored in the clear any way and is specifically irretrievable. If you lose it, you lose your passwords, the way it's supposed to be.
Sometimes, the impossible can become possible, if you're awesome!
I know that masterPassword is only stored as hash, but my problem is how the masterPassword (after providing it by user) is transferred and changed during the app processing. How can i pass it to my program (of course knowing what the master password is).
At the beginning of every function there is:
Is it passing masterPassword unchanged (given by user), or after some operations?