加密混淆.Net程序
记录在这里,以便学习使用!
一 加密混淆.Net程序
打开Intellilock进处此界面

点击add按钮加入你要操作的程序集,
Merge Assemblie 可以合并当前程序集列表中的程序集为一个文件。默认合成后的文件名为列表中第一位的程序集。
点击Protection Settings标签进入保护设置界面

左侧是混淆界面,右侧是高级选项
Use Unprintable Characters 使用不可打印字符
Generate Short Strings 使用短字符串,可以减小程序集大小
Incremental Obfuscation 增量混淆处理
Create Mapping File 创建混淆映身文件。选中此选项会产生一个limap文件
Exclusions 排除以下程序关键字或类型不混淆
枚举,事件,命名空间,类型,字段,方法
String
Advanced 高级
String Encryptio 加密字符串
Advanced String Encryption
Code Path Protection 代码补丁保护
Suppress ILDASM 禁用ILDASM反汇编
String Name Removal Protection 禁止移除强命名保护
Encrypt Il Code 加密IL代码,选中此选项IL代码将在运行时进行解密
Inject Invalid Metadata 注入无效元数据
Control Flow Obfusction 控制流程混淆级别,越高越安全。
以上选项设定后,点击工具栏的Finalize或点击TAB标签Finalization,点击GO按钮生成加密后的程序
二 制作授权试用版软件
(1) 试用版软件

在Lock Setting面板中,
Expiration Days 过期天数,可设定程序从安装后运行某天数后试用版过期。
Expiration Date 过期时间,可设定程序从安装后运行到某时间后试用版过期。
Executions 运行次数,可设定程序从安装后运行到第几次启试用版过期
Runtime 运时时间,可设定程序从安装后运行时间后试用版过期
Global Time 全局时间,可设定程序从安装后总的运行时间后试用版过期
Instances 程序运行实例个数
Custom 自定义
Advanced Settings 高级设置
Run Without Valid License 必选中
Shutdown Process After Expiration 重启程序后过期
Search In Embedded Resources 在资源文件中查找License
Search ON Hdd 在硬盘中查找License
License Name 设定程序由试用版转正版所使用的License文件名称。
Master Key license的KEY文件,发布的程序的MasterKey和License的masterKey必须对应,否则License授权失效!
-------------------------------------------
经过以上的设置你发布出去的程序就会按你的过期设置到时过期了。
但是这样有一个弊病,可以一个授权文件(License),复制到任意PC上后即完成了授权。
这里IntelLilock支持license绑定硬件ID进行授权
(2) License绑定硬件ID进行一机一License授权。
流程是这样的。程序发给用户(按上一步的设置),满足过期条件后试用过期,
让用户去程序文件夹寻找(硬件ID.txt) 里面放着当前电脑的硬件ID信息
此硬件ID信息从哪来的呢,这里IntelLiLock Sdk 提供的方法
项目引用IntelliLock.Licensing.dll 在IntelLiLock安装后的文件夹\SDK\Bin下
调用此方法读取当前PC的硬件ID信息
|
1
|
IntelliLock.Licensing.HardwareID.GetHardwareID(true, true, true, true, true,false);<br><br> |
参数 BIOS,CPU,HDD,MAC,Mainboard,OS 为True即生成硬件信息ID时加入此硬件的算法
这里你调用此方法调试程序时显示"####-#####-#####-####"类似字符串,不是硬件ID信息。
因为程序需要使用IntelLilock加密后。此方法才生效(应该是IntelLilock加密时动态的把此方法的算法加了进去)
用IntelLilock加密后运行程序。成功显示了硬件ID信息
下面是用IntelLiLock发布授权License

把用户发来的硬件ID粘贴入上面文档框中,把BIOS,CPU,HDD,MAC,Mainboard复选框选中
这里为什么不把OS也选中呢。因为
|
1
|
IntelliLock.Licensing.HardwareID.GetHardwareID(true, true, true, true, true,false); |
此方法的最后一个OS参数为false,所以这里不用选中。要和上面方法保持一致! 这样把你的license发给用户。放到程序根目录下。即完成了试用版到正式版的授权。 以上这些只是IntelLiLock的Task标签内的内容 还有License 管理,TOOLS工具,help等 License management 针对客户,产品进行信息维护,自带SQLITE数据库 tools工具中有License Check 和hardware check
IntelliLock.Licensing.EvaluationMonitor.CurrentLicense.LicenseStatus == IntelliLock.Licensing.LicenseStatus.Licensed 判断当前License是否已授权
就写这些了。。。还有更多的功能等待你的挖掘!
加密混淆.Net程序的更多相关文章
- SWF加解密资源索引之加密混淆篇【转】
============================ SWF加解密资源索引之加密混淆篇 ============================ [心得] swf加密混淆器(带源码) http:/ ...
- 破解phpjm.net加密,解密程序,全部公布
原文:破解phpjm.net加密,解密程序,全部公布 2014-05-23更新: 很久没人找我解密了,看来这加密已过时,现公布我这边最新的解密工具. 若有解不出的可联系qq: 267014855 (不 ...
- 使用shc加密bash脚本程序
摘要以前写看到别人写的脚本用shc加密的,我也有就了解了下. SHC代表shell script compiler,即shell脚本编译器.通过SHC编译过的脚本程序对普通用户而言是不读的,因此如果你 ...
- vue项目配置 `webpack-obfuscator` 进行代码加密混淆
背景 公司代码提供给第三方使用,为了不完全泄露源码,需要对给出的代码进行加密混淆,前端代码虽然无法做到完全加密混淆,但是通过使用 webpack-obfuscator 通过增加随机废代码段.字符编码转 ...
- 使用Dotfuscator加密混淆程序以及如何脱壳反编译
混淆演示 首先介绍如何使用Dotfuscator对.net程序加密码混淆/加壳 C#或vb.net编写的应用程序或DLL. 这里随便创建了一个C#的命令行控制台程序.程序很简单,对当前的时间进行了AE ...
- 使用ConfuserEx加密混淆程序以及如何脱壳反编译
一,准备如下工具: ConfuserEx.UnConfuserEx.Fixer.ConfuserExStringDecryptor.ConfuserExSwitchKiller.de4dot.ILSp ...
- KRPano资源分析工具使用说明(KRPano XML/JS解密 切片图批量下载 球面图还原 加密混淆JS还原美化)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- 字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串
关于字符串的研究,目前已经有两篇. 原理篇:字符串混淆技术在.NET程序保护中的应用及如何解密被混淆的字符串 实践篇:字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略 今天来 ...
- dhroid - dhroid ioc模块对 加密混淆问题
大家应该已经看过ioc的知识在ioc基础中中视图事件都是通过注解实现的问题1如果有某个属性只声明了一下,其他代码没有引用由于混淆时会进行属性优化,将没用的属性去掉,这时需要处理 处理方法:在混淆配置文 ...
随机推荐
- WPF 媒体播放器(MediaElement)实例,实现进度和音量控制
WPF 视频音频播放控件MediaElement实现进度控制,音量控制实例 说明: 1.Volume控制音量的大小,double类型,并且实现了属性依赖,可以用来双向绑定:在 0 和 1. 之间的线性 ...
- PL/SQL Developer简单使用
表在以下:
- iOS RC4加解密算法
-(NSString *)encrypt:(NSString *)string withKey:(NSString *)key{ self.sBox = [[self frameSBox:key] m ...
- Windows2003 下 MySQL 数据库每天自动备份
1. 环境: windows server 2003 + Apache 2.0 + PHP5 + MySQL 4.0.26 . 2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为 ...
- 小心DriveInfo类IsReady属性的较大延迟问题
当某些驱动器调用IsReady属性来判断是否准备好时,会有性能问题,会非常慢,特别是网络驱动器断开的时候,这个属性会有30秒左右的延迟,这对程序执行是非常大的开销,请慎重调用
- js 支持的原始数据类型
原始数据类型: 数值型: 1.十进制数 <script> var a =12; a = -12 a = 12.4 a =.23e2 //=>23 a = 2e3 //=>200 ...
- MySql数据库4【命令行赋权操作】
MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant selec ...
- 分布式系统间通信之RPC的基本概念(六)
RPC(Remote Procedure Call Protocol)远程过程调用协议.一个通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象 ...
- go-nsq使用简述
一 环境依赖: golang 开发环境(version >= 1.2) 下源码,配置环境变量,执行安装脚本 gpm 依赖包管理器 ...
- Unity各平台路径总结
路径是Unity开发中令人头疼的一个问题,根据我的开发经验,现将开发中遇到的路径问题总结如下: 1. 如何读取Application.streamingAssetsPath下的文件? Edit.iOS ...