Project

General

Profile

Blowfish » History » Revision 77

Revision 76 (Per Amundsen, 10/15/2020 07:02 AM) → Revision 77/89 (Per Amundsen, 10/15/2020 07:02 AM)

{{>toc}} 

 h1. Blowfish Encryption 

 This is a recompile of https://github.com/flakes/mirc_fish_10 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":https://github.com/AdiIRC/apiv2 instead of a script. 

 _Thanks to ParAd0x for creating this project._ 

 _Compiled with OpenSSL-1.1.1h and OpenSSL-1_0_2o binaries from http://slproweb.com/_ 

 h2. How to install 

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

 Step 1. Make sure the latest version of visual c++ is installed, it can be downloaded from here https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads.* 
 Step 2. Download the attached blowfish64.zip/blowfish32.zip. (Cliok on the *Files* link at the bottom) 
 Step 3. Unpack blowfish64.zip/blowfish32.zip into [[$adiircdir]]\Scripts\ 
 Step 4. Type [[/load|//load]] -rs [[$qt]]([[$adiircdir]]\Scripts\fish_10.ini) and say yes to the popup dialog, if any. 

 h2. 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 Control|Editbox]]: 

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

 The option should be saved across sessions. 

 h2. Script Changes 

 10/15/2020 

 Updated the mirc fish revision to "727aacb":https://github.com/flakes/mirc_fish_10/commit/727aacb1833ccb3fb93373145a278e3209c5210c 
 The OpenSSL 1.1.X version is now the default and recommended version. 

 Thanks to maroon for the following changes: 

 Fixed consecutive and leading spaces doesn't work. 
 Fixed when sending messages, the local /echo should use $target. 
 Fixed larger than 56 bytes keys should show a error. 
 Fixed keys with spaces should be ignored and show a error. 

 01/18/2020 

 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". 

 01/17/2020 

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

 10/26/2019 

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

 10/06/2019 

 Added experimental builds using openssl v1.1.1d and the latest "fish_10 source":https://github.com/flakes/mirc_fish_10. 

 11/23/2018 

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

 04/28/2018 

 Fixed topic is not decrypted properly in some cases. 

 04/16/2018 

 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. 

 03/31/2018 

 Recompiled with openssl v1.0.2o. 
 Updated the mirc fish revision to "93aa016":https://github.com/flakes/mirc_fish_10/commit/93aa016734089a53c9e8df290e131950863b1885. 
 Fixed an issue where the dll was being unloaded and the keys were missing. 

 07/17/2017 

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

 03/15/2017 

 Fixed 32 bit was not compiled correctly. 

 02/05/2017 

 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. 

 08/28/2016 

 Fixed some path issues. 

 03/03/2016 

 Fixed decrypt topics for topicbox/channel editor. 

 02/05/2016 

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

 10/17/2015 

 Updated the mirc fish revision to "306a9e":https://github.com/flakes/mirc_fish_10/commit/306a9eb60da1e19f14f55f0882a42039ef697a51 
 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. 

 03/10/2015 

 Fixed an issue with sending encrypted text on some networks. 

 02/11/2015 

 Added [[$ctrlenter]] check when typing /commands. 

 02/02/2015 

 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. 

 h2. Troubleshoot 

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

 h2. OpenSSL 1.1.X Files 

 https://adiirc.com/blowfish/blowfish32_1.1.zip 
 https://adiirc.com/blowfish/blowfish64_1.1.zip 

 https://adiirc.com/blowfish/blowfish32_1.1_source 
 https://adiirc.com/blowfish/blowfish64_1.1_source 

 h2. OpenSSL 1.0.X Files 

 https://adiirc.com/blowfish/blowfish32.zip 
 https://adiirc.com/blowfish/blowfish64.zip 

 https://adiirc.com/blowfish/blowfish32_source.zip 
 https://adiirc.com/blowfish/blowfish64_source.zip