zoukankan      html  css  js  c++  java
  • 为使用Sixxpack加壳的.net程序脱壳

    今天看到一个程序,用万能的reflector 看了一下,竟然只有一个actmp.dll ,如何谷歌了一下,发现是用的一款叫Sixxpack进行了压缩和加壳

    网上有人说非常安全,那个寒...

    说一下脱壳的过程

    一、用reflector 直接输出项目

    二、打开项目,编译,会有一些类型的小错误,修正一下

    三、修改一行代码

       Stream stream2 = new FileStream(Application.ExecutablePath.Substring(Application.ExecutablePath.LastIndexOf('\\') + 1), FileMode.Open, FileAccess.Read);

      改成:

      Stream stream2 = new FileStream(@"c:\hhh.exe", FileMode.Open, FileAccess.Read);  //这个路径指的是那个被加壳的程序

    四、加一行代码 

      在这行之前:Assembly assembly = Assembly.Load(compressor.Decompress(inStream));

      加上:System.IO.File.WriteAllBytes(@"c:\test.exe", compressor.Decompress(inStream));要不要retrun,自己看着办

    五、c:\test.exe 就是被脱壳的程序了。

    结论:

    1、该种方法就是将原程序写在固定程序的尾部,加了之后,是不会影响固定程序的运行的,好像N多年前搞VB的时候,玩过这种方法,包括现在很多flash文件的exe形式,也是这样的

    2、固定文件的大小是固定,像上面的这个就是 internal static int orig = 0xa000; 

    3、在加到尾部之前,使用了7-zip进行了压缩!(该代码可以好好用下)

    4、上面的方法很烂!!!

    5、要保护.net代码还是建议大家使用混淆名称和混淆流程的保护软件,reflector自己的对立软件就不错,真的是矛和盾啊!!

  • 相关阅读:
    会话技术
    Http
    tomcat
    xml
    javascript
    css
    Html
    递归
    二叉树的相关复习
    vim学习
  • 原文地址:https://www.cnblogs.com/szyicol/p/2001555.html
Copyright © 2011-2022 走看看