
Strumento di recupero password FTP per Total Commander in Python che consente di decifrare le informazioni sulle password degli account FTP per tutte le versioni di Total Commander con il plug-in FTP.
Total Commander (precedentemente noto come Windows Commander) è un classico file manager per Windows, Windows CE, Windows Phone e ora anche Android.
Total Commander dispone di un client FTP/FXP integrato e conserva gli accessi FTP e le password crittografate nel file di configurazione wcx_ftp.ini.

Anni fa ho effettuato il reverse engineering e ricreato l'algoritmo di decodifica delle password.
L'ho reso disponibile a un altro software, FlashFXP, per importare i profili di connessione FTP da Total Commander.
Ti fornisco i codici sorgente sia dell'algoritmo di decodifica originale in assembly sia di un'implementazione Python di questo algoritmo.
Puoi utilizzare uno dei codici sorgente forniti oppure la mia implementazione online per velocizzare le operazioni:
https://www.pelock.com/products/total-commander-ftp-password-recovery
pip install total-commander-ftp-password-recovery
Per lo sviluppo locale da un checkout git:
pip install -e ".[dev]"
from binascii import hexlify
from total_commander_ftp_password import TotalCommanderPasswordDecoder
cipher_hex = "00112233445566778899aabbccddeeff"
decoder = TotalCommanderPasswordDecoder()
plain = decoder.decrypt_password(cipher_hex)
if plain is None:
raise RuntimeError("Invalid ciphertext (bad hex, odd length, or too short).")
print(plain) # decoded bytes
print(hexlify(plain).decode("ascii")) # optional hex view
decrypt_password() accetta input esadecimali flessibili: le maiuscole/minuscole ASCII vengono ignorate e gli spazi bianchi tra coppie di byte sono consentiti (utile quando si incolla da un file .ini).
Dopo l'installazione tramite pip, utilizza lo script da console:
tc-ftp-password-decode 00112233445566778899aabbccddeeff
Da un checkout git (dopo pip install -e .), puoi anche eseguire:
python -m total_commander_ftp_password.cli 00112233445566778899aabbccddeeff
examples/basic_usage.py — script minimo di decrittazione.pip install -e ".[dev]"
pytest
Bartosz Wójcik