首页
社区
课程
招聘
[求助]字符串加解密
发表于: 2013-12-17 14:38 3413

[求助]字符串加解密

2013-12-17 14:38
3413
最近在反编译一款.NET程序,其配置文件(也可理解为授权文件)中的字符串为加密的.经反编译后,发现
1.字符串加密涵数EncryptDES如下:
public static string EncryptDES(string encryptString, string encryptKey)
{
    MemoryStream stream;
    CryptoStream stream2;
    byte[] bytes = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
    byte[] rgbIV = xbd492d4fc8202882;
    byte[] buffer = Encoding.UTF8.GetBytes(encryptString);
    do
    {
        DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
        stream = new MemoryStream();
        stream2 = new CryptoStream(stream, provider.CreateEncryptor(bytes, rgbIV), CryptoStreamMode.Write);
    }
    while (0x7fffffff == 0);
    stream2.Write(buffer, 0, buffer.Length);
    stream2.FlushFinalBlock();
    return Convert.ToBase64String(stream.ToArray());
}
2.字符串解密涵数DecryptDES如下:
public static string DecryptDES(string decryptString, string decryptKey)
{
    string str;
    try
    {
        byte[] buffer2;
        byte[] buffer3;
        DESCryptoServiceProvider provider;
        MemoryStream stream;
        byte[] bytes = Encoding.UTF8.GetBytes(decryptKey.Substring(0, 8));
        if (-2 != 0)
        {
            goto Label_0067;
        }
    Label_001C:
        do
        {
            stream = new MemoryStream();
        }
        while (0 != 0);
        CryptoStream stream2 = new CryptoStream(stream, provider.CreateDecryptor(bytes, buffer2), CryptoStreamMode.Write);
        stream2.Write(buffer3, 0, buffer3.Length);
        stream2.FlushFinalBlock();
        str = Encoding.UTF8.GetString(stream.ToArray());
        if (0xff != 0)
        {
            return str;
        }
    Label_0067:
        buffer2 = xbd492d4fc8202882;
        buffer3 = Convert.FromBase64String(decryptString);
        provider = new DESCryptoServiceProvider();
        goto Label_001C;
    }
    catch
    {
        str = decryptString;
    }
    return str;
}

3.读取配置文件中字符串的涵数如下:
public bool GetSoftConfig(ref string dwName, ref string dwCode, ref double minx, ref double maxx, ref double miny, ref double maxy)
{
    bool flag;
    try
    {
        XmlDocument document;
        string str;
        XmlElement element;
        bool flag2 = File.Exists(this.xbece5211ea7dc225);
        goto Label_0156;
    Label_0014:
        if (2 == 0)
        {
            goto Label_0040;
        }
        flag = true;
        if (1 == 0)
        {
            goto Label_00DF;
        }
        return flag;
    Label_002C:
        if ((((uint) flag) & 0) != 0)
        {
            goto Label_00BB;
        }
    Label_0040:
        element = (XmlElement) document.SelectSingleNode("RSC/YMin");
        miny = double.Parse(StringOperate.DecryptDES(element.InnerText, str));
        element = (XmlElement) document.SelectSingleNode("RSC/YMax");
        maxy = double.Parse(StringOperate.DecryptDES(element.InnerText, str));
        if (((uint) flag) >= 0)
        {
            goto Label_0014;
        }
    Label_009C:
        element = (XmlElement) document.SelectSingleNode("RSC/CODE");
        dwCode = StringOperate.DecryptDES(element.InnerText, str);
    Label_00BB:
        element = (XmlElement) document.SelectSingleNode("RSC/XMin");
        minx = double.Parse(StringOperate.DecryptDES(element.InnerText, str));
    Label_00DF:
        element = (XmlElement) document.SelectSingleNode("RSC/XMax");
        maxx = double.Parse(StringOperate.DecryptDES(element.InnerText, str));
        goto Label_002C;
    Label_0110:
        document = new XmlDocument();
        document.Load(this.xbece5211ea7dc225);
        str = "";
        str = "&_e@dD(7";
        element = (XmlElement) document.SelectSingleNode("RSC/NAME");
        dwName = StringOperate.DecryptDES(element.InnerText, str);
        goto Label_009C;
    Label_0156:
        if (!flag2)
        {
            return false;
        }
        goto Label_0110;
    }
    catch
    {
        flag = false;
    }
    return flag;
}
由于我对.NET和 C#一点不懂,求助各位高手大虾,能否根据上面提供的信息,搞一个针对该程序结构的字符串加解密的东东.谢谢!
另密文格式:
<YMax>8mugAHINQHLROK+L9P3PNDjLd/lpg+c4</YMax>
<NAME>pfLibu2hWPmEZNtm6DfCig==</NAME>

能提有效加解密工具的,奖100Kx

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费
支持
分享
最新回复 (1)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
字符串加密是好东西。 恶心人的法宝。
2013-12-17 14:50
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册