Jason_liu

导航

C# 程序加壳

转自 http://www.lwolf.cn/blog/article/code/csharp-shell%20.htm

 最近上网找了下给C#程序加壳的方法,找到了一些方法,自己试了一下,感觉还挺不错的。以下是在网上找到的,在这里整理一下,以后要用到的时候也方便。
     1.反射加壳
      新建一个CMD项目,复制程序到项目文件中,并设置成为“嵌入式资源”。

程序代码 程序代码
      Stream sr = Assembly.GetExecutingAssembly().GetManifestResourceStream("命名空间.程序.exe");
    byte[] fileBytes = new byte[sr.Length];
    sr.Read(fileBytes, 0, (int)sr.Length -1);
    Assembly assembly = Assembly.Load(fileBytes);
    MethodInfo mi = assembly.EntryPoint;
    mi.Invoke(null, null);


      编译运行这个后,再用Reflector查看就看不到源代码。不过还是可以用反射脱壳破解的,这个我就不太懂了

      2.使用Sixxpack
       这是个给.net程序加壳并压缩的工具,压缩比最大可达80%,压缩完之后就编译不出源文件了。用Reflector查看的话都是actmp.dll的信息。不过最近看cnblogs里有人给出了破解这个的方法,有兴趣的可以去找找看。
      找关天没找到官网地址,网上找的都是2.2汉化版,也不知道是不是最新的,下载地址:http://dl.onlinedown.net/soft/56183.htm

    把这两种方法结合起来使用还是挺有意思的,起码增加了别人破解的难度~~~呵呵 

posted on 2012-07-30 21:19  Jason_liu  阅读(16213)  评论(1编辑  收藏  举报