.NET软件防破解方法源码混淆

其实我们只要在软件设计的关键几个环节,利用专业的控件进行保护,就可以保证软件的安全。我们可以在软件设计时和运行时对软件代码进行保护。在设计时的保护,主要的保护手段是,混淆源码;在运行时的保护主要的手段是加壳程序和授权控制。下面我们分别对混淆、加壳、授权控制的方法和采用的控件做一一讲解。

源码混淆

源码混淆就是通过对程序源码的分析,改变源码的原始面貌,降低源码可读性,可对函数甚至流程进行混淆。虽然目前很多开发工具都能进行简单的混淆,不过实用性不大,采用专业的混淆控件对程序源码能起到有效的保护,有些混淆控件还有更强大的优化功能,在混淆的同时对程序进行优化。

常用的混淆控件

目前比较出名的.NET源码混淆控件有:Dotfuscator,Skater .NET obfuscator,Xenode.NET Obfuscator

其中最出名的是PreEmptive的Dotfuscator,PreEmptive 是全球著名的源码混淆解决方案提供者,在业界一直处于领军地位,旗下两款源码混淆控件:Dotfuscator(.NET) 和DashO(JAVA) 在源码混淆和软件安全保护方面,性能特别优秀,深受各大软件公司推崇。最近在微软TECH-ED2010技术大会暨创新体验发布会上, PreEmptive宣布其Dotfuscator + 运行时监测组件(Runtime Intelligence)解决方案支持微软Silverlight 并同时提供智能监测功能,通过配置和部署,可以让开发者保护并监测Silverlight程序。因为优秀的品质也意味着高的价格,Dotfuscator价格比较偏贵,适合大型企业使用。

.NET软件防破解方法源码混淆

时间: 2024-10-21 15:32:29

.NET软件防破解方法源码混淆的相关文章

Android预安装软件&adb命令&编译源码

1.预安装软件: 将apk文件拷贝到 android/platform/thirdapp/ 目录下,然后编译android源码再烧录就可以完成 当然,在该下删除apk也可以实现去掉预装软件,这应该就是很多精简rom包实现的原理 2.编译android源码 进入android源码根目录下 rm $OUT/system $OUT/data $OUT/obj/APPS -rf source build/envsetup.sh  make image 3.烧录 将编译得到的out/mt8658sdk/b

python实现whois查询功能的方法源码

恐怕很多朋友跟我一样,使用python语言居然能实现whois服务器查询功能.下面我把代码和说明搬来给大家看看,有谁需要可以参考下.本来想直接从whois服务器查询的,但是发现要写socket 用43端口链接服务器,但是有些服务器的地址不清楚,而且查询命令貌似有改变所以不想折腾了,就想着直接用chinaz的页面实现一下算了.如下代码是在 win7下操作的,安装python3.2测试通过. Python3.2实现whois查询功能的方法源码: # -*- coding:utf-8 -*- impo

Android编程之Fragment动画加载方法源码详解

上次谈到了Fragment动画加载的异常问题,今天再聊聊它的动画加载loadAnimation的实现源代码: Animation loadAnimation(Fragment fragment, int transit, boolean enter, int transitionStyle) { 接下来具体看一下里面的源码部分,我将一部分一部分的讲解,首先是: Animation animObj = fragment.onCreateAnimation(transit, enter, fragm

Java split方法源码分析

Java split方法源码分析 1 public String[] split(CharSequence input [, int limit]) { 2 int index = 0; // 指针 3 boolean matchLimited = limit > 0; // 是否限制匹配个数 4 ArrayList<String> matchList = new ArrayList<String>(); // 匹配结果队列 5 Matcher m = matcher(inp

jQuery的getText()方法源码

/** * Utility function for retrieving the text value of an array of DOM nodes * @param {Array|Element} elem */ getText = Sizzle.getText = function( elem ) { var node, ret = "", i = 0, nodeType = elem.nodeType; if ( !nodeType ) { // If no nodeTyp

invalidate和requestLayout方法源码分析

invalidate方法源码分析 在之前分析View的绘制流程中,最后都有调用一个叫invalidate的方法,这个方法是啥玩意?我们来看一下View类中invalidate系列方法的源码(ViewGroup没有重写这些方法),如下: /**  * Mark the area defined by dirty as needing to be drawn. dirty代表需要重新绘制的脏的区域  * If the view is visible, onDraw(Canvas) will be c

TreeSet集合的add()方法源码解析(01.Integer自然排序)

>TreeSet集合使用实例 >TreeSet集合的红黑树 存储与取出(图) >TreeSet的add()方法源码     TreeSet集合使用实例 package cn.itcast_05; import java.util.TreeSet; /* * TreeSet:能够对元素按照某种规则进行排序. * 排序有两种方式 * A:自然排序 * B:比较器排序 * * TreeSet集合的特点:排序和唯一 * * 通过观察TreeSet的add()方法,我们知道最终要看TreeMap的

ios版塔防类游戏源码

一款ios塔防类游戏源码 ,一款像素风格的防御类游戏源码.老鼠向目标进攻,点击老鼠就可以直接把老鼠拍死.或者像<水果忍着>那样滑动屏幕将目标弄死,大家可以看看吧. 项目源码下载:http://code.662p.com/view/6308.html <ignore_js_op> <ignore_js_op> <ignore_js_op> <ignore_js_op> 详细说明:http://ios.662p.com/thread-1449-1-2

WIFI密码破解应用源码

WIFI密码破解应用源码,WIFI密码破解源码一直是国内应用市场上比较热的应用,谁不想免费蹭蹭别人的小网用用.本项目源码就是一套wifi暴力破解的安卓应用源码,小编开了一下无线路由弄了一个简单的密码果然可以跑出来,需要把字典文件password.txt放到内存卡根目录下.一分钟大约可以跑20个密码虽然跟bt5不在一个数量级但是有希望总比没希望强. <ignore_js_op> <ignore_js_op> 详细说明:http://android.662p.com/thread-59