‘壹’ C#加密狗的实现
对部分加密狗实现IP或者MAC限制,精锐5加密锁可实现绑定本机设备。
C#程序使用精锐5加密狗的方式来实现软件的加密保护及授权管理,需考虑安全及授权管理两方面。
加密的安全性,不能随便被破。精锐5加密锁的加密技术由:代码加密/代码碎片化/代码混淆。
代码碎片化:深思自主知识产权的最新技术:基于 LLVM 和 ARM 虚拟机技术,自动抽取海量代码移入 SS 内核态模块,极大的降低了使用门槛, 不再需要手动移植算法,可移植的算法从有限的几个增长到几乎无限多,支持的语言也不再限于 C, 这是加密技术的一次综合应用,效果上类似于将软件打散执行,让破解者无从下手。
代码加密(IL):针对dotNet程序,保护IL代码:一种动态运行方法解密被保护代码。把当前代码加密存储为密文,存储起来,当程序运行到被保护函数时候自动解密并且执行,执行之后再擦除代码,执行之后再擦除代码,运行到哪里才解密哪里的代码,黑客无法获得原始的中间语言的指令和内存完整性的代码,由于是纯内存操作所以运行速度快, 性价高的保护手段,建议全加。
代码混淆(IL):
将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号,使得阅读的人无法根据名字猜测其用途。
a)重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。比如将for循环改写成while循环,将循环改写成递归,精简中间变量,等等。
b) 打乱代码的格式。比如删除空格,将多行代码挤到一行中,或者将一行代码断成多行等等。
c) 添加花指令,通过特殊构造的指令来使得反汇编器出错,进而干扰反编译工作的进行。
加密锁本身的安全:
内置安全算法
精锐5加密狗内置安全算法有:
RSA1024/RSA2048
ECC192/ECC256/ECC384
AES128/AES192/AES256
DES/TDES
SHA1/SHA256
存储空间:目前加密锁存储空间最大可达到512K。
接口标准:USB2.0全速设备
加密方式:加壳工具
加壳工具可快速的对代码进行加密保护,无需修改代码,几分钟即可完成高安全性加密。
‘贰’ 如何制作软件加密狗,c#制作加密狗
软件加密狗是外观类似U盘的硬件,需要从加密狗厂商处购买。
如果你是自己加密软件,可以买了加密狗之后根据他们提供的开发套件来进行开发,一般都会有相应的例子参考,C#一般也都是支持的。购买之前最好也多家对比下,有的加密狗厂商开发套件也是单独收费的,可以试试ROCKEY系列,只有硬件狗的费用。
如果你是要根据现有软件复制加密狗的话就比较麻烦了,现在的加密狗多试智能卡芯片,硬件不可复制,想要猜出加密狗内写了什么也不好弄,除非软件加密强度很低。
‘叁’ 一开始就没用加密狗的管家婆软件可以自己配置一个加密狗吗
可以,再配置一个就可以了。
加密狗指计算机加密锁是一种软硬件结合的加密产品。下面我来给具体说一说这个加密狗产品。
1、加密狗又叫加密锁,其是为软件开发商提供的一种智能型的具有软件保护功能的工具。它包含一个安装在计算机并行口或USB口上的硬件,及一套适用于各种语言的接口软件和工具软件。加密锁基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用。
2、软件开发商通过加密狗管理软件的授权,防止非授权使用或者抵御盗版威胁,保护源代码及算法。广义的加密狗是一整套软件加密方案,针对不同软件的使用量、经济价值、面临破解的压力以及软件使用环境等要求综合因素的考量下,设计从软硬件识别、数据通信、授权管理、分发模式和物理硬件要求等环节的完整软件加密解决方案。
3、加密狗可以简单分为硬件、软件形式的加密安全方案。软件加密是完全站在软件开发商角度出发的,它强调的是软件保护和不被盗版,具体包括源代码不被反编译、软件不被随意篡改、软件不被逆向工程,同时也包括软件授权不被非法拷贝、不被篡改。而硬件加密的产品特点即是加密狗厂商提供硬件及接口函数给软件开发商,软件调用硬件,达到表面上看没有加密狗就不能访问软件的效果,实现软件加密。
‘肆’ 如何制作加密狗
问题一:USB加密狗是怎么制作的 电脑狗,即加密狗,现在所说的加密狗,一般都是硬件加密狗。是一种类碰山似于u盘一样的东西,是一种防盗版的方式。一般是把程序的一小部分或解密部分 *** 到加密狗的硬件中,防止软件的盗版。加密狗(dongle),经常被认为是硬件保护,它是一个可被附加在计算机并口、串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路。dongle保护的的原理就是软件开发者在程序里经常检查dongle中的单元(Cell)的并对比返回值,这种检查伏吵蚂可以是直接读单元或者是使用某种内部算法(此时单元受到保护无法直接读)。
问题二:怎么做U盘加密狗 你可以用ALock来做个闪盘锁,开机时需插入闪盘才能启动,拔出闪盘就自动锁定。
打开ALock.exe插入要作为登录钥匙的闪盘,选择USB钥匙盘盘符,单击“启动”按钮。然后重新启动系统即可。
注意,启用ALock后,用户每次登录都需要插入钥匙盘。
你可以在以下这个软件包中找到以上提到的软件,下载地址:
work.newhua/cfan/201007/ysrj.rar(你只需将该地址粘贴在迅雷新建任务窗口的地址栏中,点击下载就可以了)
问题三:很多人自制的盗版软件加密狗,是怎么做的 着是你收银的系统以与加密狗做过结合,你想进入系统需要插入加密狗。才能进入运行。加密狗的存在,就是防止盗版,防止信息被复制。你需要拿到加密狗插上加密狗。你就可以运行了。
问题四:如何自制加密狗 基本上是不可能的事了,你也不要考虑了,如果相中什么软件了,就想办法找免狗的,如果不行就花几个钱吧~如果都能自制狗就发了~有的好狗上千块,你要能做就仙了,所以不要想自制了,你需要有解密程序写进去才可以,不过基本上是不可能
问题五:如何破解和制作“加密狗”程序! 硬件加密锁,俗程“加密狗”,对于加密狗的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过SoftICE等Debug工具调试跟踪解密,一种是通过编写拦截程序修改软件和加密狗之间的通讯。 硬件克隆复制主要是针对国产芯片的加密狗,因为国产加密狗公司一般没有核心加密芯片的制造能力,因此有缺埋些使用了市场上通用的芯片,破解者分析出芯片电路以及芯片里写的内容后,就可以立刻复制或克隆一个完全相同的加密狗。不过国外的加密狗就无法使用这种方法,国外加密狗硬件使用的是安全性很好的自己研制开发的芯片,通常很难进行复制,而且现在国内加密狗也在使用进口的智能卡芯片,因此这种硬件克隆的解密方法用处越来越少。 对于Debug调试破解,由于软件的复杂度越来越高,编译器产生的代码也越来越多,通过反汇编等方法跟踪调式破解的复杂度已经变得越来越高,破解成本也越来越高,目前已经很少有人愿意花费大量精力进行如此复杂的破解,除非被破解的软件具有极高的价值。 目前加密锁(加密狗)的解密破解工作主要集中在应用程序与加密动态库之间的通讯拦截。这种方法成本较低,也易于实现,对待以单片机等芯片为核心的加密锁(加密狗)具有不错的解密效果。 由于加密锁(加密狗)的应用程序接口(API)基本上都是公开的,因此从网上可以很容易下载到加密狗的编程接口API、用户手册、和其它相关资料,还可以了解加密狗技术的最新进展。 例如,某个国内知名的美国加密狗提供商的一款很有名的加密狗,其全部编程资料就可以从网上获取到,经过对这些资料的分析,我们知道这个加密锁(加密狗)有64个内存单元,其中56个可以被用户使用,这些单元中的每一个都可以被用为三种类型之一:算法、数据值和计数器。 数据值比较好理解,数据值是用户存储在可读写的单元中的数据,就和存储在硬盘里一样,用户可以使用Read函数读出存储单元里面的数据,也可以使用Write函数保存自己的信息到存储单元。 计数器是这样一种单元,软件开发商在其软件中使用Decrement函数可以把其值减一,当计数器和某种活动的(active)算法关联时,计数器为零则会封闭(deactive)这个算法。 算法单元较难理解一些,算法(algorithm)是这样一种技术,你用Query(queryData)函数访问它,其中queryData是查询值,上述函数有一个返回值,被加密的程序知道一组这样的查询值/返回值对,在需要加密的地方,用上述函数检查狗的存在和真伪。对于被指定为算法的单元,软件上是无法读和修改的,即使你是合法的用户也是如此,我理解这种技术除了增加程序复杂性以外,主要是为了对付使用模拟器技术的破解。 此加密锁(加密狗)的所有API函数调用都会有返回值,返回值为0的时候表示成功。 因此,破解思路就出来了,就是使用我们自己的工具(如VB、VC等)重新编写构造一个和加密狗API一样的DLL动态库文件,里面也包含Read、Write等全部API中包含的函数,使用的参量及返回值和原来的函数一样,所有函数返回零。然后对Query、Read函数进行处理,返回应用软件需要的数值即可。 这个新的DLL文件编写成功后,直接替换掉原来的DLL文件,这时候再运行应用软件,软件访问加密狗的操作就全部会被拦截,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密狗的运行。 以上是目前破解软件加密狗(加密锁)的一些常见思路,对于这种破解,软件开发者还是有相应的一些对策的,下一回我将在《软件加密锁编程技巧》一文中具体介绍一下软件开发者将如何编写安全可靠的代码,使得这种类似的破解......>>
问题六:怎么把u盘做成加密狗 不能。 加密狗,一般都是硬件加密狗。是一种类似于u盘一样的东西,是一种防盗版的方式。一般是把程序的一小部分或解密部分 *** 到加密狗的硬件中,防止软件的盗版。 加密狗保密很安全,还没有什么破解方法。 所以无法用做U盘了。
问题七:我有个加密狗,能制作一个一模一样的出来吗 加密狗是软件商用来宝华软件版权,防止盗版的,多年前老的单片机加密狗是可以被复制的,现在新的一般都是智能卡芯片的,目前无法被复制。
问题八:如何用普通u盘做加密狗 普通U盘是做不了加密狗的,加密狗都有专门的硬件的,U盘只是用来存储的。
问题九:怎样为软件制作加密狗? 不难,软件狗的生产厂商专门有一组软件狗的程序,你在程序中调用专门的函数来判断是否有加密狗就行了.
主要你先需要确认用何种加密狗,联系厂商,买个测试狗,就可以了.
宏正软件 [email protected] 我们的系列软件(仓库管理软件,进销存软件等)有加密狗版本.
问题十:USB加密狗是怎么制作的 电脑狗,即加密狗,现在所说的加密狗,一般都是硬件加密狗。是一种类似于u盘一样的东西,是一种防盗版的方式。一般是把程序的一小部分或解密部分 *** 到加密狗的硬件中,防止软件的盗版。加密狗(dongle),经常被认为是硬件保护,它是一个可被附加在计算机并口、串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路。dongle保护的的原理就是软件开发者在程序里经常检查dongle中的单元(Cell)的并对比返回值,这种检查可以是直接读单元或者是使用某种内部算法(此时单元受到保护无法直接读)。
‘伍’ SAFENET加密狗读取数据、写入数据专用工具softdog dogedt_32V5.15
SafeNet的加密狗种类很多,这一款是软件狗;
我是济南的,就是这个厂家的代理,专做加密狗和USBKEY的
如果有什么需求可以网络“济南USBKEY"就能找到我
‘陆’ 关于PKPM软件的加密狗的问题/!!!!
软件狗[Dongles]
1、认识软件狗。[首先我对软件狗作一简单介绍,在后面我们将对各种软件狗的加密和解密做详细的讲解。]
软件狗是插在微机并行口上的一个软件保护装置,它包括主机检查程序和密钥(也称加密盒)两部分。主机检查程序就是前面说的加密代码的一部分,加密盒是用来存放密码的。一般来说,软件狗插在并行口上,不会影响打印机的正常工作。常见的软件狗加密盒外形,如两个一公一母的D行25针连接器倒接在一起,公头(DB25/M)插在并行口上,母头(DB25/F)可接打印机,相当于原来的并行口。整个软件狗的硬件电路板就在这约5厘米见方的加密盒子里。
电路板上的公头(DB25/F)之间的管脚是一一对应、直接相联结的,以保证并行口的作用不变。存储密码或起信号加密变换作用的器件及其它辅助元件就跨接在这25根线上面,应用程序以特定的方式跟他们沟通、核对。除了某些设计不良的情况之外,一般不会影响打印机的正常工作,打印机工作时也不会影响它们。
为了防止程序被非法复制,所做的加密保护措施一般都包括两部分。首先是要有保存密码数据的载体,即密钥;其次是夹杂在应用程序中的主机检查程序,即加密代码。密钥应该能保证不易被解密、复制;如一般用磁盘做加密时,加密部分无法用一般的工具复制。另外,当检查程序用特殊方法去读密码时,密码应该能很容易地被读出,而不致影响应用程序的正常执行。当发现密码不对或密钥不存在时,就让主机挂起、重新起动或采用被的措施。
软件狗经历的“时代”
软件狗的发展经历了好几代,至2001年初就已发展到了第四代。
第一代是存储器型的加密锁。这是最有历史的加密锁,内部只有存储体,厂商只能对锁进行读、写。软件狗起信号加密变换作用的器件,最多只简单采用一些电阻、二极管等,检查方法也比较简单,很容易被人解密.常见的有原金天地的“软件狗”、深思洛克的Keypro型、Rainbow的Cplus等。这种锁的主要特点是厂商可以预先把自己的保密数据设置到锁内,然后在软件运行时随机读取,这样防止了解密者通过简单重复并口数据来解密,但解密者进一步分析一下数据规律就可以解决了,这就是常说的“端口”层的数据分析。这种加密锁原理非常简单,是种正在被逐步淘汰的产品,但是其原料成本极低,即使在很低的价位也有很好的利润,加密厂商一般都不愿放弃这种锁;而很多厂商由于成本原因又不得不采用,因此这种锁仍有一定的市场份额;
第二代是算法不公开的加密锁。硬件内部增加了单片机,即所谓内置CPU,厂商主要是利用算法功能进行加密。加密锁通常还增加了一些辅助功能,比如倒计数器、远程升级等。软件狗采用了低功耗TTL,COMS等逻辑元件,在电路上做了一些加密工作,检查时也要比第一代软件狗多一道手续,解密的难度自然也增加了。常见的有深思洛克的“深思Ⅰ”型,彩虹天地的SuperPro、微狗,ALADDIN的MemoHASP等。利用单片机,软件与锁之间的数据通讯建立了一个保密协议,数据都是经过加密的,解密者就难以分析出数据内容和规律了,因此对于这种锁的数据分析就不是停留在“端口”层了,解密者转向了“功能”层,就是对软件中的函数调用进行分析。为了抵挡功能层的数据分析,这种锁来了个“软硬”兼施的策略。
“软”的是指驱动程序内反跟踪、外壳加密等等软件工作,让解密者难以在功能层上仿真,谁都靠的是对操作系统、微机系统的精确理解。谁都无法决胜,结果是加密驱动程序在不断更新、膨胀。
“硬”的就是加密锁内的算法功能,这大大增加了解密难度,这是掌握在加密者手中的武器。但是,加密者只能设置算法的参数,即所谓内含多少种算法可选,而算法内容并不知道。这样就限制了厂商对算法的使用,要么预先记录算法结果然后在软件运行时核对(使用码表);要么在软件中至少变换两次然后比较结果是否一致。如果解密者截获这些数据,通过统计、分析就有可达到解密目的;
第三代加密锁,即所谓“可编程”的加密锁。1999年初,以北京深思洛克为代表推出了第三代加密锁,“可编程”加密锁概念的推出是软件加密技术的一次进步。“可编程”加密锁设计初衷是希望用户能够将软件中重要的代码或模块“移植”到加密保护设备中运行,使软件与加密锁实现真正无缝链接。但由于成本限制,早期推出的几款“可编程”加密锁采用的低档单片机给 “可编程”性造成了很大的局限,主要表现在:1、算法变换的复杂度不够高,2、指令编码空间较小,3、程序区的空间较小。这些局限性使得用户根本不可能利用“可编程”加密锁实现理想的高强度加密方案。 软件狗采用了PAL(Programmable Array Logic)、PEEL(Programmable Electrically Erasable Logic Device)、GAL(Generic Array Logic)等可编程器件,但目前流行的期间大概要算串行读写的EEPROM(Serial Electrically Erasable PROM)了。这些器件由于密码编制的灵活性和制成密钥后在程序中插入检查的方便性,极大地增加了解密的难度。从使用的角度来看PAL、PEEL、GAL 等逻辑器件只能读取数据,不能随时写入数据,密码的重新设置比较麻烦;而EEPROM芯片可随意读写,用在软件狗上灵活性相当大,譬如可以为每一个软件狗单独设一个密码,以增加解密的难度;另外,从EEPROM器件的电器性能上来说也非常适合做软件狗;因此这种器件在软件狗的设计中获得了广泛的应用,是当时软件狗制作者的首选芯片。它象一般RAM存储器一样可读写(只不过读写是串行的),即使断电后也能保存数据不变。常用的EEPROM型号是93C46,它是64×16bit的结构,也就是说一个93C46具有64个16位bit单元的容量,每次处理数据也都是16位。有的93C46,如 Microchip、ATMEL、CSi等品牌的93C46可以通过切换,变为128×8bit或64×16bit两种模式,这对软件狗制作来说就更灵活了,其加密效果也更好。当然也有人采用更大容量的93C56、93C66或容量小一点的93C06、93C26等EEPROM芯片。因为软件狗是插在微机的并行口上,所以检查程序是通过并行口的I/O地址去读写EEPROM。具体的读写方式跟硬件线路以及EEPROM的时序有关,因此,一般的检查程序针对某一种硬件线路;但是这些程序大同小异,大体上是差不多的。
第四代软件够在第三代软件狗基础上,加入一个单片机芯片,如PIC16C5X。此芯片中存有特定的算法程序,可将读出的密钥数据进行加密变换,以对抗逻辑分析仪。可以说,软件狗发展到第四代,已经非常成熟了。在此技术上,各软件狗研制公司又加入自己的电路设计,形成了各自的产品特色。
平时常见的狗主要有“洋狗”(国外狗)和“土狗”(国产狗)。这里“洋狗”主要指美国的彩虹和以色列的HASP,“土狗”主要有金天地(现在与美国彩虹合资,叫彩虹天地)、深思、坚石。总的来说,“洋狗”在软件接口、加壳、防跟踪等“软”方面做得没有“土狗”好,但在硬件上绝对“无法” pj(应当说pj难度非常大):而“土狗”在“软”的方面做得绝对称得上世界第一,许多技术,如噪音、自检测、算法可变、码表变换等等,可以说都很先进,而在硬件上不及国外,只要稍有单片机功力的人,都可复制。
现在狗的技术发展很快,针对不同的应用场合有不同的类型,如:
强劲狗:自由定义算法的高强度加密方案
微狗: 面向单片机环境的高强度加密方案
USB狗: USB接口的微狗全兼容产品
软件狗:面向单机环境的低成本加密方案
网络狗:面向网络环境的加密方案
卡式狗:面向网络环境的加密方案
软件狗采取了各种的加密技术,目前较先进的加密技术有以下几种:
AS技术:API函数调用与SHELL外壳加密结合,即使外壳被破坏,加密程序依然不能正常运行。
反跟踪:
a.数据交换随机噪音技术:有效地对抗逻辑分析仪分析及各种调试工具的攻击。
b.迷宫技术:在程序入口和出口之间包含大量判断跳转干扰,动态改变执行次序,提升狗的抗跟踪能力。
抗共享:可从硬件对抗并口共享器,由开发商选择是否共享狗。
口令: 可由软件开发商设置32位口令,口令错误将不能对存储区进行读写。
时间闸:某些狗内部设有时间闸,各种操作必须在规定的时间内完成。狗正常操作用时很短,但跟踪时用时较长,超过规定时间狗将返回错误结果。
单片机:硬件内置单片机,固化的单片机软件保证外部不可读,从而保证狗不可仿制。
存储器:提供20字节掉电保持存储器供开发商存放关键数据、配置参数等信息。
市场上常见几种软件狗的简单介绍
彩虹天地:在中国应该算是老大了,从第一代到第四代的产品都有,但它的主要产品还是第三代的微狗(TD-MH),该代产品中有干扰芯片,能随时产生无用的干扰信号,更加有效的对抗逻辑分析仪;虽然有第四代的强劲狗(CS-QA),但好象有不少问题,所以推出的USB接口的加密锁还是兼容微狗的。彩虹天地的加密强度不高,最简单的pj方法就是随便买一个狗,然后复制成要解的狗。
深思洛克:也是一个比较有名的,至2001年初最主要的产品就是第四代的深思Ⅲ型加密狗,特点就是用户可在狗中定义自己的算法,这大大加强了其保护能力,但它的CPU功能还不够强,算法上有漏洞,而且只提供一种加密方式,所以也是可以击破的,并且也能硬件复制原狗。此类狗加密的产品有Pkpm 结构计算软件、分析家股票软件、圆方cad软件等等。
深思 Ⅲ 的n阶黑箱模型法:
深思 Ⅲ 的n阶黑箱模型法并不是简单的记忆,而是通过深思 Ⅲ 独特的完全可编程使得深思 Ⅲ 锁对于输入和输出呈现高阶黑箱控制模型的特征。每次调用代码运行时使用锁内存储作为运算变量和参数,改变锁的状态影响后续的调用。用户自定义的代码没有任何的说明书和特征,甚至两次相同的调用会返回不同的有用的结果。这是深思 Ⅲ 独特之处。
以上加密范例并不要求加密者寻找复杂并难以预料的函数关系加以移植。
如果是采用0阶黑箱模型那么输入与输出具有直接的对应关系 y=f(x1,x2),其中x1,x2为本次输入,y为本次输出。这时如果函数关系简单就很容易被解密者破译,比如用迭代法、插值法和列表法等方法逼近;这就迫使加密者寻求复杂函数来防止解密者的破译和仿真。但由于锁内资源的限制使得软件移植几乎不可能。现在采用n阶黑箱模型,就使得输入与输出的对应关系复杂化: yn=f(yn-1,yn-2,yn-3,...,y1,xn1,xn2),其中,y1,y2,...,yn-1为以前n-1次调用输出或隐藏的结果, xn1,xn2为本次(第n次)调用的输入参数。
面对这样的复杂关系,解密者简单地取消中间的任何一次调用都可能使后边的结果发生错误,既使是简单的函数关系也可以被这高阶黑箱过程隐藏得难以推测。这样,借助于高阶黑箱模型法很容易找到应用软件中可以利用的公式或函数作为加密的对象。
n阶黑箱模型法使用过程中一样可以使用码表法,例如,范例中的第一次调用。
但是,这样的码表法不同的加密点互相关联,必须进行整体解密,这就大大地提高了加密强度。使用传统的0阶黑箱模型时,不同的加密点之间互不关联只需各个击破分别解密即可,其复杂度无法与n阶黑箱模型相比。对于比较复杂的函数,尽管锁内没有足够的资源,还是可以通过n阶模型法进行加密处理我们可以将复杂函数化为简单函数的运算组合,例如:y=(a-b)*(a+b)+c可以先计算(a-b)和(a+b)然后将结果相乘再加c。
n阶模型严格说是不可解的(只是目前理论上,也请深思公司记住这一点),因为第n次输出依赖于前n-1次输入和输出,而前n-1次输出可能已部分或全部被隐藏,所以第n次输出无法推测,至少推测n-1次输入产生的输出要比一次输入产生的输出复杂度有质的飞跃。
深思 Ⅲ 具有完备的指令系统,可以通过编程实现n阶或任意阶黑箱模型,每次调用互相关联,并且可以绝对隐藏中间结果,只要使用得当,理论上是不可解的( 我的理论是没有不可解的:)