[.NET产品源码保护].NET防止反编译(非混淆加密)
.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产品源码保护特点:
- 不能看 核心代码被编译于非托管代码中,不能被常规手段反编译。
- 不能调 验证了调用者身份,只有合法用户才能调用DLL。
- 兼容性好 兼容C#及VB.NET编写的ASP.NET及WINFORM应用。
- 应用简单 提供完整流程的演示案例,可轻松应用于自身项目(不需要会VC++)。
- 完美售后 提供完善的售后指导,让客户轻松的实现应用。
- 效优价廉 保护效果卓越,价格却仅为具有同样效果的其它混淆工具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防止反编译(非混淆加密)的更多相关文章
- .NET产品源码保护,.NET防止反编译,c#/vb.net 防反编译
.NET产品源码保护产生的背景: .NET源码加密方案支持C#及VB.NET等语言开发的ASP.NET及WINFORM应用.利用.NET支持托管代码与非托管代码共存的特性,将C#代码经过处理放于非托管 ...
- .NET DLL 保护措施详解(非混淆加密加壳)
为什么要保护DLL,我就不多说了,各人有各人的理由.总的来说,就是不想核心逻辑泄露及授权验证被破解两大方面的因素.市面上的混淆加密工具对.NET源码保护的效果天差地别,很多网上下到的混淆工具破解版对. ...
- .NET DLL 保护措施详解(非混淆加密加壳)核心思路的实现
最近有很多朋友通过BLOG找到我询问我的相关细节,其实相关的实现细节我早已把源码上传到51aspx上面了,地址是http://www.51aspx.com/code/codename/56949 也有 ...
- atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结
atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结 1. 为什么虚拟机语言容易被反编译 1 2. 源码泄露的问题问题 1 3. Excelsior JET 1 4. gcj.的流 ...
- APP加固技术历程及未来级别方案:虚机源码保护
传统App加固技术,前后经历了四代技术变更,保护级别每一代都有所提升,但其固有的安全缺陷和兼容性问题始终未能得到解决.而下一代加固技术-虚机源码保护,适用代码类型更广泛,App保护级别更高,兼容性更强 ...
- 关于HTML、js加密、混淆、源码保护、代码安全,防止解压直接看源码
一直有人问HTML加密混淆怎么做,其实这在业内是早已很多人研究过的课题.假日期间整理一篇文章分享给大家. 我们先理下需求,加密的目的是什么?加密到什么级别?为此我们可以牺牲什么?我们知道这个世界不存在 ...
- 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...
- Android源码浅析(三)——Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机
Android源码浅析(三)--Android AOSP 5.1.1源码的同步sync和编译make,搭建Samba服务器进行更便捷的烧录刷机 最近比较忙,而且又要维护自己的博客,视频和公众号,也就没 ...
- 支持源码单步调试QT库编译笔记
支持源码单步调试QT库编译笔记 编译环境:windows 10 编译工具:mingw_4_4_0 Qt源码版本:qt-everywhere-opensource-src-4.8.5(下载地址:http ...
随机推荐
- 4001: [TJOI2015]概率论
4001: [TJOI2015]概率论 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 262 Solved: 108[Submit][Status] ...
- 1121: [POI2008]激光发射器SZK
1121: [POI2008]激光发射器SZK Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 574 Solved: 475[Submit][Sta ...
- 当前最上层的视图控制器vc 和 当前最上层的导航控制器nav
在处理 URL Router 跳转的时候,我们经常需要得到 当前最上层的视图控制器 和 当前最上层的导航控制器 来进行视图跳转或者方法调用.- (UIViewController *)currentV ...
- git merge 冲突
当前分支为 master 然后操作时: git merge dev 发现有文件冲突. 当我们倾向于使用dev 分支的代码时,可以使用以下命令: git checkout --theirs src/ma ...
- H5 Canvas vs. SVG
HTML 5 Canvas vs. SVG HTML5 SVG HTML5 地理定位 Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XM ...
- aiohttp之添加静态资源路径
所谓静态资源,是指图片.js.css等文件.官方的说明在这里. 以一个小项目来说明,下面是项目的目录结构: . ├── static │ ├── css │ │ ├── base.css │ │ ├─ ...
- lnmp pathinfo问题
location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 ...
- "浏览器端" 使用 commonjs 模块规范开发网页应用,像开发 node 那样开发网页应用
Containjs 1.0 Containjs 是什么? Containjs 是一个基于 Commonjs 模块管理规范的 浏览器端 的 JavaScript 模块加载器(目前为非标准的,代码会持续迭 ...
- (11)连个工具类之间的比较4.Collections与Arrays
集合框架中的工具类:特点:该工具类中的方法都是静态的. Collections:常见方法: 1, 对list进行二分查找: 前提该集合一定要有序. int binarySearch(list,key) ...
- iOS开发之UINavigationController
1.概述: 利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的“设置”应用. 2.UINavigationController ...