吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8081|回复: 61
收起左侧

[原创工具] 也发一个自己写的加密通信软件

  [复制链接]
tgguan 发表于 2021-3-24 14:47
本帖最后由 tgguan 于 2021-3-24 16:16 编辑

看见前几天https://www.52pojie.cn/thread-1394307-1-3.html 这里有个加密通信的软件,想起我原来也做过一个,分享给大家。【PS,底部还有一个图片切切切工具,太小了,就不重开帖浪费资源了】

第一次运行会询问是否添加开机启动:
image.png
如果经常使用建议开机启动。不需要管理员权限。


平时默认是一个假装成时钟的东西
image.png
image.png
点击时间进行加密或解密,第一次使用需设定PIN码
image.png
点击分钟可以进行PIN码设置【不要介意标题,这是我原来一个软件里独立出来的小小模块,没有改UI】:
image.png
PIN码可以任意设置,比如只设置第4位,设置完当场生效,不需要确定,直接×掉窗口即可。

为什么要设置一个PIN码,问题就是在于,如果你在一个群聊里,出现了一个叛徒,他把这个软件给IT管理员,进行逆向后,可以任意解密你的通信。
而设置PIN码后,就没有办法简单的通过逆向进行破解
而且如果怀疑有人向其他人透露PIN码,可以及时更换PIN码进行通信。


加密解密方法:
设置好PIN码后,将要加密或解密的内容复制到粘贴板,然后点击“小时”的数字就可以进行加密或解密。

软件检测到是密文就解密,否则就加密。

image.png
加密后的密文:
i/nkp5vNY4PAJNK0fNL+Kk5IlYnFo2F0QgNOtP3qX5Om3K5mZjPH9hZsG3SoLAxF53fqrTzoBtRcdfcFE3/hJA==

解密后的结果:【PIN码为123456】
image.png
解密结果将自动进入粘贴板,可以粘贴到其他地方或者重新加密

项目久远,源码找不到了,核心加密代码我贴在下面供参考。
软件下载:
MiniBox.rar (290.6 KB, 下载次数: 98)

[C#] 纯文本查看 复制代码
#region 解密解密模块
        string encryptStr, decryptStr;
        static string K1 = "rqooys";
        public static string K2 = "0";
        static string K3 = "u";
        public static string K4 = "0";
        static string K5 = "reuldwh";
        public static string K6 = "0";
        static string K7 = "rlkpfprqlhu";
        public static string K8 = "0";
        static string K9 = "f";
        public static string K10 = "0";
        public static string K11 = "0";
        static string Keyend = "";
        
        public static string key()
        {
            Keyend = K1 + K2 + K3 + K4 + K5 + K6 + K7 + K8 + K9 + K10 + K11;
            
            return Keyend;
            

        }
        
        /// <summary>
        /// AES加密
        /// </summary>
        /// <param name="encryptStr">明文</param>
        /// <param name="key">密钥</param>
        /// <returns></returns>
        public static string Encrypt(string encryptStr, string Keyend)
        {

            key();

            byte[] keyArray = UTF8Encoding.UTF8.GetBytes(Keyend);
            byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(encryptStr);
            RijndaelManaged rDel = new RijndaelManaged();
            rDel.Key = keyArray;
            rDel.Mode = CipherMode.ECB;
            rDel.Padding = PaddingMode.PKCS7;
            ICryptoTransform cTransform = rDel.CreateEncryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            return Convert.ToBase64String(resultArray, 0, resultArray.Length);
        }
        /// <summary>
        /// AES解密
        /// </summary>
        /// <param name="decryptStr">密文</param>
        /// <param name="key">密钥</param>
        /// <returns></returns>
        public static string Decrypt(string decryptStr, string Keyend)
        {
            key();

            byte[] keyArray = UTF8Encoding.UTF8.GetBytes(Keyend);
            byte[] toEncryptArray = Convert.FromBase64String(decryptStr);
            RijndaelManaged rDel = new RijndaelManaged();
            rDel.Key = keyArray;
            rDel.Mode = CipherMode.ECB;
            rDel.Padding = PaddingMode.PKCS7;
            ICryptoTransform cTransform = rDel.CreateDecryptor();
            byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
            return UTF8Encoding.UTF8.GetString(resultArray);
        }

        #endregion


[C#] 纯文本查看 复制代码
private void JiaMiJieMi_Click(object sender, EventArgs e)
        {
            if (Convert.ToDouble(K2 + K4 + K6 + K8 + K10 + K11) != 0)
            {
                string temp = "";
                string temp2 = "";
                string M = "";
                // Create a new instance of the DataObject interface. 
                IDataObject data = Clipboard.GetDataObject();
                // If the data is text, then set the text of the TextBox to the text in the Clipboard. 
                if (data.GetDataPresent(DataFormats.Text))
                {
                    string str = data.GetData(DataFormats.Text).ToString();
                    string a = @"@(\S+)\s";
                    Regex r = new Regex(a);
                    Match m = r.Match(str);
                    if (m.Success)
                    {
                        M = m.ToString();
                        //string str1, str2;
                        //str1 = str.Substring(0, m.Index);
                        //str2 = str.Substring(m.Index + a.Length, str.Length - a.Length - m.Index);
                        //temp=str1 + str2;
                        //MessageBox.Show(str1);
                        //MessageBox.Show(str2);
                        temp = Regex.Replace(str, a, string.Empty, RegexOptions.Compiled);

                    }
                    else
                    {
                        temp = str;

                    }

                }
                if (temp != string.Empty)
                {
                    try
                    {
                        decryptStr = Decrypt(temp, Keyend);
                        temp2 = M + decryptStr;
                        MessageBox.Show(temp2);
                        Clipboard.SetDataObject(temp2);



                    }
                    catch (Exception)
                    {
                        //MessageBox.Show("密文出错,请检查!", "错误");
                        decryptStr = temp;
                        encryptStr = Encrypt(decryptStr, Keyend);
                        temp2 = M + encryptStr;
                        Clipboard.SetDataObject(temp2);
                        MessageBox.Show("加密完成,请到聊天框粘贴!");
                    }

                }
                else
                {
                    MessageBox.Show("粘贴板空白,请先复制明文或密文后重新尝试!");
                }
            }
            else
            {
                MessageBox.Show("尚未设置私密PIN码,助手无法完美保护您的通信安全,请先设置PIN码");
            }           
        }

另外我独立之前是可以设置多个PIN码的,源码丢了,不修复了。
——————————————————————分割线——————————————————
图片切切乐

唯一的作用就是将选中的图片,宽度不变,高度按照等比切成几份。
这玩意是之前用Outlook的时候,因为Outlook对邮件正文的图片有高度限制,导致超长图片显示不完整,所以就这样切了。
如果需要更详细的切图,我见论坛里有大佬发过,可以用那个,如果只是邮件里用的话,我这个更方便一点。

image.png
切切切.zip (4.66 KB, 下载次数: 12)

免费评分

参与人数 16吾爱币 +19 热心值 +14 收起 理由
yc32323 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wang_no1 + 1 + 1 热心回复!
蓦然回首 + 1 我很赞同!
L_chen + 1 谢谢@Thanks!
SKYCAT0213 + 1 谢谢@Thanks!
66099 + 1 用心讨论,共获提升!
coolu + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
v12345676 + 1 谢谢@Thanks!
Vardven + 1 谢谢@Thanks!
bianyichong + 1 + 1 我很赞同!
charlieb1 + 1 + 1 我很赞同!
chaosjr + 1 + 1 鼓励转贴优秀软件安全工具和文档!
WZLAILXH + 1 用心讨论,共获提升!
林林林平 + 1 + 1 我很赞同!
SSHZDR + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

红蓝黄 发表于 2021-3-24 14:57
感谢分享
 楼主| tgguan 发表于 2021-3-24 17:59
莫丶小白 发表于 2021-3-24 17:32
电脑直接锁上不就完事了嘛,还需要用这个锁啥呢》呃。。。不理解

防止被第三方截胡,比如公司网管、安全行为控制软件、公司内部聊天服务器等等
Rx0 发表于 2021-3-24 14:57
HairtailC 发表于 2021-3-24 15:08
感谢分享,虽然一般不用
Jouleken 发表于 2021-3-24 15:09
厉害,感谢分享!
SSHZDR 发表于 2021-3-24 15:14

感谢分享,虽然一般不用
吴磊 发表于 2021-3-24 15:15
用不上 但谢
xiaox1989 发表于 2021-3-24 15:16
感谢你的分享
沃夫靠斯 发表于 2021-3-24 15:19
这个不错,可以用来那个了
52changew 发表于 2021-3-24 15:26
这个工具主要用在什么方面; 比如......;   难道聊天的时候用这个加密???  没有想到用在什么地方,,
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 19:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表