PassTypePro ist ein Windows-Tray-Tool als technischer Entwurf fuer den Anwendungsfall, Zugangsdaten oder andere Texte per simulierten Tastatureingaben in Zielsysteme einzutippen, in denen Copy/Paste unzuverlaessig oder gesperrt ist, zum Beispiel in virtuellen Maschinen, RDP-Sessions, Konsolenfenstern oder Remote-Installationsdialogen.
Der aktuelle Stand ist ein bewusst schlankes MVP-Grundgeruest mit Fokus auf:
- kleine Tray-App statt grosses Hauptfenster
- globale Hotkeys fuer schnelle Aktionen mit echter Hotkey-Erfassung
- eigener globaler Hotkey pro Secret
- simulierte Tastatureingabe ueber
SendInput - Typing-Sequenzen fuer Login-Ablaufprofile
- integrierte TOTP-Unterstuetzung fuer 2FA-Codes
- lokale, benutzergebundene Secret-Speicherung mit Windows DPAPI
- verschluesselter Import/Export fuer Secret-Profile
- Clipboard-Historie nur im Arbeitsspeicher
- dunkles Theme, Menueleiste und eigenes Schloss-Icon
- optionales Always-on-top fuer das Hauptfenster
- optionaler App-Lock mit PIN; standardmaessig bei Windows-Sperre statt ueber Inaktivitaet
- optionale Windows-Autostart-Registrierung
- nachvollziehbare Struktur mit Services, Models und UI
Projektziel: robuste Windows-Desktop-Anwendung mit klar getrennten Verantwortlichkeiten.
Program.csStartpunkt der WinForms-App.TrayApplicationContext.csLebenszyklus der Tray-App, Kontextmenue, Timer, Hotkeys, Fensterverwaltung.Services/AppConfigService.csLaden und Speichern der nicht-sensitiven Konfiguration.Services/SecureSecretStore.csVerschluesselte Ablage sensibler Eintraege per DPAPI (CurrentUser).Services/KeyboardInjectionService.csGekapselte Tipp-Simulation ueberSendInput.Services/TypingSequenceService.csInterpreter fuer Login-Sequenzen wie Username, Tab, Passwort, Enter.Services/TotpService.csGeneriert aktuelle TOTP-Codes aus Base32-Seeds.Services/SecretImportExportService.csPasswortbasierter AES-GCM-Import/Export fuer Secret-Profile.Services/GlobalHotkeyService.csRegistrierung globaler Tastenkombinationen.Services/AppLockService.csSession-Lock, PIN-Validierung und Auto-Lock-Logik.Services/AutoStartService.csVerwaltung des HKCU-Run-Registry-Eintrags.Services/ClipboardHistoryService.csIn-Memory-Verlauf fuer Clipboard-Texte.UI/MainForm.csVerwaltungsfenster fuer Settings, Secrets, Lock und Clipboard-Verlauf.UI/SecretEditForm.csDialog fuer Erfassung und Bearbeitung eines Secrets inklusive Typing-Sequenz.
Weil das Tool sensible Daten verarbeitet, gelten im Entwurf diese Grundsaetze:
- Secrets werden nicht im Klartext gespeichert.
- Die Persistenz ist an den aktuellen Windows-Benutzer gebunden.
- Clipboard-Historie wird absichtlich nicht dauerhaft gespeichert.
- Es gibt eine klare Trennung zwischen Konfiguration und sensiblen Daten.
- Die Tipp-Simulation ist als eigener Service kapsuliert und dadurch spaeter testbarer und austauschbar.
- Der App-Lock ist eine zusaetzliche Session-Schutzschicht, ersetzt aber nicht die Windows-Anmeldung.
Wichtig: Auch mit DPAPI ist das kein Ersatz fuer einen vollwertigen Enterprise Password Manager. Fuer produktiven Einsatz sollten wir als naechste Schritte Logging, Fehlertelemetrie ohne Secret-Leaks, Auto-Lock, Timeout-Verhalten und optional Windows Hello oder Master-Unlock ergaenzen.
- Tray-Icon mit Kontextmenue
- globaler Hotkey fuer "Primary Secret tippen"
- globaler Hotkey fuer "Manager oeffnen"
- Auswahl mehrerer gespeicherter Secrets
- Festlegen eines Primary Secrets
- explizites Setzen eines Standard-Secrets im Manager
- optionaler Hotkey pro Secret
- Startverzoegerung pro Secret
- Zeichenverzoegerung pro Secret fuer langsame Zielsysteme
- Typing-Sequenzen pro Profil
- TOTP-Vorschau und
{TOTP}-Token pro Profil - verschluesselter Export in
.ptpsec-Dateien - verschluesselter Import vorhandener
.ptpsec-Dateien - manuelles Sperren und Entsperren
- Sperren bei Windows-Geraetesperre
- optionaler Auto-Lock nach konfigurierbarer Inaktivitaet
- Autostart-Option
- Always-on-top fuer das Hauptfenster
- Menueleiste fuer Datei, Aktionen und Ansicht
- Clipboard-Verlauf mit begrenzter Historie
- Rueckkopieren eines Verlaufseintrags in die Zwischenablage
Standard-Hotkeys:
Ctrl+Shift+Gtippt das Primary SecretCtrl+Shift+Poeffnet den Manager
Jedes Secret kann eine eigene Sequenz definieren. Damit lassen sich Login-Flows fuer VMs, Konsolen oder Remote-Dialoge abbilden.
Zusatz pro Secret:
- eigenes Standard-Flag
- eigener globaler Hotkey
- eigene Startverzoegerung vor dem Tippen
- eigene Zeichenverzoegerung zwischen Eingaben
Unterschied:
Startverzoegerung: wartet einmal vor Beginn des TippensZeichenverzoegerung: wartet zwischen jedem Zeichen bzw. Schritt
Standardmaessig sperrt sich die App erst dann, wenn Windows selbst gesperrt wird, sofern App-Lock aktiviert ist.
Bei Windows-Sperre sperren: standardmaessig aktivAuto-Lock nach Minuten: standardmaessig0, also deaktiviert- manuelles Sperren bleibt weiterhin moeglich
Unterstuetzte Tokens:
{USERNAME}{SECRET}{TOTP}{TAB}{ENTER}{SPACE}{DELAY:500}{TEXT:abc}
Beispiele:
- Nur Passwort eintippen:
{SECRET} - Benutzername und Passwort:
{USERNAME}{TAB}{SECRET}{ENTER} - Benutzername, Passwort und 2FA:
{USERNAME}{TAB}{SECRET}{ENTER}{DELAY:800}{TOTP}{ENTER} - Mit kurzer Wartezeit:
{USERNAME}{TAB}{SECRET}{DELAY:300}{ENTER}
Secrets koennen jetzt ueber den Manager verschluesselt exportiert und wieder importiert werden.
- Exportformat:
.ptpsec - Verschluesselung: passwortbasiert mit PBKDF2 + AES-GCM
- Importierte Eintraege erhalten neue interne IDs
- Wenn importierte Secrets ein Primary-Profil enthalten, wird die bisherige Primary-Markierung aufgehoben
Voraussetzung: installiertes .NET 8 SDK mit Windows Desktop Support.
dotnet restore
dotnet build
dotnet runProjektdatei:
C:\Users\steve\Github\PassTypePro\PassTypePro.csproj
Der Build wurde lokal erfolgreich verifiziert mit:
& 'C:\Program Files\dotnet\dotnet.exe' build C:\Users\steve\Github\PassTypePro\PassTypePro.csproj -c DebugErgebnis:
0 Warnungen0 Fehler
- Clipboard-Verlauf optional verschluesselt persistieren
- Multi-Feld-Profile und Feldkategorien ergaenzen
- Installer, Signierung und Update-Mechanismus hinzufuegen
- Optional Windows Hello oder Master-Unlock integrieren
- Suchfunktion und Kategorien fuer grosse Secret-Bestaende
Windows release ZIPs can be built with:
.\scripts\release_windows.ps1 -SkipUploadRemove -SkipUpload to create the Git tag and GitHub Release after checking the generated assets.
MIT License. See LICENSE.