first commit

This commit is contained in:
duffyduck
2026-10-22 12:32:47 +02:00
commit fd3fe19539
18 changed files with 1029 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
# PC-Unlocker
Grafisches **Offline-Recovery-Tool** für lokale Benutzerkonten unter **Linux**
und **Windows**, ausgeliefert als bootfähige **Live-ISO**. Gedacht für IT-Admins
und das Zurücksetzen vergessener Passwörter auf Maschinen, zu denen man
physischen Zugang und die Berechtigung hat (eigener Rechner, verwaltete
Firmen-PCs, Konten ausgeschiedener Mitarbeiter).
Gleiche Kategorie wie `chntpw`, Trinity Rescue Kit oder System Rescue CD.
## Was es kann
| | Linux | Windows |
|---|---|---|
| Passwort leeren (blank) | ✅ | ✅ |
| Neues Passwort setzen | ✅ (SHA-512) | ❌ siehe Hinweis |
| Konto entsperren | ✅ | ✅ |
| Zu Admin machen | — | ✅ |
**Hinweis Windows:** Ein *neues* Passwort direkt in die SAM zu schreiben ist auf
modernen Windows-Versionen unzuverlässig (SYSKEY / geänderte Hash-Formate).
Verlässlicher Weg: **Passwort leeren**, anmelden, in Windows neu vergeben.
## Grenzen (bewusst)
Verschlüsselte Datenträger (**BitLocker**, **LUKS**) bleiben geschützt — das Tool
kann die Verschlüsselung nicht umgehen. Ohne den jeweiligen Schlüssel/Recovery-Key
ist die Partition nicht les- oder schreibbar.
## Bedienung
1. ISO auf USB-Stick schreiben (siehe unten) und Zielrechner davon booten.
2. Das Live-System startet automatisch in die GUI.
3. Partition wählen → **Öffnen / Mounten** → erkannte Konten erscheinen.
4. Konto wählen → gewünschte Aktion. Vor dem Beenden hängt das Tool alles sauber aus.
## ISO bauen
Einzige Voraussetzung auf dem Build-Host: **Docker**. Sonst muss nichts
installiert sein — `live-build` und alle Werkzeuge laufen im Container.
```bash
./build.sh
# Ergebnis: ./out/pc-unlocker.iso
```
Auf USB-Stick schreiben:
```bash
sudo dd if=out/pc-unlocker.iso of=/dev/sdX bs=4M status=progress conv=fsync
```
> Der Container läuft mit `--privileged`, weil `live-build` Loop-Devices und
> Mounts benötigt.
## App direkt testen (ohne ISO)
Auf einem Linux-Host mit `python3-tk`, `chntpw`, `ntfs-3g`:
```bash
sudo python3 app/pc_unlocker.py
```
## Projektstruktur
```
app/pc_unlocker.py GUI (tkinter)
app/puk/disks.py Datenträger auflisten/mounten
app/puk/linux.py /etc/shadow bearbeiten
app/puk/windows.py SAM via chntpw bearbeiten
config/ live-build Paketlisten + Autostart-Hook
build/Dockerfile Build-Container (Debian + live-build)
build/build-iso.sh Build-Logik im Container
build.sh Host-Einstieg: Docker bauen + ISO erzeugen
```
## Rechtlicher Hinweis
Nur auf Systemen einsetzen, die dir gehören oder für die du ausdrücklich
autorisiert bist. Der unbefugte Zugriff auf fremde Computer ist strafbar.