Blowfish Encryption

This is a recompile of to make it work on 64 bit windows and to work with AdiIRC, source code is attached.

Since this is made to inject itself into the mIRC's underlying sockets and AdiIRC is a completely different program, all events must be scripted to use the fish functions from the dll, some events is already added in the attached script, feel free to add more as needed.

A proper plugin will probably be added at some point using the AdiIRC API V2 instead of a script.

Thanks to ParAd0x for creating this project.

Compiled with OpenSSL-1_0_2o binaries from

The openssl v1.1 experimental version requires the latest version of visual c++ which can be downloaded from here

How to install

Use blowfish64 on 64 bits version of AdiIRC, otherwise 32 bits (type //echo -ag $bits to verify).

Step 1. Download the attached (Cliok on the Files link at the bottom)
Step 2. Unpack into $adiircdir\Scripts\
Step 3. Type //load -rs $qt($adiircdir\Scripts\fish_10.ini) and say yes to the popup dialog, if any.

Larger than 56 byte keys

To disable the max key length check and allow longer than 56 byte keys, run this command in the Editbox:

//dll $qt($adiircdir\Scripts\fish_10.dll) INI_SetBool enforce_max_key_length 0

The option should be saved across sessions.

Script Changes


Fixed consecutive spaces should be allowed when sending encrypted messages.
Fixed "Crypt Mark" should be removed from incoming plain text messages.
Fixed outgoing messages should not embed the "Crypt Mark".


Fixed "Crypt Mark" menu shows "Prefix" by default even though it's disabled.
Fixed an issue with uneven parentheses in the fish script.


Fixed 32 bit 1.1 openssl version was using the wrong dll.


Added experimental builds using openssl v1.1.1d and the latest fish_10 source.


Fixed %blow_ini path is wrong when running AdiIRC from the program files folder.


Fixed topic is not decrypted properly in some cases.


Added the "Your/Own" color to own messages.
Fixed your own messages should not trigger highlights.
Fixed spaces in user prefix should be replaced by fake spaces so nick column works properly.


Recompiled with openssl v1.0.2o.
Updated the mirc fish revision to 93aa016.
Fixed an issue where the dll was being unloaded and the keys were missing.


Fixed script tried to decrypt plain text emotes if the channel had a key.


Fixed 32 bit was not compiled correctly.


Encryption/decryption rewritten to use parseline event.
CBC support by default with fallback to ECB.
Cleanup of menus.
Added support for key exchange with mircryption CBC style.
Added configuration for CBC/ECB key per user/channel.

Thanks to ParAd0x for these changes.


Fixed some path issues.


Fixed decrypt topics for topicbox/channel editor.


Added mcps support (thanks Fredro)
Fixed empty key hack should retry the key (thanks Fredro)


Updated the mirc fish revision to 306a9e
Updated openssl libraries to 1.0.2d.
Fixed various brackets issues and bugs in the script.
Unicode characters should now work in the 1.9.9 AdiIRC beta.


Fixed an issue with sending encrypted text on some networks.


Added $ctrlenter check when typing /commands.


Added topic decryption and /me decryption.
Added a hack for an issue where the ini file randomly is unloaded?
Added prefixnick and nickcolor support to the message output.


If you see an error like "$dll: no such file 'C:\Program Files\AdiIRC' (line 382, fish_10.ini)" type //load -rs $qt($adiircdir\Scripts\fish_10.ini) and say yes to the popup dialog, if any.

Updated by Per Amundsen 6 months ago · 73 revisions

Also available in: PDF HTML TXT