.NET产品源码保护产生的背景:


.NET源码加密方案支持C#及VB.NET等语言开发的ASP.NET及WINFORM应用。利用.NET支持托管代码与非托管代码共存的特性,将C#代码经过处理放于非托管代码中,防止通过常规方式反编译DLL,能有效保护.NET产品版权,防止反编译破解。
      市面上的混淆加密工具对.NET源码保护的效果天差地别,很多网上下到的混淆工具破解版对.NET源码混淆保护的效果通常都不行(能找到对应的反混淆工具进行脱壳),而保护效果较好的混淆工具呢,收费比较高昂且也没有破解版,导致很多小企业或个人开发者为.NET的源码的知识产权保护绞尽脑汁。

.NET产品源码保护原理:


.NET DLL可以包含托管堆代码(可以被反编译的)与非托管堆代码(不能被反编译)。
      我们将核心逻辑代码置于非托堆代码中,由托管堆代码提供接口供外部调用,这样就保证不能被常规的手段对DLL进行反编译。
      并加入验证调用者来源功能,判断调用者的HASH值是不是与在非托管代码中约定的HASH值(发布时需要提前生成相关引用者的HASH值存于非托管代码,最后生成非托管代码的DLL放于安装包中)一致,如一致则通过执行返回结果,不一致则返回空,这样就达到了非合法用户不能调用的效果。
      若身份验证成功则将受保护的核心逻辑代码通过.NET动态编译特性编译后返回执行结果,调用者通过反射特性对动态编译后的结果进行调用即完成整套流程。

.NET产品源码保护特点:


  1. 不能看      核心代码被编译于非托管代码中,不能被常规手段反编译。
  2. 不能调      验证了调用者身份,只有合法用户才能调用DLL。
  3. 兼容性好   兼容C#及VB.NET编写的ASP.NET及WINFORM应用。
  4. 应用简单   提供完整流程的演示案例,可轻松应用于自身项目(不需要会VC++)。
  5. 完美售后   提供完善的售后指导,让客户轻松的实现应用。
  6. 效优价廉   保护效果卓越,价格却仅为具有同样效果的其它混淆工具10%(下表为市面上常见混淆工具的价格)。

.NET产品源码保护演示下载:


DEMO下载地址:www.dllprotect.com

 

.NET产品源码保护结果演示:


.NET源码保护方案项目演示

.NET防止反编译运行演示1

正常运行的情况

.NET防止反编译运行演示2

重新生成了程序(签名发生变化)模拟程序被人反编译生成的效果

对DLL进行反编译检测结果1

使用ILSpy对ConsoleApplication1.exe进行反编译,可以明显看出没有加解密函数的核心关键代码,充分起到了dll防止反编译,保护.NET源码的目的。

对DLL进行反编译检测结果2

使用ILSpy对NetProtect.BLLDemo.dll进行反编译,可以明显看出没有加解密函数的核心关键代码,充分起到了dll防止反编译,保护.NET源码的目的。

对DLL进行反编译检测结果3

使用ILSpy对NetProtect.CoreClr.dll进行反编译,可以明显看出没有加解密函数的核心关键代码,充分起到了dll防止反编译,保护.NET源码的目的。

[.NET产品源码保护].NET防止反编译(非混淆加密)的更多相关文章

  1. .NET产品源码保护,.NET防止反编译,c#/vb.net 防反编译

    .NET产品源码保护产生的背景: .NET源码加密方案支持C#及VB.NET等语言开发的ASP.NET及WINFORM应用.利用.NET支持托管代码与非托管代码共存的特性,将C#代码经过处理放于非托管 ...

  2. .NET DLL 保护措施详解(非混淆加密加壳)

    为什么要保护DLL,我就不多说了,各人有各人的理由.总的来说,就是不想核心逻辑泄露及授权验证被破解两大方面的因素.市面上的混淆加密工具对.NET源码保护的效果天差地别,很多网上下到的混淆工具破解版对. ...

  3. .NET DLL 保护措施详解(非混淆加密加壳)核心思路的实现

    最近有很多朋友通过BLOG找到我询问我的相关细节,其实相关的实现细节我早已把源码上传到51aspx上面了,地址是http://www.51aspx.com/code/codename/56949 也有 ...

  4. atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结

    atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结 1. 为什么虚拟机语言容易被反编译 1 2. 源码泄露的问题问题 1 3. Excelsior JET 1 4. gcj.的流 ...

  5. APP加固技术历程及未来级别方案:虚机源码保护

    传统App加固技术,前后经历了四代技术变更,保护级别每一代都有所提升,但其固有的安全缺陷和兼容性问题始终未能得到解决.而下一代加固技术-虚机源码保护,适用代码类型更广泛,App保护级别更高,兼容性更强 ...

  6. 关于HTML、js加密、混淆、源码保护、代码安全,防止解压直接看源码

    一直有人问HTML加密混淆怎么做,其实这在业内是早已很多人研究过的课题.假日期间整理一篇文章分享给大家. 我们先理下需求,加密的目的是什么?加密到什么级别?为此我们可以牺牲什么?我们知道这个世界不存在 ...

  7. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  8. Android源码浅析(三)——Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机

    Android源码浅析(三)--Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机 最近比较忙,而且又要维护自己的博客,视频和公众号,也就没 ...

  9. 支持源码单步调试QT库编译笔记

    支持源码单步调试QT库编译笔记 编译环境:windows 10 编译工具:mingw_4_4_0 Qt源码版本:qt-everywhere-opensource-src-4.8.5(下载地址:http ...

随机推荐

  1. 服务器数据库搭建流程(CentOs+mysql)

    前言: 服务器上数据库搭建需要知道Linux系统的版本,以前的Ubuntu14.04直接在终端下输入apt-get install (package)便可方便的下载并安装mysql,但是在centOs ...

  2. Pascal's Triangle II leetcode

    Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3, ...

  3. ios录音Demo

    <AudioToolbox/AudioToolbox.h> :这个库是C的接口,偏向于底层,主要用于在线流媒体的播放 <AVFoundation/AVFoundation.h> ...

  4. 关于极光推送在手机系统低于iOS10的手机上闪退的问题。

    最近项目中用到了极光推送,升级到了最新的SDK 2.1.9版本,发现只能在iOS10 上运行,其他测试的时候真机闪退.贴上一个可能的原因:

  5. Gridview 重建表头/单击单元格弹出对话框/改变单元格背景色

    整理工作~ 完整的代码在GitHub上, 路径: 项目背景:追踪某个issue,并且记录每天的状态. 要求:1.点击日期就能更改,并且用颜色标志不同的状态 2.增加按钮可关闭issue 3.布局要求日 ...

  6. PHP随机数安全

    0x00 rand()函数 rand()的随机数默认最大32767,可以用于爆破这里不再举例. 0x01 mt_rand()和mt_srand()函数 mt_srand()函数用于播种,PHP 4.2 ...

  7. Jmeter正则提取器常用的几种方式

    使用jmeter的同学都知道,jmeter提供了各种各样的提取器,如jsonpath.Beanshell.Xpath.正则等!!! 我们就针对正则提取器如何使用进行说明. 举例说明:假设取sessio ...

  8. MyBatis极速入门开发手册(2017-2-6更新)

    前言: 本篇文章对我的学习内容做一个归纳梳理,同时也记录一些学习过程中遇上的问题及注意事项等等,可以帮助新入门的朋友们消除一些误区与盲区,希望能帮上一些正在学习的朋友们.在编写时会引用一些mybati ...

  9. SQL AlawaysOn 之三:SQL服务器加入域

    声明:由于第一篇,配置域服务器,用的是别人的图,所以那个IP并不是我的. 至此为止,我的域控制器IP为192.168.8.230 域名为:dataserver.com 约定的SQL1  IP为192. ...

  10. python的tkinter版本不匹配问题:RuntimeError: test:tk.h version (8.4) doesn't match libtk.a version (8.5)

    Traceback (most recent call last): File "/root/CodeWorkPace/test/TCPClient.py", line 20, i ...