新闻资讯东莞市域天软件开发有限公司

立即注册企业库会员

C#,VBNET开发的程序的加密方案

时间:2016/9/8    分类:    阅读次数:533
内容提要

网络授权型、F2K加密锁、32位智能锁、专业易用型、经济易用型、易用版智能锁、下载型智能锁、简单F型、东莞加密狗、加密狗、加密锁、东莞加密锁、软件狗、软件锁、身份认证、U盾、USB Key、

NET程序加壳说明

   C#及VBNET开发的程序容易被反编译,所以要达到一个很好的加密效果,除了在源代码中检查加密狗(加密锁),或将程序部分代码放到加密狗(加密锁)中运行外,还强烈进行混淆及加壳,且建议用多种工具结合使用,这样才会安全,否则就很容易被反编译或反混淆。

对NET程序进行加密时需要用到以下四个工具:

  1. Xenocode混淆工具
  2. NETUnpack工具
  3. NET Reactor工具
  4. 外壳加密工具10

加密流程如下:

1. 用Xenocode对要加密地程序进行混淆,生成混淆后假设名字为“X”的程序, 如下:


  • 运行Xenocode后,“Application”页中点“Add”添加要混淆的文件,如图:
  • “Application”页中“Preset” 设置中选中第二项:“Aggressive …. ”,如图:
  • “Protect”页中的“Coltrol flow Obfuscation” 选项中,设置为“4”,如图:
  • \"\"
  • “Optimize”页中保持默认,如图:
  • \"\"
  • “Virtualize”页中选中“Enable”,如图:
  • \"\"
  • {zh1}在输出页中,点“BuildApplication”,如图:
  • \"\"

2. 混淆后假设名字为“X”的程序是封装成WIN32的NET程序,我们需要得到没有封装前的NET程序,所以接着做释出未封装前的NET程序的操作,运行X程序,再运行NETUnpack工具,如下:

  • 运行混淆后假设名字为“X”的程序后,用NETUnpack工具进行释出,如图:
  • \"\"
  • 使用NETUnpack释出后的程序假设名字为:U-X
  • 这时释出来的U-X程序是不能运行的,运行会报错,我们需要将它重新封装起来

3. 使用NET Reactor对U-X程序进行重新封装并加密后,生成程序R:

  • 运行Net reactor,然后点open打开要转换的文件:
  • \"\"
  • 转换一定要选中以下选项:
  • \"\"
  • 其中“Native ExeFile”, “Pre-JITMethods”要选中EXE文件后,才可以出现
  • 其它选项,也可以选中(建议选中),不过其它选项,选中后,一定要测试一下,看是否可以运行,如果不能运行,可以将某些选项去掉,但前面的三个选项不能去掉
  • 然后点进行转换,
  • \"\"
  • 转换成功后,点打开转换后的文件

4. 用外壳加密工具10对程序R,再加密,生成{zh1}可发行的程序。

  • 加密时要用加密方式一,
  • \"\"
  • 如果转换后可以运行,加密后不能运行,可以改用壳二就可以了:

技术支持: 免费b2b网站    立即注册发布信息