- Home page http://www.ghisler.com/
- Домашнаяя http://wincmd.ru/
- SamLab Powerpack http://samlab.ws/soft/tcpp/ скачать TurboBIT
Локализация настроек
Модификация ярлыка TC для использования локального профиля TC и профиля плагина FTP в профиле пользователя:
1 |
"C:\Program Files\Total Commander\Totalcmd.exe" "/i=%UserProfile%\wincmd.ini" "/F=%UserProfile%\wcx_ftp.ini" |
Копирование ini-файлов с профилем TC и FTP:
1 |
copy "c:\Program Files\Total Commander\wincmd.ini" %UserProfile% |
1 |
copy "c:\Program Files\Total Commander\wcx_ftp.ini" %UserProfile% |
Следует учитывать имена папок в системах x64 и использовать переменные:
- %ProgramFiles%
- %ProgramFiles(x86)%
- %UserProfile%
Плагины
- NTFS Links 1.30 позволяет создавать жёсткие и символические ссылки на NTFS-разделах
Вид
Ширина колонок
Исправленное определение ширины колонок необходимо внести в wincmd.ini
1 2 3 4 5 6 7 8 9 10 |
... [Tabstops] 0=191 1=194 3=257 4=123 6=585 5=93 AdjustWidth=1 ... |
Фичи
Пароли FTP
Настройки соединений FTP, включая сохраненные пароли, по умолчанию размещаются в одном из файлов:
- C:\Program Files\TotalCmd\wcx_ftp.ini
- C:\Program Files (x86)\Total Commander\wcx_ftp.ini
- C:\Users\Your Username\AppData\Roaming\Ghisler\wcx_ftp.ini
Сохраненный пароль хранится в закодированном значении:
1 |
password=B4DB8CDB1AFFFF5DBE5112CE3D |
Алгоритм декодирования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
// Total Commander FTP Password Recovery Algorithm // Bartosz Wójcik // https://www.pelock.com class TotalCommanderPasswordDecoder { private int $random_seed = 0; public static function hexstr2bytearray($str) { if (!is_string($str)) return false; $result = []; $len = strlen($str); if ($len == 0 || ($len & 1) != 0) { return false; } for ($i = 0; $i < $len; $i += 2) { $result[] = ( hexdec($str[$i]) << 4 ) | hexdec($str[$i + 1]); } return $result; } // initialize random generator with specified seed public function srand($seed) { $this->random_seed = $seed; } // generate pseudo-random number from the specified seed public function rand_max($nMax) { // cut numbers to 32 bit values (important) $this->random_seed = (( ($this->random_seed * 0x8088405) & 0xFFFFFFFF) + 1) & 0xFFFFFFFF; return ($this->random_seed * $nMax) >> 32; } // rotate bits left public static function rol8($var, $counter) { return (($var << $counter) | ($var >> (8 - $counter))) & 0xFF; } // decrypt Total Commander FTP password public function decryptPassword($password) { // convert hex string to array of integers $password_hex = static::hexstr2bytearray($password); // if the conversion failed - exit if (!$password_hex) return false; // number of converted bytes $password_length = count($password_hex); // length includes checksum at the end if ($password_length <= 4) { return false; } // minus checksum $password_length -= 4; $this->srand(849521); for ($i = 0; $i < $password_length; $i++) { $password_hex[ $i ] = static::rol8($password_hex[ $i ], $this->rand_max(8)); } $this->srand(12345); for ($i = 0; $i < 256; $i++) { $x = $this->rand_max($password_length); $y = $this->rand_max($password_length); $c = $password_hex[ $x ]; $password_hex[ $x ] = $password_hex[ $y ]; $password_hex[ $y ] = $c; } $this->srand(42340); for($i = 0; $i < $password_length; $i++) { $password_hex[ $i ] ^= $this->rand_max(256); } $this->srand(54321); for ($i = 0; $i < $password_length; $i++) { $password_hex[ $i ] = ($password_hex[ $i ] - $this->rand_max(256)) & 0xFF; } // build final password $decoded_password = ""; for($i = 0; $i < $password_length; $i++) { $decoded_password .= chr($password_hex[ $i ]); } return $decoded_password; } } |
Источники