total-commander-ftp-password-recovery
v1.0.1
Published
Decode Total Commander wcx_ftp.ini FTP passwords from their stored hexadecimal representation.
Maintainers
Readme
Total Commander FTP password recovery (JavaScript)
Total Commander (formerly known as ~~Windows Commander~~) is a classic file manager for Windows, Windows CE, Windows Phone, and now also Android.
Total Commander has a built-in FTP/FXP client and it keeps the FTP logins and encrypted passwords in wcx_ftp.ini configuration file.

I have reverse engineered and recreated the password decoding algorithm years ago.
It was made available by me to another FlashFXP software to import FTP connection profiles from Total Commander.
I give you source codes for both the original assembly decoding algorithm and a JavaScript implementation of this algorithm.
Total Commander Online Password Decoder
You can either use one of the provided source codes or use my own online implementation to make things faster:
https://www.pelock.com/products/total-commander-ftp-password-recovery
Requirements
- Node.js 18+ (LTS recommended).
- npm (or another package manager) to install the library.
Installation
npm install total-commander-ftp-password-recoveryUsage (library)
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).');
}
// Decoded bytes as Uint8Array; in Node you can view as Latin-1 or hex:
console.log(Buffer.from(plain).toString('latin1'));
console.log(Buffer.from(plain).toString('hex'));decryptPassword() accepts flexible hex input: ASCII case is ignored and whitespace between byte pairs is allowed (useful when pasting from an .ini file).
CLI
After installation, the package exposes a small helper binary:
npx tc-ftp-password-decode 00112233445566778899aabbccddeeffFrom a git checkout (without a global install), run:
node bin/tc-ftp-password-decode 00112233445566778899aabbccddeeffExamples
examples/basic-usage.mjs— minimal decrypt script.
Tests
npm install
npm testReferences
- Total Commander FTP Password Recovery (article / online tool)
- Source code recovery / reverse engineering services
Author
Bartosz Wójcik
- Visit my site at — https://www.pelock.com
- X — https://x.com/PELock
- GitHub — https://github.com/PELock
