Total Commander Odzyskanie Hasła FTP — SDK

Dekoduj hasła FTP z Total Commandera. Oficjalne pakiety dla PHP, Pythona, JavaScript (Node.js) i Rusta.

Opis

Biblioteki Total Commander FTP Password Recovery implementują ten sam algorytm dekodowania co ta strona. Każda działa offline u Ciebie na komputerze — nadaje się do dekodowania pól hex z pliku wcx_ftp.ini lub do budowy własnych narzędzi. Wejściowy hex można wklejać elastycznie (wielkość liter bez znaczenia; dozwolone odstępy między parami bajtów), co ułatwia kopiowanie z pliku .ini.

Instalacja

Pakiety znajdują się na Packagist, PyPI, npm i crates.io. Kod źródłowy jest na GitHubie.

Język Instalacja Paczka Źródła
Język programowania PHP

Uruchom komendę:

php composer.phar require --prefer-dist pelock/total-commander-ftp-password-recovery "*"

lub dodaj do sekcji require w pliku konfiguracyjnym composer.json wpis:

"pelock/total-commander-ftp-password-recovery": "*"
Packagist GitHub
Język programowania Python pip install total-commander-ftp-password-recovery PyPI GitHub
Język programowania JavaScript

Uruchom komendę:

npm install total-commander-ftp-password-recovery

lub dodaj do sekcji dependencies w pliku konfiguracyjnym package.json wpis:

"dependencies": {
  "total-commander-ftp-password-recovery": "latest"
},

npm GitHub
Rust / Cargo

Uruchom komendę:

cargo add total-commander-ftp-password-recovery

lub dodaj wpis do sekcji [dependencies] w pliku Cargo.toml:

total-commander-ftp-password-recovery = "1"
Crates GitHub

Przykłady użycia

Dekodowanie pojedynczego ciągu hex (ciphertext)

<?php

declare(strict_types=1);

require __DIR__ . '/vendor/autoload.php';

use PELock\TotalCommanderFtpPassword\TotalCommanderPasswordDecoder;

$cipherHex = '00112233445566778899aabbccddeeff';

$decoder = new TotalCommanderPasswordDecoder();
$plain = $decoder->decryptPassword($cipherHex);

if ($plain === false) {
    throw new RuntimeException('Invalid ciphertext (bad hex, odd length, or too short).');
}

echo $plain;
echo bin2hex($plain);
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)
print(hexlify(plain).decode("ascii"))
import { Buffer } from 'node:buffer';
import { TotalCommanderPasswordDecoder } from 'total-commander-ftp-password-recovery';

const cipherHex = '00112233445566778899aabbccddeeff';

const decoder = new TotalCommanderPasswordDecoder();
const plain = decoder.decryptPassword(cipherHex);

if (plain === null) {
  throw new Error('Invalid ciphertext (bad hex, odd length, or too short).');
}

console.log(Buffer.from(plain).toString('latin1'));
console.log(Buffer.from(plain).toString('hex'));
use total_commander_ftp_password_recovery::TotalCommanderPasswordDecoder;

let cipher_hex = "00112233445566778899aabbccddeeff";

let mut decoder = TotalCommanderPasswordDecoder::new();
let plain = decoder
    .decrypt_password(cipher_hex)
    .expect("Invalid ciphertext (bad hex, odd length, or too short).");

let latin1: String = plain.iter().map(|&b| char::from(b)).collect();
println!("{latin1}");

print!("hex: ");
for b in &plain {
    print!("{b:02x}");
}
println!();

Pomocnicze narzędzia wiersza poleceń

Każdy pakiet udostępnia program tc-ftp-password-decode (np. przez vendor/bin w Composerze, skrypt pip, npx albo cargo install). Przykład:

tc-ftp-password-decode 00112233445566778899aabbccddeeff

Wymagane pakiety

Masz pytania?

Jeśli chcesz zapytać o biblioteki SDK do odzyskiwania hasła FTP w Total Commanderze albo coś jest niejasne, napisz do mnie. Z chęcią odpowiem.