.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防止反编译,c#/vb.net 防反编译的更多相关文章

  1. [.NET产品源码保护].NET防止反编译(非混淆加密)

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

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

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

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

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

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

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

  5. js源码保护

    js的不可读化处理分为三个方面:压缩(compression).混淆(obfuscation) 和加密(encryption). (不可读化处理,这是我自己发明的术语,一切会增加代码不可读性的代码转换 ...

  6. [转载].NET商业软件源码保护

    列举工作以来遇到的各种类型的软件所采用的代码保护技术,只讲原理不涉及技术细节实现,以避免产生法律问题.有些朋友说直接把代码放在Github开源下载,开源可以促进技术交流与进步,然而值钱的代码都积压在硬 ...

  7. 检测微信小程序是否被反编译获取源码

    众所周知,微信小程序的代码安全性很弱,很容易被别人反编译获取源码.我自己的小程序也被别人反编译拿到源码还上线了,非常无语. 既然客户端不好防范,服务端还是可以做点手脚的. 小程序的Referer是不可 ...

  8. vue项目打包后使用reverse-sourcemap反编译到源码(详解版)

    首先得说一下,vue项目中productionSourceMap这个属性.该属性对应的值为true|false.   当productionSourceMap: true,时: 1.打包后能看到xxx ...

  9. 深入浅出 - Android系统移植与平台开发(五)- 编译Android源码(转)

    2.3编译Android源码 Android源码体积非常庞大,由Dalvik虚拟机.Linux内核.编译系统.框架代码.Android定制C库.测试套件.系统应用程序等部分组成,在编译Android源 ...

随机推荐

  1. 解决VS2015 VBCSCompiler.exe 占用CPU100%的问题

    使用VS2015重复编译运行会发现系统运行缓慢甚至卡死,打开windows任务管理器可以发现CPU已经飙到了100%, VBCSCompiler.exe进程出现多个实例并且占用了大量CPU. 解决方案 ...

  2. Struts2框架(5)---result结果集

    result结果集 上一篇文章主要讲Struts2框架(4)---Action类访问servlet这篇主要讲result结果集 在Struts.xml中的result元素指的是:指定动作类的动作方法执 ...

  3. 网络安全实验室 注入关通关writeup

    URL:http://hackinglab.cn 注入关  [1] 最简单的SQL注入username = admin' or ''='password随便什么都可以直接可以登录 [2] 熟悉注入环境 ...

  4. 新浪微博iOS SDK UIImage+WBSDKResize.o

    Undefined symbols for architecture armv7: "_kCGImageSourceThumbnailMaxPixelSize", referenc ...

  5. python + selenium <二>

    应用Webdriver,实现自动化 #coding:gbk from selenium import webdriver import os from selenium.webdriver.suppo ...

  6. TIME_WAIT问题总结

         最近用http_load做压测,跑出来一大串"Cannot assign requested address "的错误,查了一下,是TIME_WAIT过多导致的.因为短时 ...

  7. web注册功能实现

    开发工具:Eclipse Web前端语言:html+jsp 后端数据库:MySQL 数据库UI工具:Navicat for MySQL (根据网上各位前辈的信息,自学实现这个注册基本功能,以后要是学到 ...

  8. git 远程仓库管理

    要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库 ...

  9. jumpserver跳板机

    一.安装依赖包 yum -y install epel-release yum clean all && yum makecache yum -y update yum -y inst ...

  10. EntityFramework Core不得不注意的性能优化意外收获,你会用错?

    前言 这两天在着实研究EF Core项目当中对于一些查询也没实际去检测,于是想着利用放假时间去实际测试下,结果本文就出来了,too young,too simple,后续博主会从底层翻译表达式树弄起, ...