Es sei noch erwähnt, dass es wahrscheinlich schwerer ist mit einem externen Programm ein zweites Fenster sichtbar zu machen, als dein in der .exe befindliches unverschlüsselt als String (oder beliebiger anderer Typ mit aneinander hängenden Bytes, die
ASCII Zeichen repräsentieren) gespeichertes Passwort auszulesen (ist normalerweise sogar mit dem Editor möglich, wenn nicht dann auf jedenfall mit jedem Hexeditor) und auch der Schutz von Hashs eher darauf bassiert das der potentielle Angreifer, das Passswort schlicht nicht findet. Ist ein Hash erst einmal entdeckt, so ist er in Sekunden mit Hilfe von Rainbow-Tables "zurückgerechnet" (naja eigentlich kein Rechnen in dem Sinn, sondern eher ein Vergleich, aber das ist jetzt nicht so wichtig). Sinn könnte eventuell noch machen den Hash nicht an einem Ort ganz zu hinterlegen, sondern zu zerstückeln und vom Programm beim Vergleich wieder zusammenbauen zu lassen, aber ich bin sicher, jemand der sich damit auskennt, wird auch dies mittels Dekompilierung aus den Asseblercode wieder Rekonstruieren können und weiß dann wo sich die Einzelteile in welcher Reihenfolge befinden.
Somit ist die einzig sichere Methode tatsächlich, das ganze (als Hash) an neien Server zu Schicken und da vergleichen zu lassen, aber hier ergibt sich die Schwachstelle, dass die Serverantwort simmuliert werden kann und dem Programm ein OK vorgespielt wird.
Fazit: Ich kenn mich damit nicht genug aus, um etwas Sicheres zu erfinden, deswegen lass ichs gleich.