Data Protector

Recommended Posts

This tool is designed to help you keep small chunks of information safe such as website logins and other small, but important, data. Kind of like secure PostIt notes.

The notes are double-encrypted. Each note you add will have its own unique password, of course you can use the same password for each one but the purpose of this is so that multiple people can use the same data file and not be able to access each other's notes, or just to increase overall security (you know, never reuse your passwords! ). Then there is a generic password that gets set in the script code, $FacingPassword. The point of $FacingPassword is because the data saved to the INI file includes a hash for the per-item password, a delimiter, then the encrypted data. I found it undesirable to have the data stored that way, even a casual glance in the data file made it easy to tell what the delimiter was, so $FacingPassword is used to re-encrypt the items - simply as a way to keep a casual glance at the data file from understanding what part of each note is the hash or data.

For this reason, as explained in the script notes, you must do 2 things to properly use this tool:

Change $FacingPassword to something unique - keeping it as the default will count as a weakness to the security of your data.

Then, NEVER CHANGE IT AGAIN! Doing so would prevent the script from ever being able to decrypt your data again and could even cause the script to crash.

IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged.

INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them.

IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged.

INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them.

Share this post

Link to post

Share on other sites

And you mention you would use it for website logins, but that you can never change the password again. As more and more websites require a password change after x number of days, this would make it impossible to use your script, correct?

Share this post

Link to post

Share on other sites

And you mention you would use it for website logins, but that you can never change the password again. As more and more websites require a password change, this would make it impossible to use your script, correct?

What I meant is to never change the hard-coded $FacingPassword once you set it initially, of course you can change the passwords used for each item, and all notes can be edited to update the info saved in them.

IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged.

INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them.

IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged.

INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them.

Share this post

Link to post

Share on other sites

What I meant is to never change the hard-coded $FacingPassword once you set it initially, of course you can change the passwords used for each item, and all notes can be edited to update the info saved in them.

Ian

Thanks for the clarification, the OP was just worded fuzzy. Probably just me

Share this post

Link to post

Share on other sites

Okie dokie, thanks again to guinness for pointing out that my version of AutoIt was out of date and that I accidentally posted an unhappy script! I was planning on going low-tech and just including the old _StringEncrypt as a quick fix, but nah, I fixed it the right way.

IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged.

INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them.

IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged.

INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them.

Share this post

Link to post

Share on other sites

What I meant was next to the password inputs have a button to "display the password", so basically take away the password mask.

Suggestions:

Use a switch...endswitch to read GUI messages. If statements are not suited for this job.

Declaring as constant will ensure a user doesn't overwrite the variable data. AutoIt will warn about the error before compile time if a user has overwritten the variable.

Use #AutoIt3Wrapper_Au3Check_Parameters=-d -w 1 -w 2 -w 3 -w- 4 -w 5 -w 6 -w 7 at the top of the script and fix all associated errors that are as a result of checking for undeclared variables and unused.

IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged.

INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them.

Share this post

Link to post

Share on other sites

Of course I want to release quality code, but I'm feeling a bit negative about the changes though. One of the things I have always been very thankful for with AutoIt is not having to declare what kind of variables I am creating or having any hassles really, you basically just throw the variable out there and it works. Implementing the wrapper suggestion made me kinda sad, because it seems like such a waste to have to put a bloody "Local" in front of any line that is creating a variable just to make the wrapper happy, seems extremely unnecessary and makes the code uglier. Likewise with the Const for $FacingPassword - OK, I get the point that setting it as a Const will prevent it from being changed....but it was never changing anyway, so..........why bother with that? If someone just downloaded the code and decided to bugger with that variable, that person didn't understand its purpose in the first place........

I am not ungrateful for the suggestions guinness, I should be trying to follow the rules of good coding and I did those things in the hope that it is the "right" way to do it, but eesh, seems like more trouble than it is worth.....

IP Scanner - Multi-threaded ping tool to scan your available networks for used and available IP addresses, shows ping times, resolves IPs in to host names, and allows individual IPs to be pinged.

INFSniff - Great technicians tool - a tool which scans DriverPacks archives for INF files and parses out the HWIDs to a database file, and rapidly scans the local machine's HWIDs, searches the database for matches, and installs them.

Share this post

Link to post

Share on other sites

I hope you don't take offence to what I am about to say, but declaring inside a loop is different to say the likes of declaring inside a loop in C#. With AutoIt it can decrease the speed of execution as the interpreter checks whether the variable is declared already on each iteration and thus is recommended to declare outside of the loop. Therefore my recommendation is to revert back to what you had before minus my "suggestions". Thank you.