Decrypt your mIRC FiSH-encrypted messages with ease! FiSH uses Blowfish encryption for secure IRC chat. This repo provides Python and HTML/JS versions for quick decryption.
Use these tools to:
- 🔓 Decrypt ECB messages (
+OK <ciphertext>) - 🔑 Decrypt CBC messages (
+OK *<ciphertext>) - 🧩 Decode the custom FiSH Base64 format used in ECB messages
- 📄 Recover plaintext from mIRC logs or encrypted key files
Perfect for recovering old logs, auditing mIRC encryption, or learning Blowfish in practice.
| File | Description |
|---|---|
fish-decryptor.py |
Python script for batch decrypting text files. Supports ECB and CBC modes. Outputs to decrypted.txt. |
fish-decryptor.html |
Client-side HTML/JS tool. Paste encrypted messages, enter your key, and get decrypted output instantly. |
generate_test_blow_data.py |
Python script to generate Blowfish encrypted data for testing. |
-
Ensure Python 3 is installed.
-
Install dependencies:
pip install pycryptodome -
Set your key in
fish-decryptor.py:raw_key = "your-blowfish-key" -
Place encrypted lines in
encrypted.txt. -
Run:
python fish-decryptor.py -
✅ Decrypted lines appear in
decrypted.txt.
- Open
fish-decryptor.htmlin Chrome / Firefox / Edge. - Enter your Blowfish key (prefix
cbc:removed automatically if needed). - Paste encrypted messages in Encrypted Input.
- Click Decrypt → see plaintext in Decrypted Output.
- 🔍 Stats show decrypted, unchanged, and error lines.
- ECB Mode:
+OK <ciphertext>→ uses FiSH custom Base64. - CBC Mode:
+OK *<ciphertext>→ standard Base64 with 8-byte IV prepended. - UTF-8 Keys: Keys must match original encoding.
- Padding: CBC = PKCS#7, ECB = zero padding (
\x00).
💡 Tip: If your messages start with +OK *, they are CBC-encrypted. If +OK only, they are ECB-encrypted.
