Estoy de acuerdo con el comentario de Mike Scott de que es mejor usar algo que ya sea de código abierto y que haya pasado por todas las investigaciones y demás. Si está haciendo el proyecto para aprendizaje y uso personal, comience con conceptos básicos como:
- Si admite el portapapeles, no olvide borrarlo durante la aplicación que se cerró o después de un período de tiempo establecido.
- No deje el texto en la memoria después de su uso
- Realice una buena cantidad de investigación sobre el cifrado de su base de datos y aplique una buena política de contraseña
- Admite archivos de claves para un mayor nivel de seguridad
- No almacene ninguna información confidencial como texto sin formato en el disco
- No es compatible con ninguna API relacionada con la red o si lo hace, asegúrese de validar todos sus búferes para evitar cualquier desbordamiento de búfer remoto.
Podrías dedicar más tiempo al malware que se dirige a tu software utilizando API como FindWindow para leer las cadenas de tu aplicación y la inyección de código usando CreateRemoteThread, pero no estoy muy seguro de la complejidad con la que deseas que se robe la contraseña a través de malware.
Le recomiendo que busque el código de un administrador de contraseñas de buena reputación que sea de código abierto, ya que hará lo anterior y más.
Sé que esta lista no cubre todo, pero espero que sea un buen punto de partida para ti.