zoukankan      html  css  js  c++  java
  • VS2005自带的代码混淆器

    大家都知道编译后的代码很容易被破译,那么如何保证辛辛苦苦做好的工程不被轻易破译吗?那就选用dotfuscator.exe吧
    文件在C:\Program Files\Microsoft Visual Studio 8\Application\PreEmptive Solutions\Dotfuscator Community Edition\dotfuscator.exe

    使用
    1、打开VS2005。
    2、点击dotfuscator,它会提示要求注册,可先不注册。
    3、具体设置比较简单,这里不细说了。


    原C#代码

            protected void doUpload()
            {
                try
                {
                    HttpPostedFile file = this.file1.PostedFile;
                    string fileContentType = file.ContentType; //文件类型
                    string fileExtension = System.IO.Path.GetExtension(file.FileName).ToLower(); //上传文件的扩展名
                    string F_Type = fileExtension.Substring(1, fileExtension.Length - 1);
                    string strNewPath = DateTime.Now.ToString("yyyyMMddHHmmssffff") + GetExtension(file.FileName);
                    file.SaveAs(Server.MapPath(picServer + strNewPath));
                    string FullPath = picServer + strNewPath;
                    string jsstr = "";
                    jsstr += "parent.uploadsuccess('" + FullPath + "','" + itemID + "');";

                    if (fileContentType == "image/bmp" || fileContentType == "image/gif" || fileContentType == "image/pjpeg")
                    {
                        if (add2ThumbImg.Checked == true) //设为缩略图
                        {
                                jsstr += "parent.add2ThumbImg('" + F_Type + "','" + FullPath + "');\r\n";
                                jsstr += "parent.setUploadImg('" + F_Type + "','" + FullPath + "');\r\n";

                        }

                    }
                    if (ChannelType != "Article")
                    {
                        jsstr += "parent.addDownUrl('" + ChannelType + "','" + FullPath + "');\r\n";
                    }
                    else //插入文章内容
                    {
                        jsstr += "parent.addUploadItem('" + F_Type + "','/','" + FullPath + "','300');\r\n";
                    }
                    WriteJs(jsstr);

                }
                catch
                {
                    WriteJs("parent.uploaderror();");
                }
            }


    混淆后的代码

    protected: void __gc* doUpload()
    {
        try
        {
            HttpPostedFile __gc* postedFile = this->m->PostedFile;
            String __gc* contentType = postedFile->ContentType;
            String __gc* str2 = Path::GetExtension(postedFile->FileName)->ToLower();
            String __gc* str3 = str2->Substring(1, (str2->Length - 1));
            String __gc* str4 = String::Concat(DateTime::Now->ToString(S"yyyyMMddHHmmssffff"), this->a(postedFile->FileName));
            postedFile->SaveAs(base->Server->MapPath(String::Concat(this->a, str4)));
            String __gc* str5 = String::Concat(this->a, str4);
            String __gc* str6 = S"";
            String __gc* str7 = str6;
            str6 = String::Concat(__gc new String __gc*[6] {
                str7, S"parent.uploadsuccess(\'", str5, S"\',\'", this->b, S"\');"});
            if ((((contentType == S"image/bmp") || (contentType == S"image/gif")) || (contentType == S"image/pjpeg")) && this->l->Checked)
            {
                str7 = str6;
                str7 = String::Concat(__gc new String __gc*[6] {
                    str7, S"parent.add2ThumbImg(\'", str3, S"\',\'", str5, S"\');\r\n"});
                str6 = String::Concat(__gc new String __gc*[6] {
                    str7, S"parent.setUploadImg(\'", str3, S"\',\'", str5, S"\');\r\n"});
            }
            if (this->g != S"Article")
            {
                str7 = str6;
                str6 = String::Concat(__gc new String __gc*[6] {
                    str7, S"parent.addDownUrl(\'", this->g, S"\',\'", str5, S"\');\r\n"});
            }
            else
            {
                str7 = str6;
                str6 = String::Concat(__gc new String __gc*[6] {
                    str7, S"parent.addUploadItem(\'", str3, S"\',\'/\',\'", str5, S"\',\'300\');\r\n"});
            }
            this->b(str6);
        }
        catch (Object __gc* obj1)
        {
            this->b(S"parent.uploaderror();");
        }
    }

  • 相关阅读:
    方法重载
    构造方法:(特殊方法,用来创建对象 没写就会默认有构造方法)
    java:第十二章
    java:第九章
    java:第十四章
    java:第十五章
    java:第十一章
    I/O小结
    java:第八章
    java:第六章
  • 原文地址:https://www.cnblogs.com/barney/p/1362740.html
Copyright © 2011-2022 走看看