首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

.net反编译后发现代码混淆了

2013-03-13 
.net反编译后发现代码混淆了,求助本帖最后由 wjp16351 于 2013-02-28 17:56:42 编辑一个dll文件,通过Refle

.net反编译后发现代码混淆了,求助
本帖最后由 wjp16351 于 2013-02-28 17:56:42 编辑 一个dll文件,通过Reflector反编译后 发现代码混淆了,具体反编译后的代码如下:


 public class GetS
    {
        private static int AA85qUeMJ7LBM)FlQDDEclAD9AtZ(int num1, string text1)
        {
            text1 = text1.ToLower();
            IList<StatStructure> CS$1$0000 = WebsiteConfig.AFZk3du(num1);
            if ((CS$1$0000 != null) && (CS$1$0000.Count > 0))
            {
                foreach (StatStructure structure in CS$1$0000)
                {
                    if (structure.Type == 1)
                    {
                        string[] strArray = structure.Rule.Split(new char[] { ';', 0xff1b }, StringSplitOptions.RemoveEmptyEntries);
                        foreach (string str in strArray)
                        {
                            if (text1.IndexOf(str.ToLower().Trim()) > -1)
                            {
                                return structure.id;
                            }
                            if (((str.IndexOf(A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("XgA=")) == 0) && (str.LastIndexOf(A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("JAA=")) == str.Length)) && (new Regex(str.Trim(), RegexOptions.IgnoreCase).Matches(text1).Count > 0))
                            {
                                return structure.id;
                            }


                        }
                    }
                }
            }
            return 0;
        }

        private static int ABVaqkgK(int num1, string text1)
        {
            text1 = text1.ToLower();
            IList<StatStructure> CS$1$0000 = WebsiteConfig.AFZk3du(num1);
            if ((CS$1$0000 != null) && (CS$1$0000.Count > 0))
            {
                foreach (StatStructure structure in CS$1$0000)
                {
                    if (structure.Type == 0)
                    {
                        string[] strArray = structure.Rule.Split(new char[] { ';', 0xff1b }, StringSplitOptions.RemoveEmptyEntries);
                        foreach (string str in strArray)
                        {
                            if (text1.IndexOf(str.ToLower().Trim()) > -1)
                            {
                                return structure.id;
                            }
                            if (((str.IndexOf(A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("XgA=")) == 0) && (str.LastIndexOf(A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("JAA=")) == (str.Length - 1))) && (new Regex(str.Trim(), RegexOptions.IgnoreCase).Matches(text1).Count > 0))
                            {
                                return structure.id;


                            }
                        }
                    }
                }
            }
            return 0;
        }

        private static string ACZ9()
        {
            if ((HttpContext.Current.Request.QueryString[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("cgBlAGYAZQByAGUAcgA=")] != null) && (HttpContext.Current.Request.QueryString[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("cgBlAGYAZQByAGUAcgA=")].Length > 0))
            {
                return HttpContext.Current.Request.QueryString[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("cgBlAGYAZQByAGUAcgA=")].ToLower().Trim();
            }
            if ((HttpContext.Current.Request.QueryString[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("SgBzAGwAbwBjAGEAdABpAG8AbgA=")] != null) && (HttpContext.Current.Request.QueryString[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("SgBzAGwAbwBjAGEAdABpAG8AbgA=")].ToLower() == A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("dAByAHUAZQA=")))
            {
                return A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("SgBTAPONbI91mGKXGv/gZdVsl1/ld3dRU09lZ5Bu");
            }
            return "";
        }

        private static string ADZpe()
        {
            if (HttpContext.Current.Request.QueryString[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("bABvAGMAYQB0AGkAbwBuAA==")] != null)
            {
                return HttpContext.Current.Request.QueryString[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("bABvAGMAYQB0AGkAbwBuAA==")].ToLower().Trim();
            }
            if (HttpContext.Current.Request.ServerVariables[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("SABUAFQAUABfAFIARQBGAEUAUgBFAFIA")] != null)
            {
                return HttpContext.Current.Request.ServerVariables[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("SABUAFQAUABfAFIARQBGAEUAUgBFAFIA")].ToLower().Trim();
            }


            return "";
        }

        private string AEEJOXG(string text1)
        {
            string CS$1$0000 = A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("MAA=");
            Process process = new Process();
            process.StartInfo.FileName = A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("bgBiAHQAcwB0AGEAdAA=");
            process.StartInfo.Arguments = A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("LQBhACAA") + text1;
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.CreateNoWindow = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.Start();
            string str = process.StandardOutput.ReadToEnd();
            int index = str.IndexOf(A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("TQBBAEMAIABBAGQAZAByAGUAcwBzACAAPQA="));
            if (index > 0)
            {
                CS$1$0000 = str.Substring(index + 14, 0x11);
            }
            HttpContext.Current.Response.Cookies[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("TQBhAGMA")].Value = CS$1$0000;
            HttpContext.Current.Response.Cookies[A06LxsBj0VQKH.AA85qUeMJ7LBM)FlQDDEclAD9AtZ.AGaa("TQBhAGMA")].Expires = DateTime.Now.AddMonths(1);
            return CS$1$0000;
        }





不知道这个是用什么工具混淆的,能否反混淆!! 谢谢 .net 混淆 反编译
[解决办法]
混淆的不严重,只是把函数名字和部分变量名字混淆了,很好翻译过来
[解决办法]
呃,混淆的很少有反混淆的,混淆就是把原来自己设置的有含义或无含义的属性方法修改成随机的,他又不明白人的意思,反混淆跟混淆差不多,就是反混淆产生的字段简单点。你查找替换下不就行了
[解决办法]
你觉得什么变量名(或者方法名)合适就替换一下呗。大不了先随便给个大概的命名,然后以后有新的想法再替换。

比如说我在编译前把变量 rule 一律替换为 a88s77ss,你还要怎么“读”?

动动你的脑就迎刃而解了,不要幼稚地“反混淆”。

热点排行