首页
社区
课程
招聘
[求助]反编译混淆VB.NET程序,DES加密,求大神帮助
发表于: 2015-3-15 21:16 6959

[求助]反编译混淆VB.NET程序,DES加密,求大神帮助

2015-3-15 21:16
6959
手头一个VB.NET的网站程序,里面的金额字段数字应该是DES加密的,经过一天对程序的反混淆、反汇编、反编译,试过了各类工具各种办法也没弄清楚加密密钥...

求助大神,在知道多组密文和对应明文的情况下有没有可能暴利破解密钥?感激不尽!

以下是数字0-4对应明文和密文

0是z8QgMFpx3gk=
1是ADJkTRxpmlM=
2是jRxwDo30Vik=
3是iKReNgvwuFo=
4是99tdV/e1Zo4=

另外附上折腾了一天都没反编译成功(反编译后代码乱到无法阅读)的两个DLL

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 21
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
额,都没人理我...大家帮帮忙,指点下...急需了解这个数字的加解密方式...
2015-3-15 23:33
0
雪    币: 303
活跃值: (466)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是字符串加密了吗?
2015-3-16 13:47
0
雪    币: 102
活跃值: (142)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
我擦,这不是星宇吗。。好几年前的老程序了,当初连源码都有的,只不过后来觉得太垃圾给删了。
这个使用的是对称加密,也就是说只有公钥,而公钥是一个公有字符串,是无法被混淆的,你找到公钥就行了。
为什么你这不是悬赏啊。连个KX都不奖励
2015-3-16 13:52
0
雪    币: 21
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
是的,数据库中的金额都做了加密,看起来像是DES
2015-3-16 15:51
0
雪    币: 21
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
额,不好意思,新人不知道怎么发悬赏,发的时候我还找来着没找到......
程序名字我也不知道,大哥您还能找到源码吗?我主要是需要知道这个字符串的加密、解密方法以及密钥...在程序的skin文件夹下我倒是发现了一个Key.config,内容是

AAC2D45CB930D7872B5B5705BF88A43A823C9B68B83CE3FDEFE73C338B955DE7CEB82575A3D439F9A634B0E45E7AAC38E031A2AD11DE0737FF7C45C7A42E64B2468CA5928F8F9055AE7E77514AD0C7138D91D83396857B7870263F4CC509E266B467F3177D4D85A14C4EA216A663B06AB0751951EFC5317D7B683ECDD4206C98


但是不知道具体加密方法
2015-3-16 15:55
0
雪    币: 21
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
大哥,真没找到哪里发悬赏...送你个邀请码可以吗?麻烦帮忙分析下怎么加密的...
2015-3-16 16:26
0
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
private static TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider();

        public static string Decode(string encryptedtext, string Key)
        {
            string str;
            try
            {
                InitKeyIV(Key);
                byte[] buffer = Convert.FromBase64String(encryptedtext);
                MemoryStream stream = new MemoryStream();
                CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(), CryptoStreamMode.Write);
                stream2.Write(buffer, 0, buffer.Length);
                stream2.FlushFinalBlock();
                str = Encoding.Unicode.GetString(stream.ToArray());
            }
            catch (Exception exception1)
            {
                str = "";
            }
            return str;
        }

        private static void InitKeyIV(string key)
        {
            provider.Key = GetHash("xywap_Betting" + key, provider.KeySize / 8);
            provider.IV = GetHash("", provider.BlockSize / 8);
        }

        private static byte[] GetHash(string key, int size)
        {
            SHA1CryptoServiceProvider provider = new SHA1CryptoServiceProvider();
            byte[] bytes = Encoding.Unicode.GetBytes(key);
            return (byte[])Microsoft.VisualBasic.CompilerServices.Utils.CopyArray((Array)provider.ComputeHash(bytes), new byte[size]);
        }
2015-3-17 17:56
0
雪    币: 234
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
调用Decode(cryptStr, "money")即可解密加密字符串.
2015-3-17 17:57
0
游客
登录 | 注册 方可回帖
返回
//