软件加密狗破解思路和方法

合集下载

加密狗的概述与破解原理

加密狗的概述与破解原理

加密狗的概述与破解原理加密狗的概述:加密狗是外形酷似U盘的一种硬件设备,正名加密锁,后来发展成如今的一个软件保护的通俗行业名词,"加密狗"是一种插在计算机并行口上的软硬件结合的加密产品(新型加密狗也有usb口的)。

一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。

软件开发者可以通过接口函数和软件狗进行数据交换(即对软件狗进行读写),来检查软件狗是否插在接口上;或者直接用软件狗附带的工具加密自己EXE文件(俗称"包壳")。

这样,软件开发者可以在软件中设置多处软件锁,利用软件狗做为钥匙来打开这些锁;如果没插软件狗或软件狗不对应,软件将不能正常执行。

加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。

这种加密产品称它为"智能型"加密狗.加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。

这样,就保证了加密狗硬件不能被复制。

同时,加密算法是不可预知、不可逆的。

加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=12345、DogConver t(A)=43565。

加密狗是为软件开发商提供的一种智能型的软件保护工具,它包含一个安装在计算机并行口或USB 口上的硬件,及一套适用于各种语言的接口软件和工具软件。

加密狗基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用。

加密狗的工作原理:加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。

这种加密产品称它为"智能型"加密狗.加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。

ET99加密狗破狗思路指导

ET99加密狗破狗思路指导
keyID:[in]密钥指示,范围(1—8)
pucText:[in]待计算的数据,大于 0 小于等于 51 个字节
textLen:[in]数据长度,大于 0 小于等于 51
digest:[out]散列结果的数据指针,固定长度 16 个字节。
返回值:
pucKey:[in]密钥,按标准 RFC2104,长度可以任意
ulKey_Len:[in]密钥长度
pucToenKey:[out]硬件计算需要的 KEY,固定 32 字节。
PucDigest:[out]计算结果,固定 16 字节。
返回值:
ET_SUCCESS:表示成功。
这个函数很重要,具有以下用途
1,读取事先定义好的数据
2,软件运行时需要带狗注册的,把注册信息写进狗存储区,然后软件再要事先知道狗内的数据和对应的位置以及数据的长度
怎么得到狗内的数据呢,可以先不写模拟狗,只写个假的函数接口,监视到读狗的PID和PIN之后使用读狗程序读出需要的数据
件需要的 KEY。产生的计算结果,可以与其它系统(如服务器端系统)进行对比,
以验证算法的正确性。匿名状态可用不改变安全状态。
参数:
pucText:[in]等处理的数据缓存区指针,大于 0 小于等于 51 个字节
ulText_Len :[in]数据长度,大于 0 小于等于 51
下面看看相关说明
再次声明:下面的部分内容摘抄自飞天官方的SDK内容,有朋友在前面说了,抄来的SDK谁不会啊
是的抄SDK谁都会,不过我要说的是我的文章只是思路而不是破解过程
想要看过程的,对不起,恕难提供,思路就是万能过程
任何一种狗的操作都是如下流程

加密狗的用法

加密狗的用法

加密狗的用法
(原创版)
目录
1.加密狗的定义和作用
2.加密狗的分类
3.加密狗的使用方法
4.加密狗的优缺点
正文
加密狗,又称加密锁,是一种用于软件加密的技术。

它的主要作用是保护软件开发者的知识产权,防止未经授权的破解、盗版和传播。

加密狗可以分为硬件加密狗和软件加密狗两种,它们各有优缺点,适用于不同的场景。

硬件加密狗是一种外接设备,需要插入计算机的 USB 接口。

它的优点是安全性高,不易被破解;缺点是使用起来较为繁琐,需要用户每次启动软件时都插入设备。

软件加密狗则是一种内置于软件中的加密技术,优点是方便使用,无需额外设备;缺点是相对容易被破解。

使用加密狗时,需要按照以下步骤进行:
1.选择合适的加密狗:根据软件的特性和需求,选择适合的加密狗类型。

2.初始化加密狗:在软件中添加加密狗的相关代码,使其能够与加密狗进行通信。

3.写入密钥:将加密狗中的密钥写入软件中,作为软件运行时的密钥。

4.验证密钥:在软件运行时,通过加密狗验证用户输入的密钥是否与加密狗中的密钥匹配,以决定是否允许软件运行。

加密狗的优点在于能够有效地保护软件开发者的知识产权,防止盗版和破解。

然而,它也存在一定的缺点,如硬件加密狗使用起来较为繁琐,软件加密狗相对容易被破解等。

加密狗-软件保护解决方案

加密狗-软件保护解决方案
微狗开发套件V3.4包括如下新增功能:
UMC/PA10硬件升级——对于大于871440系列号的UMC/PA10硬件,微狗开发套件V3.4支持同号级联,用户可以订购小于871440系列号的UMC/PA10硬件,它密码长度为2字节,遵循MF硬件标准。
加密接口模块升级——微狗V3.4更新了Win32/Linux下的所有加密接口模块。
集成了原有DogEdt32.exe、Reveal.exe、Convert.exe三个工具,并新增错误码查询功能,令硬件狗编辑调试过程更趋简捷、顺畅。
高强度动态库加密方式
在原有加密方式基础上,新增C语言高强度动态库加密方式,并有效运用动态库认证安全机制,确保动态库调用具有无与伦比的安全可靠性。
支持ActiveX控件
AUTOCAD模块
增加了AUTOCAD14/2000的接口及源码
ActiveX模块
开发商可以在网页中或VB、VC中使用ActiveX控件对硬件狗进行操作
DLLControl模块
提供对.ASP的调用接口
VisualFortran模块
提供VisualFortran接口示例
.NET模块
提供了C#和.NET接口示例
可级联
网络狗支持多个不同号狗级联,体积更小,使用方便。
时间闸
网络狗内部设有时间闸,各种操作必须在规定的时间内完成。网络狗正常操作用时很短,但跟踪时用时较长,超过规定时间网络狗将返回错误结果。
工具
新增功能
全新的硬件服务程序
支持windows、linux、netware三大操作系统
支持两种网络狗硬件
1、不含时钟芯片硬件:并口网络狗(PNH);USB口网络狗(UNC)
微狗MicroDog升级到v3.4版本

广联达施工程序解密狗(3篇)

广联达施工程序解密狗(3篇)

第1篇随着我国建筑行业的快速发展,广联达施工程序在我国建筑行业中得到了广泛应用。

然而,广联达施工程序解密狗的出现,使得许多用户面临着程序解密难题。

本文将为大家揭秘广联达施工程序解密狗的破解之道,并探讨其中的安全思考。

一、广联达施工程序解密狗的背景广联达施工程序是一款集施工、设计、管理等功能于一体的建筑行业软件。

为了保护软件的知识产权,广联达公司对软件进行了加密。

然而,在软件推广过程中,一些用户为了方便使用,试图破解软件,解密狗应运而生。

二、广联达施工程序解密狗的破解方法1. 使用破解工具:市面上有许多破解工具可以帮助用户破解广联达施工程序。

这些工具通常包括破解器、激活码等,用户只需按照提示操作即可完成破解。

2. 手动破解:部分用户通过研究软件代码,找出加密算法的漏洞,手动破解软件。

这种方法需要一定的编程能力和耐心。

3. 联系厂家:用户可以通过联系广联达厂家,寻求官方授权。

厂家可能会提供免费或付费的授权服务,帮助用户解除加密限制。

三、安全思考1. 破解软件可能存在风险:使用破解工具或手动破解软件,可能会存在病毒、木马等恶意软件的风险。

用户在使用过程中,应谨慎选择破解工具,避免遭受损失。

2. 知识产权保护:破解软件侵犯了广联达公司的知识产权,可能导致法律责任。

用户在破解软件时,应充分了解相关法律法规,避免违法行为。

3. 软件安全性:破解后的软件可能存在安全隐患,导致用户数据泄露、系统崩溃等问题。

因此,用户在破解软件后,应加强对软件的安全管理。

四、总结广联达施工程序解密狗的破解方法有多种,但用户在使用过程中应充分考虑安全因素。

在此,我们呼吁广大用户尊重知识产权,合理使用软件。

同时,广联达公司也应加强软件加密技术,提高软件安全性,为用户提供更好的产品和服务。

第2篇随着我国建筑行业的飞速发展,建筑企业对施工管理软件的需求日益增长。

其中,广联达施工程序以其强大的功能、便捷的操作和良好的口碑,成为众多建筑企业的首选。

某加密狗破解

某加密狗破解

某加密狗破解这是很久以前的软件了,原来破解的时候写下了点东西,今天看到了就顺便把它发上来,由于原来只是做的简单的笔记,今天稍微补充了点,由于找不到原程序,所以也不是很完整,希望大家谅解!下面就直接贴代码了:0028:CE5AA885 88442405 MOV [ESP+05],AL ; 这儿.0028:CE5AA889 66C746680100 MOV WORD PTR [ESI+68],00010028:CE5AA88F 8A442405 MOV AL,[ESP+05]0028:CE5AA893 884615 MOV [ESI+15],AL0028:CE5AA896 884614 MOV [ESI+14],AL0028:CE5AA899 5E POP ESI0028:CE5AA89A 83C404 ADD ESP,040028:CE5AA89D C3 RET0028:CE5AA89E CC INT 30028:CE5AA89F CC INT 30028:CE5AA8A0 83EC04 SUB ESP,040028:CE5AA8A3 56 PUSH ESI0028:CE5AA8A4 8B74240C MOV ESI,[ESP+0C]0028:CE5AA8A8 56 PUSH ESI0028:CE5AA8A9 E832000000 CALL CE5AA8E00028:CE5AA8AE 668B465C MOV AX,[ESI+5C]0028:CE5AA8B2 83C404 ADD ESP,040028:CE5AA8B5 6689442406 MOV [ESP+06],AX0028:CE5AA8BA 8A4658 MOV AL,[ESI+58]0028:CE5AA8BD 243F AND AL,3F0028:CE5AA8BF 88442405 MOV [ESP+05],AL0028:CE5AA8C3 8A442405 MOV AL,[ESP+05]0028:CE5AA8C7 668B542406 MOV DX,[ESP+06]0028:CE5AA8CC EE OUT DX,AL0028:CE5AA8CD 5E POP ESI0028:CE5AA8CE 83C404 ADD ESP,040028:CE5AA8D1 C3 RET我们是在chat_to_dongle routine. 而且如果我们看下面的data部分,我们看到:SENTINELXXX... 这是什么啊?! 你应该知道有什么公司提供这种加狗的服务如: Hasp, Sentinel, DesKEY, Activator/Unikey 还有许多其它的.因此,我们可以推断碰到的是一个SENTINEL 狗加密!我们现在在SENTINEL.VXD 文件... 回到文章中来,我们停在这儿:0028:CE5AA885 88442405 MOV [ESP+05],AL ; 这里..0028:CE5AA889 66C746680100 MOV WORD PTR [ESI+68],00010028:CE5AA88F 8A442405 MOV AL,[ESP+05]0028:CE5AA893 884615 MOV [ESI+15],AL0028:CE5AA896 884614 MOV [ESI+14],AL我们要看是关于可执行文件的CALL,所以我们要按三四次F12,我们会在这儿:0028:CE5B35D6 50 PUSH EAX0028:CE5B35D7 55 PUSH EBP0028:CE5B35D8 57 PUSH EDI0028:CE5B35D9 E8D2FEFFFF CALL CE5B34B0 ; 我们的call :) 0028:CE5B35DE C06C241F01 SHR BYTE PTR [ESP+1F],01 ;回到这儿. 0028:CE5B35E3 83C40C ADD ESP,0C0028:CE5B35E6 0AD8 OR BL,AL0028:CE5B35E8 664E DEC SI0028:CE5B35EA 75E1 JNZ CE5B35CD0028:CE5B35EC C0EB01 SHR BL,010028:CE5B35EF 6A64 PUSH 640028:CE5B35F1 57 PUSH EDI0028:CE5B35F2 E8C979FFFF CALL CE5AAFC00028:CE5B35F7 8A44241B MOV AL,[ESP+1B]0028:CE5B35FB 83C408 ADD ESP,080028:CE5B35FE 2401 AND AL,010028:CE5B3600 50 PUSH EAX0028:CE5B3601 55 PUSH EBP0028:CE5B3602 57 PUSH EDI0028:CE5B3603 E8A8FEFFFF CALL CE5B34B00028:CE5B3608 83C40C ADD ESP,0C0028:CE5B360B 0AD8 OR BL,AL0028:CE5B360D 66BE0300 MOV SI,00030028:CE5B3611 6A64 PUSH 640028:CE5B3613 C06C241701 SHR BYTE PTR [ESP+17],010028:CE5B3618 57 PUSH EDI在CALL 中:0028:CE5B35D6 50 PUSH EAX0028:CE5B35D7 55 PUSH EBP0028:CE5B35D8 57 PUSH EDI0028:CE5B35D9 E8D2FEFFFF CALL CE5B34B00028:CE5B35DE C06C241F01 SHR BYTE PTR [ESP+1F],010028:CE5B35E3 83C40C ADD ESP,0C0028:CE5B35E6 0AD8 OR BL,AL0028:CE5B35E8 664E DEC SI0028:CE5B35EA 75E1 JNZ CE5B35CD0028:CE5B35EF 6A64 PUSH 640028:CE5B35F1 57 PUSH EDI0028:CE5B35F2 E8C979FFFF CALL CE5AAFC00028:CE5B35F7 8A44241B MOV AL,[ESP+1B] 0028:CE5B35FB 83C408 ADD ESP,080028:CE5B35FE 2401 AND AL,010028:CE5B3600 50 PUSH EAX0028:CE5B3601 55 PUSH EBP0028:CE5B3602 57 PUSH EDI0028:CE5B3603 E8A8FEFFFF CALL CE5B34B00028:CE5B3608 83C40C ADD ESP,0C0028:CE5B360B 0AD8 OR BL,AL0028:CE5B360D 66BE0300 MOV SI,00030028:CE5B3611 6A64 PUSH 640028:CE5B3613 C06C241701 SHR BYTE PTR [ESP+17],01 0028:CE5B3618 57 PUSH EDI0028:CE5B3619 E8A279FFFF CALL CE5AAFC00028:CE5B361E 83C408 ADD ESP,080028:CE5B3621 C0EB01 SHR BL,010028:CE5B3624 8A442413 MOV AL,[ESP+13] 0028:CE5B3628 2401 AND AL,010028:CE5B362A 50 PUSH EAX0028:CE5B362B 55 PUSH EBP0028:CE5B362C 57 PUSH EDI0028:CE5B362D E87EFEFFFF CALL CE5B34B00028:CE5B3632 C06C241F01 SHR BYTE PTR [ESP+1F],01 0028:CE5B3637 83C40C ADD ESP,0C0028:CE5B363A 0AD8 OR BL,AL0028:CE5B363C 664E DEC SI0028:CE5B363E 75E1 JNZ CE5B36210028:CE5B3640 6A05 PUSH 050028:CE5B3642 80E380 AND BL,800028:CE5B3645 68DF000000 PUSH 000000DF0028:CE5B364A 57 PUSH EDI0028:CE5B364B FF5718 CALL [EDI+18]0028:CE5B364E 83C40C ADD ESP,0C0028:CE5B3651 B900000000 MOV ECX,00000000 0028:CE5B3656 80FB01 CMP BL,010028:CE5B3659 5D POP EBP0028:CE5B365A 83D1FF ADC ECX,-010028:CE5B365D 5F POP EDI0028:CE5B365E 6683E103 AND CX,030028:CE5B3662 5E POP ESI0028:CE5B3666 5B POP EBX0028:CE5B3667 83C404 ADD ESP,040028:CE5B366A C3 RETOk,看看下面的代码并不能帮助我们什么:( 我看过几篇关于狗加密的教程.我们做的这几步,应该是已经完成了.我想,在CALL后面,会有一个关于狗的CMP ,如果值是和狗相同,那么就通过,否则就会加上一个错误的旗标...... 但是,我们是不幸运的,这里不是那么简单!的.通过和代码游戏(跟踪call,寻找一些比较的代码),我按很多次F12 ,但是找不到一点好东西!BTW,我无从这该死的Sentinel的VXD中出来!按住F12,可是什么都没有变!VDX使我陷入困境了......我希望回到Acad.exe 文件中!我不希望破解狗硬件,大多数的时候,狗保护的弱点一般都是在目标本身!我试了BPIO -h 378 R让我们在I/O-port 上试试其它的断点:378 已经试过了3BC 这个;)278 这个也是;o)OK,运行软件,但是却没有拦截;( 我的天啊!因为它是一个VDX ,所以我也试了bpx CreateFileA ,但是走不了多久......那么,为什么不反汇编它呢?运气好说不定能找到一些在字符串中找到一些关于出错的信息(不要做梦了,那是不可能有的!!:p)现在你能用工具中的啤酒了;) 因为我们要花很长时间去反汇编!!!! 那就是我为什么不用IDA的原因了! BTW, 我们的目标可执行文件大概是7.24 mb!好了,现在你知道为什么要花这么多时间了吧..喝过酒后,一觉醒来.经过这么长的时间,终于反汇编好了! 首先,保存结果!我们不希望再等那么多时间,不是吗?如果你的电脑死机或者其它原因,你只有再等那么多时间了!再喝一次酒,呵呵!完了吗? Ok!我们愚蠢的想法是去找字符串,运气不佳,没有,其实是意料之中:p 那么让我们想想!我们怎样攻击它呢? 我们看看Import 表吧!看看狗到底调用了什么函数:) 我们可以找到一个"l33t0" API 函数!哈哈,我想会有一些好东西了, 我们来看看内核......太太太好了:) 我找到一些有趣的东西了:DeviceIoControl从没有看过,但是名称,听起来非常好,不是吗?呵呵!去除所有的断点只在softice中输入: 'bc *' 和: 'BPX DeviceIocontrol'现在运行我们的软件! 哈哈,它拦截下来了:) 按F12,我们跳出了dll文件来到了ACAD.exe :) 让我们和代码玩耍吧.......先看代码, 我按F12几次直到在一个好位置.下面是来自我的winice.log 的一部分::bl00) BPX KERNEL32!DeviceIoControl // Damn good :)Break due to BPX KERNEL32!DeviceIoControlBreak due to BPX KERNEL32!DeviceIoControlBreak due to BPX KERNEL32!DeviceIoControlBreak due to BPX KERNEL32!DeviceIoControlBreak due to BPX KERNEL32!DeviceIoControlBreak due to BPX KERNEL32!DeviceIoControl// 你在这可以看到我在找到好地方之前被拦截下来多少次// 你用这个bpx 的时候,你按F5 3 次,一会有拦截下来,// 你再按两次后停在了这儿:025F:0098B1AF 668B442402 MOV AX,[ESP+02] ; EAX = 一些值025F:0098B1B4 83C404 ADD ESP,04025F:0098B1B7 C20800 RET 0008025F:0098B1BA 8D9B00000000 LEA EBX,[EBX+00000000]025F:0098B1C0 33C0 XOR EAX,EAX025F:0098B1C2 8A442408 MOV AL,[ESP+08]025F:0098B1C6 83F801 CMP EAX,01025F:0098B1C9 7415 JZ 0098B1E0025F:0098B1CB 83F802 CMP EAX,02025F:0098B1CE 7456 JZ 0098B226025F:0098B1D0 83F803 CMP EAX,03025F:0098B1D3 0F8497000000 JZ 0098B270025F:0098B1D9 C20800 RET 0008// 通过RET 后,我们落在这儿:025F:006ABE9A 0FBFC0 MOVSX EAX,AX ; 呵呵:)025F:006ABE9D 83F8FF CMP EAX,-01 ; EAX = FFFF ?!025F:006ABEA0 7405 JZ 006ABEA7 ; 跳转到6abea7025F:006ABEA2 25FFFF0000 AND EAX,0000FFFF025F:006ABEA7 5F POP EDI025F:006ABEA8 C3 RET ; 返回....// 这是最重要的部分:025F:006ABD94 83C404 ADD ESP,04025F:006ABD97 85C0 TEST EAX,EAX025F:006ABD99 7C36 JL 006ABDD1025F:006ABD9B 8D44240C LEA EAX,[ESP+0C]025F:006ABD9F 50 PUSH EAX025F:006ABDA0 E8DB000000 CALL 006ABE80025F:006ABDA5 83C404 ADD ESP,04025F:006ABDA8 85C0 TEST EAX,EAX025F:006ABDAA 7C25 JL 006ABDD1025F:006ABDAC 686071A700 PUSH 00A77160025F:006ABDB1 E8CA000000 CALL 006ABE80025F:006ABDB6 83C404 ADD ESP,04025F:006ABDB9 85C0 TEST EAX,EAX025F:006ABDBB 7C14 JL 006ABDD1025F:006ABDBD 68F470A700 PUSH 00A770F4025F:006ABDC2 E8B9000000 CALL 006ABE80025F:006ABDC7 83C404 ADD ESP,04025F:006ABDCA 3DFDDC0000 CMP EAX,0000DCFD ; eax= DCFD? 025F:006ABDCF 7408 JZ 006ABDD9 ; 好! 狗025F:006ABDD1 47 INC EDI ; 锁住了:)025F:006ABDD2 83FF04 CMP EDI,04025F:006ABDD5 7EA3 JLE 006ABD7A025F:006ABDD7 EB17 JMP 006ABDF0 ; 知道吗?025F:006ABDD9 8B0D8871A700 MOV ECX,[00A77188] ;狗在这儿025F:006ABDDF 6633F6 XOR SI,SI025F:006ABDE2 A18471A700 MOV EAX,[00A77184]025F:006ABDE7 8B1481 MOV EDX,[EAX*4+ECX]025F:006ABDEA C70202000000 MOV DWORD PTR [EDX],00000002 025F:006ABDF0 8B0D8471A700 MOV ECX,[00A77184] ;没有狗:/ 025F:006ABDF6 A18871A700 MOV EAX,[00A77188]025F:006ABDFB 8B1488 MOV EDX,[ECX*4+EAX]025F:006ABDFE 8D0C88 LEA ECX,[ECX*4+EAX]025F:006ABE01 8B1D8471A700 MOV EBX,[00A77184]025F:006ABE07 8B02 MOV EAX,[EDX]025F:006ABE09 35A9B50000 XOR EAX,0000B5A9025F:006ABE0E 03C3 ADD EAX,EBX025F:006ABE10 A3A471A700 MOV [00A771A4],EAX025F:006ABE15 8B11 MOV EDX,[ECX]025F:006ABE17 833A00 CMP DWORD PTR [EDX],00025F:006ABE1A 752F JNZ 006ABE4B025F:006ABE1C E81F010000 CALL 006ABF40025F:006ABE21 35A9B50000 XOR EAX,0000B5A9025F:006ABE26 3D564AFFFF CMP EAX,FFFF4A56025F:006ABE2B 741E JZ 006ABE4B--------------------------- 8< ---------------------- 截取:pOk,我首先想到的是改变:025F:006ABDCA 3DFDDC0000 CMP EAX,0000DCFD ; 是eax= DCFD ?025F:006ABDCF 7408 JZ 006ABDD9 ; 好的! 狗锁住了成为:025F:006ABDCA 3DFDDC0000 CMP EAX,0000DCFD025F:006ABDCF EB08 JMP 006ABDD9 ;不管EAX 了,我跳:p但是,EAX 的值很重要,否则是会崩溃的:( 我们也看到了很多处都调用了EAX 寄存器,检查了好几次哦!那么,我们只有暴力使EAX 的值等于DCFD 了!你还不清除吗,新手?EAX的值为什么要等于DCFD?你没看到:CMP EAX,0000DCFD吗?先在大家都清楚了吧!我们到哪去修改目标呢?想想什么时候对AX 赋值的?我清理一下内存,整理出下面这段代码:025F:0098B1AF 668B442402 MOV AX,[ESP+02] ; EAX = 一些值.025F:0098B1B4 83C404 ADD ESP,04025F:0098B1B7 C20800 RET 0008025F:0098B1BA 8D9B00000000 LEA EBX,[EBX+00000000]025F:0098B1C0 33C0 XOR EAX,EAX025F:0098B1C2 8A442408 MOV AL,[ESP+08]025F:0098B1C6 83F801 CMP EAX,01025F:0098B1C9 7415 JZ 0098B1E0025F:0098B1CB 83F802 CMP EAX,02025F:0098B1CE 7456 JZ 0098B226025F:0098B1D0 83F803 CMP EAX,03025F:0098B1D3 0F8497000000 JZ 0098B270025F:0098B1D9 C20800 RET 0008很老的软件了,我想现在网上应该是找不到了,我也没搜到,所以这篇文章有点四不像吧,整理出来也就这样子了……加密狗破解破解之轻松解被MoleBox打包了的程序PEiD查壳为MoleBox V2.3X -> * Sign.By.fly [Overlay] *1、用OD载入,hr ESP2、bp VirtualProtect中断三次返回,删除断点3、Ctrl+B:89 01---nop掉,----->干掉IAT加密,难点,如果这里不NOP掉,则在找到IAT时会有无效函数,且无法修复00531EF2 8901 mov dword ptr ds:[ecx],eax //此行代码NOP掉4、F9 4次,直达OEP。

加密狗加密与解密方法技术白皮书

加密狗加密与解密方法技术白皮书

加密狗加密与解密方法加密狗加密方法1 打开EZCAD软件包,找到“JczShareLock3.exe”执行程序。

2 双击执行该程序,弹出“Select parameter”对话框,如图1所示。

在图中可以看出我们可以设置两级密码,这两个密码是完全独立的,其中任何一次使用达到设定要求以后,加密狗就会限定板卡的使用权限。

如同时设置两级密码,权限应不同,即这两个密码设置的时间等权限长短不一。

如图,软件默认的是一级密码选中状态,如果想选择二级密码直接点选即可。

图1 Select Parameter3 当我们选择好设定密码的级数后,点击确定按钮,弹出“JczShareLock”对话框,如图2是软件默认的发布版界面,点击下拉菜单,我们可以选择共享版模式,如图3。

图2 发布版界面图3 共享版界面下面我们分别说明发布版模式和共享版模式的加密方法。

4 首先是发布版模式如图2。

发布版模式下没有次数,天数,时间等的设置,只有密码设置,主要应用于保护自己模式的设置,防止别人更改。

点击“写入/Write In”按钮,进入密码写入界面。

如图4。

如果我们是第一次写入密码,那么就直接勾选修改密码选项,在新密码下面的前一个输入栏里输入4位数字,在后面的输入栏里输入4数字,这样完成了密码的初步设定,然后在确认密码下的输入栏内重复输入上面设定的密码,然后点击确认,完成密码的设定。

如果我们是修改密码的话,那么我们首先要在密码写入界面上方的输入密码下的正确输入栏内输入以前设定的密码,然后在勾选修改密码,输入新的密码。

否则修改密码就会失败,并出现“密码错误”提示信息。

图4 密码写入界面5 共享版的密码设定,如图3是共享版的界面。

在这里我们首先要设定好限制使用的次数,天数,时间,直接在后面的输入栏内直接输入即可。

这里注意:我们所设定的时间,天数是以软件运行所在电脑的内部时钟为准的,我们编写之前一定要注意,我们所使用的电脑的时间是否准确。

设定好这些后点击“写入/Write In”按钮,进入密码写入界面。

教你如何破解加密狗

教你如何破解加密狗

教你如何破解加密狗[分享] 教你如何破解加密狗hasp 系列加密狗破解有的朋友认为很难,其实不然,只要有足够的耐心和技术基础。

是没有问题的。

--------------------------------------------------------------------------------------------------------004015FF |. 8D95 ACFBFFFF lea edx,[local.277]00401605 |. 52 push edx00401606 |. 8B85 F8FBFFFF mov eax,[local.258]0040160C |. 50 push eax0040160D |. 8B8D A8FBFFFF mov ecx,[local.278]00401613 |. 51 push ecx00401614 |. 68 D4E54000 pushAPP.0040E5D4 ; ASCII "EN"00401619 |. 8B55 E8 mov edx,[local.6]0040161C |. 52 push edx0040161D |. E8 8E230000 call<jmp.&user_dll.sui_In> ;这个CALL只要一执行,就死掉,所以必须跟进00401622 |. 8945 EC mov [local.5],eax00401625 |. 8B45 EC mov eax,[local.5]00401628 |> 8B4D F4 mov ecx,[local.3]0040162B |. 64:890D 00000000 mov fs:[0],ecx00401632 |. 8B4D E4 mov ecx,[local.7]00401635 |. E8 C72D0000 call APP.004044010040163A |. 8BE5 mov esp,ebp0040163C |. 5D pop ebp0040163D \. C3 retn--------------------------------------------------------------------------------------------------------跟进后出现一下代码,看第一行,就是0040161D 处调用的函数,再看右面的注释,心跳加快,InitSystem,从名字上你都能猜想它会干什么,对,读狗的相关代码就应该在这儿初始化(当然还要初始化其他信息),继续跟进--------------------------------------------------------------------------------------------------------004039B0 $- FF25 C8554000 jmp ds:[<&user_In>] ; InitSystem004039B6 $- FF25 C4554000 jmp ds:[<&user_Star>] ; StartProgram004039BC $- FF25 C0554000 jmp ds:[<&user_Mai>]004039C2 $- FF25 AC544000 jmp ds:[<&XXX_DLL.#3>]004039C8 $- FF25 A8544000 jmp ds:[<&XXX_DLL.#47>]--------------------------------------------------------------------------------------------------------跟进后,代码是一系列的IsBadReadPtr,由此判断该处是初始化内存工作,离读狗还用有一段距离。

注册码破解加密狗破解系列教程某数控钻铣软件去除加密狗分析全过程

注册码破解加密狗破解系列教程某数控钻铣软件去除加密狗分析全过程

注册码加密狗破解系列教程某数控钻铣软件破解分析全过程标签tag:私仁定制软件破解P2P破解分析注册机注册码使用日期软件限制序列号加密狗去除注册码去除使用日期去除软件限制去除序列号去除加密狗去除限制功能去除功能限制增加用户写狗的KEY时0045B030 /$ 83C4 F0 ADD ESP,-100045B033 |. C70424 2E613A42 MOV DWORD PTR SS:[ESP],423A612E0045B03A |. C74424 04 958C3A42 MOV DWORD PTR SS:[ESP+4],423A8C950045B042 |. C74424 08 5CC27484 MOV DWORD PTR SS:[ESP+8],8474C25C0045B04A |. C74424 0C C3ED7484 MOV DWORD PTR SS:[ESP+C],8474EDC30045B052 |. E8 45EBFFFF CALL <JMP.&matrix32.Init_MatrixAPI>0045B057 |. 66:A3 0EEC4500 MOV WORD PTR DS:[45EC0E],AX0045B05D |. 66:A1 0CEC4500 MOV AX,WORD PTR DS:[45EC0C]0045B063 |. 50 PUSH EAX0045B064 |. E8 6BEBFFFF CALL <JMP.&matrix32.Dongle_Count>0045B069 |. 66:8B15 0CEC4500 MOV DX,WORD PTR DS:[45EC0C]0045B070 |. 52 PUSH EDX0045B071 |. 50 PUSH EAX0045B072 |. 8D4424 08 LEA EAX,DWORD PTR SS:[ESP+8]0045B076 |. 50 PUSH EAX0045B077 |. 68 A3B20000 PUSH 0B2A30045B07C |. E8 73EBFFFF CALL <JMP.&matrix32.Dongle_WriteKey>0045B081 |. E8 1EEBFFFF CALL <JMP.&matrix32.Release_MatrixAPI>0045B086 |. 66:A3 0EEC4500 MOV WORD PTR DS:[45EC0E],AX0045B08C |. 83C4 10 ADD ESP,100045B08F \. C3 RETN程序XTEA运行时:0045B0B1 |. C745 F8 D2029649 MOV DWORD PTR SS:[EBP-8],499602D20045B0B8 |. C745 FC D2029649 MOV DWORD PTR SS:[EBP-4],499602D20045B0BF |. C703 2E613A42 MOV DWORD PTR DS:[EBX],423A612E0045B0C5 |. C743 04 958C3A42 MOV DWORD PTR DS:[EBX+4],423A8C950045B0CC |. C743 08 5CC27484 MOV DWORD PTR DS:[EBX+8],8474C25C0045B0D3 |. C743 0C C3ED7484 MOV DWORD PTR DS:[EBX+C],8474EDC3====================================================================================== 读数据时1000735B |. 50 |PUSH EAX ; /Arg5还在自己破解软件?OUT了!这么难啃的骨头,交给专业人士吧。

软件加密狗破解思路和方法

软件加密狗破解思路和方法

软件加密狗破解思路和方法第一节软件加密狗破解思路和方法本文介绍的是软件加密狗破解的一般思路和方法,大家可能奇怪,昨天刚刚介绍完“软件加密锁产品评测”,怎么今天就介绍加密狗破解知识?其实做为软件开发者,研究好软件加密的确很重要,不过也很有必要多了解一些关于加密狗解密和破解的知识,加密和破解就像矛和盾一样,对于解密知识了解的越多,那么编写的加密代码就越好,要知道加密永远都比解密要容易的多,只有知己知彼,方能百战百胜。

硬件加密锁,俗程“加密狗”,对于加密狗的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过SoftICE等Debug工具调试跟踪解密,一种是通过编写拦截程序修改软件和加密狗之间的通讯。

硬件克隆复制主要是针对国产芯片的加密狗,因为国产加密狗公司一般没有核心加密芯片的制造能力,因此有些使用了市场上通用的芯片,破解者分析出芯片电路以及芯片里写的内容后,就可以立刻复制或克隆一个完全相同的加密狗。

不过国外的加密狗就无法使用这种方法,国外加密狗硬件使用的是安全性很好的自己研制开发的芯片,通常很难进行复制,而且现在国内加密狗也在使用进口的智能卡芯片,因此这种硬件克隆的解密方法用处越来越少。

对于Debug调试破解,由于软件的复杂度越来越高,编译器产生的代码也越来越多,通过反汇编等方法跟踪调式破解的复杂度已经变得越来越高,破解成本也越来越高,目前已经很少有人愿意花费大量精力进行如此复杂的破解,除非被破解的软件具有极高的价值。

目前加密锁(加密狗)的解密破解工作主要集中在应用程序与加密动态库之间的通讯拦截。

这种方法成本较低,也易于实现,对待以单片机等芯片为核心的加密锁(加密狗)具有不错的解密效果。

由于加密锁(加密狗)的应用程序接口(API)基本上都是公开的,因此从网上可以很容易下载到加密狗的编程接口API、用户手册、和其它相关资料,还可以了解加密狗技术的最新进展。

例如,某个国内知名的美国加密狗提供商的一款很有名的加密狗,其全部编程资料就可以从网上获取到,经过对这些资料的分析,我们知道这个加密锁(加密狗)有64个内存单元,其中56个可以被用户使用,这些单元中的每一个都可以被用为三种类型之一:算法、数据值和计数器。

某制图软件域天加密狗破解过程

某制图软件域天加密狗破解过程

某制图软件域天加密狗破解过程某制图软件域天加密狗破解过程--------------------------------------------------------------------------------来源: 发布时间: 2011-9-20 22:08:30 浏览: 7这是一个商业软件,具体名称就不写出来了,主要用于企事业单位的网络图形化设计,在没有加密狗的情况下软件有功能限制,一个工程最多只能保存800个节点,再添加节点就无法保存了。

对一般的小企业是足够了,如果碰上大的单位,这个限制就使用该软件无法胜任。

经过软件跟踪发现,该软件用的是域天加密狗。

用PEID检测,提示为Microsoft Visual Basic 5.0 / 6.0。

用OD加载:00423C24 &gt; $ 68 883F4200 push VisualNe.00423F88 ; ASCII &quot;VB5!6&amp;vb6chs.dll&quot;00423C29 . E8 F0FFFFFF call &lt;jmp.&amp;MSVBVM60.#100&gt;00423C2E . 0000 add byte ptr ds:[eax],al00423C30 . 0000 add byte ptr ds:[eax],al00423C32 . 0000 add byte ptr ds:[eax],al00423C34 . 3000 xor byte ptr ds:[eax],al00423C36 . 0000 add byte ptr ds:[eax],al由于软件只是在节点数达到800的时候才无法保存工程,所以我们只需要找到保存文件的函数:0103E179 . 66:8985 CCFEF&gt;mov word ptr ss:[ebp-0x134],ax0103E180 . 8D4D D8 lea ecx,dword ptr ss:[ebp-0x28]0103E183 . FF15 30144000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaFreeS&gt;; MSVBVM60.__vbaFreeStr0103E189 . 8D4D A8 lea ecx,dword ptr ss:[ebp-0x58]0103E18C . FF15 2C104000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaFreeV&gt;; MSVBVM60.__vbaFreeVar0103E192 . 0FBF8D CCFEFF&gt;movsx ecx,word ptr ss:[ebp-0x134]0103E199 . 85C9 test ecx,ecx0103E19B . 0F84 B7130000 je VisualNe.0103F558 //加密狗破解关键跳转,NOP掉0103E1A1 . C745 FC 1B000&gt;mov dword ptr ss:[ebp-0x4],0x1B0103E1A8 . 6A 00 push 0x00103E1AA . 6A 01 push 0x10103E1AC . 8B95 B4FEFFFF mov edx,dword ptr ss:[ebp-0x14C]0103E1B2 . 52 push edx0103E1B3 . 8D45 A8 lea eax,dword ptr ss:[ebp-0x58]0103E1B6 . 50 push eax0103E1B7 . FF15 08124000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaLateI&gt;; MSVBVM60.__vbaLateIdCallLd0103E1BD . 83C4 10 add esp,0x100103E1C0 . 50 push eax0103E1C1 . FF15 3C104000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaStrVa&gt;; MSVBVM60.__vbaStrVarMove0103E1C7 . 8945 A0 mov dword ptr ss:[ebp-0x60],eax0103E1CA . C745 98 08000&gt;mov dword ptr ss:[ebp-0x68],0x80103E1D1 . 6A 00 push 0x00103E1D3 . 8D4D 98 lea ecx,dword ptr ss:[ebp-0x68]0103E1D6 . 51 push ecx0103E1D7 . FF15 DC124000 call dword ptr ds:[&lt;&amp;MSVBVM60.#645&gt;] ; MSVBVM60.rtcDir0103E1DD . 8BD0 mov edx,eax0103E1DF . 8D4D D8 lea ecx,dword ptr ss:[ebp-0x28]0103E1E2 . FF15 CC134000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaStrMo&gt;; MSVBVM60.__vbaStrMove0103E1E8 . 50 push eax0103E1E9 . 68 883E4500 push VisualNe.00453E880103E1EE . FF15 AC114000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaStrCm&gt;; MSVBVM60.__vbaStrCmp0103E1F4 . F7D8 neg eax0103E1F6 . 1BC0 sbb eax,eax0103E1F8 . F7D8 neg eax0103E1FA . F7D8 neg eax0103E1FC . 66:8985 CCFEF&gt;mov word ptr ss:[ebp-0x134],ax0103E203 . 8D4D D8 lea ecx,dword ptr ss:[ebp-0x28]0103E206 . FF15 30144000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaFreeS&gt;; MSVBVM60.__vbaFreeStr0103E20C . 8D55 98 lea edx,dword ptr ss:[ebp-0x68]0103E20F . 52 push edx0103E210 . 8D45 A8 lea eax,dword ptr ss:[ebp-0x58]0103E213 . 50 push eax0103E214 . 6A 02 push 0x20103E216 . FF15 4C104000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaFreeV&gt;; MSVBVM60.__vbaFreeVarList0103E21C . 83C4 0C add esp,0xC0103E21F . 0FBF8D CCFEFF&gt;movsx ecx,word ptr ss:[ebp-0x134]0103E226 . 85C9 test ecx,ecx0103E228 . 0F84 DD030000 je VisualNe.0103E60B //加密狗破解关键点,NOP 掉0103E22E . C745 FC 1C000&gt;mov dword ptr ss:[ebp-0x4],0x1C0103E235 . C745 80 04000&gt;mov dword ptr ss:[ebp-0x80],0x800200040103E23C . C785 78FFFFFF&gt;mov dword ptr ss:[ebp-0x88],0xA0103E246 . C745 90 04000&gt;mov dword ptr ss:[ebp-0x70],0x800200040103E24D . C745 88 0A000&gt;mov dword ptr ss:[ebp-0x78],0xA0103E254 . C745 A0 04000&gt;mov dword ptr ss:[ebp-0x60],0x800200040103E25B . C745 98 0A000&gt;mov dword ptr ss:[ebp-0x68],0xA0103E262 . C785 70FFFFFF&gt;mov dword ptr ss:[ebp-0x90],VisualNe.004&gt;0103E26C . C785 68FFFFFF&gt;mov dword ptr ss:[ebp-0x98],0x80103E276 . 8D95 68FFFFFF lea edx,dword ptr ss:[ebp-0x98]0103E27C . 8D4D A8 lea ecx,dword ptr ss:[ebp-0x58]0103E27F . FF15 80134000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaVarDu&gt;; MSVBVM60.__vbaVarDup0103E285 . 8D95 78FFFFFF lea edx,dword ptr ss:[ebp-0x88]0103E28B . 52 push edx0103E28C . 8D45 88 lea eax,dword ptr ss:[ebp-0x78]0103E28F . 50 push eax0103E290 . 8D4D 98 lea ecx,dword ptr ss:[ebp-0x68]0103E293 . 51 push ecx0103E294 . 6A 44 push 0x440103E296 . 8D55 A8 lea edx,dword ptr ss:[ebp-0x58]0103E299 . 52 push edx0103E29A . FF15 08114000 call dword ptr ds:[&lt;&amp;MSVBVM60.#595&gt;] ; MSVBVM60.rtcMsgBox0103E2A0 . 33C9 xor ecx,ecx0103E2A2 . 83F8 06 cmp eax,0x60103E2A5 . 0F94C1 sete cl0103E2A8 . F7D9 neg ecx0103E2AA . 66:898D CCFEF&gt;mov word ptr ss:[ebp-0x134],cx0103E2B1 . 8D95 78FFFFFF lea edx,dword ptr ss:[ebp-0x88]0103E2B7 . 52 push edx0103E2B8 . 8D45 88 lea eax,dword ptr ss:[ebp-0x78]0103E2BB .50 push eax0103E2BC . 8D4D 98 lea ecx,dword ptr ss:[ebp-0x68]0103E2BF . 51 push ecx0103E2C0 . 8D55 A8 lea edx,dword ptr ss:[ebp-0x58]0103E2C3 . 52 push edx0103E2C4 . 6A 04 push 0x40103E2C6 . FF15 4C104000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaFreeV&gt;; MSVBVM60.__vbaFreeVarList0103E2CC . 83C4 14 add esp,0x140103E2CF . 0FBF85 CCFEFF&gt;movsx eax,word ptr ss:[ebp-0x134]0103E2D6 . 85C0 test eax,eax0103E2D8 . 0F84 93020000 je VisualNe.0103E571 //加密狗破解关键点,需要修改0103E2DE . C745 FC 1D000&gt;mov dword ptr ss:[ebp-0x4],0x1D0103E2E5 . 833D 18832101&gt;cmp dword ptr ds:[0x1218318],0x00103E2EC . 75 1C jnz short VisualNe.0103E30A0103E2EE . 68 18832101 push VisualNe.012183180103E2F3 . 68 68494500 push VisualNe.004549680103E2F8 . FF15 04134000 call dword ptr ds:[&lt;&amp;MSVBVM60.__vbaNew2&gt;&gt;; MSVBVM60.__vbaNew20103E2FE . C785 78FEFFFF&gt;mov dword ptr ss:[ebp-0x188],VisualNe.01&gt;0103E308 . EB 0A jmp short VisualNe.0103E3140103E30A &gt; C785 78FEFFFF&gt;mov dword ptr ss:[ebp-0x188],VisualNe.01&gt; 0103E314 &gt; 8B8D 78FEFFFF mov ecx,dword ptr ss:[ebp-0x188]0103E31A . 8B11 mov edx,dword ptr ds:[ecx]0103E31C . 8995 CCFEFFFF mov dword ptr ss:[ebp-0x134],edx0103E322 . 8D45 C4 lea eax,dword ptr ss:[ebp-0x3C]0103E325 . 50 push eax0103E326 . 8B8D CCFEFFFF mov ecx,dword ptr ss:[ebp-0x134]0103E32C . 8B11 mov edx,dword ptr ds:[ecx]0103E32E . 8B85 CCFEFFFF mov eax,dword ptr ss:[ebp-0x134]0103E334 . 50 push eax0103E335 . FF52 18 call dword ptr ds:[edx+0x18]通过修改以上三处位置,彩虹加密狗破解就成功了,试用破解后的软件,没有发现任何BUG,加密狗破解完美成功!!!--------------------------------------------------------------------------------【关闭窗口】。

软件加密狗工作实现原理

软件加密狗工作实现原理

软件加密狗工作实现原理
软件加密狗工作的实现原理一般包括以下几个步骤:
1. 生成加密狗:加密狗是一种硬件设备,用于存储和保护软件的加密算法和许可证信息。

首先,通过专业的设备制造商,生成一个加密狗硬件设备。

该设备内部通常包含一个内部存储器和一个加密芯片,用于保存加密算法和许可证信息。

2. 安装加密算法和许可证信息:在生成的加密狗中,安装软件的加密算法和许可证信息。

加密算法可以是多种加密方式的组合,用于保护软件的安全性。

许可证信息包括软件的注册许可证、使用限制和期限等。

3. 在软件中集成加密狗驱动程序:为了让软件能够识别和与加密狗进行通信,需要在软件中集成加密狗的驱动程序。

该驱动程序负责与硬件设备通信,读取加密算法和许可证信息,并验证软件的合法性。

4. 提供许可证验证:当用户运行软件时,软件会调用加密狗驱动程序来验证许可证信息的合法性。

驱动程序读取加密狗中的许可证信息,与软件内部存储的许可证信息进行比对,验证软件的合法性。

如果许可证信息有效,则继续执行软件功能;否则,限制或阻止软件的功能。

5. 安全授权管理:软件加密狗通常还具有授权管理的功能,可以根据用户的需求或许可证设置不同的访问权限。

管理员可以通过更改许可证信息来灵活控制不同用户的软件访问权限,包
括功能开放、限制使用次数等。

总的来说,软件加密狗的工作实现原理是通过在硬件设备中存储加密算法和许可证信息,与软件内部的驱动程序进行通信,并通过验证许可证信息的合法性来保护软件的安全性和合法使用。

加密狗原理

加密狗原理

加密狗加密狗是外形酷似U盘的一种硬件设备,正名加密锁,后来发展成如今的一个软件保护的通俗行业名词,"加密狗"是一种插在计算机并行口上的软硬件结合的加密产品(新型加密狗也有usb口的)。

一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。

软件开发者可以通过接口函数和软件狗进行数据交换(即对软件狗进行读写),来检查软件狗是否插在接口上;或者直接用软件狗附带的工具加密自己EXE文件(俗称"包壳")。

这样,软件开发者可以在软件中设置多处软件锁,利用软件狗做为钥匙来打开这些锁;如果没插软件狗或软件狗不对应,软件将不能正常执行。

加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。

这种加密产品称它为"智能型"加密狗.加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。

这样,就保证了加密狗硬件不能被复制。

同时,加密算法是不可预知、不可逆的。

加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=12345、DogConver t(A)=43565。

加密狗是为软件开发商提供的一种智能型的软件保护工具,它包含一个安装在计算机并行口或USB 口上的硬件,及一套适用于各种语言的接口软件和工具软件。

加密狗基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用。

加密狗的工作原理:加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。

这种加密产品称它为"智能型"加密狗.加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。

这样,就保证了加密狗硬件不能被复制。

基于混沌保密的 USB 软件加密狗及其反解密研究 吴德会

基于混沌保密的 USB 软件加密狗及其反解密研究 吴德会

基于混沌保密的USB软件加密狗及其反解密研究吴德会九江学院九江江西 332006摘要:提出了一种运用整数运算代替浮点运算的数字混沌保密改进算法,并将该方法用于USB软件加密狗的设计。

该文分析了基于混沌技术的USB软件加密狗工作原理和工作过程,着重说明了PC主机与加密狗之间交换数据的详细过程。

最后,通过对几种常见的破解方法的分析,表明了该加密狗较强的反解密性能。

关键词:混沌单片机软件狗加密解密中图分类号:TN309.2Research on Chaotic USB Software Dog and Its Anti-circumvention TechnologyWu DehuiJiujiang University Jiujiang Jiangxi 332006 ChinaAbstract: A improved digital chaos algorithm in which float point arithmetic is replaced by integeral arithmetic is introduced, and the chaotic sequence is applied to the USB software dog. This paper analyzes the principle and process of the digital chaos USB software dog. This dissertation elaborated the data exchange between PC computer and USB software dog. At last the anti-circumvention performance of this design can be seen in the paper by analyzing the principle of a few typical decryption technology.Keyword: Chaos; Single-chip computer; Software dog; Encryption; Decryption在现有的软件保护技术中,软件狗以其安装方便,保密性能好、可靠性高等特点而得到普遍使用。

加密狗的破解方法

加密狗的破解方法

加密狗的破解方法什么是软复制(修改过软件+加密狗)所谓软复制就是针对加密产品,用相关的工具读出原版狗的狗数据,写入到相同型号的加密狗中,同时修改软件中与加密狗对应的绑定数据,而达到复制的目的。

不同品牌的加密狗有不同的特征数据,例如Rockey 4加密狗,与软件相关的特征数据就是加密狗的密码,因此把软件中的密码改成自己手上的加密狗的密码,就达到了软复制的效果。

此种方法的优点是保持原版软件的稳定性,杜绝了解密不彻底的现象;缺点是不支持软件的升级。

什么是硬复制(CLONE)软件开发商为了保护软件不被随意复制,采用了硬件加密的方式,通常市面所见的有USB硬狗和并口硬狗两种,狗的类型有Safenet、深思、飞天Rockey、域之天、以及以色列Hasp等等,通常这些狗无法直接读取数据,但是采用专门的设备如读卡器,可以读出硬狗里面的相应加密数据,并且是用写卡器可以把数据完美的写入空狗,从而实现完美复制的硬狗。

当然这仅仅适用部分硬狗,不能一概而论。

另外的一种方法是利用软件的方法来硬复制,有些品牌的加密狗为了生产方便,会留有某些后门来更改狗的数据的,因此可以利用软件的办法来对加密狗里面的内容进行读出,修改相关的特征数据后再写入到狗中,从而达到硬复制的目的。

软件加密方式目前正在采用的加密方法可分为两大类:钥匙盘方式和加密狗方式。

加密狗,也是目前流行的一种加密工具。

它是插在计算机并行口上的软硬件结合的软件加密产品。

加密狗一般都有几十或几百字节的非易失性存储空间可供读写,有的内部还增添了一个单片机。

软件运行时通过向并口写入一定数据,判断从并口返回密码数据正确与否来检查加密狗是否存在。

此种方式不易被硬解密,因而具有加密可靠等优点。

但它也存在一大缺点是成本较高,并且用户使用很不方便。

若用户购买了几种带加密狗的软件,在使用不同软件或更换微机时要不断将狗换插,给用户增添了很多麻烦。

什么是软解密所谓软解密就是针对加密产品,一方面是利用软件监测分析软件在运行时向加密点写了什么数据,从加密点返回了什么数据,然后在运行软件前先在内存驻留自编程序监视加密点,当软件向加密点写数据时,软件自动代替加密点并返回相应数据。

如何破解密码狗

如何破解密码狗

如何破解密码狗当有一些机密文件用了密码狗加密以后,忘记密码了,你知道要怎么破解吗?小编在这里为大家收集了几种破解密码狗的方法。

比如你的加密文件夹名是abc你就在命令行模式下(cmd)切换到abc下X:\abc再切换到X:\abc\DirRecycler\这时再dir就可以看到你的文件了文件后缀也是被狗改变了的exe------>vcvhtml----->hgnotxt------>gcgxls------>cohppt----->kkgdoc----->wlxrar------>izi以下是变幻前后的字母排序对应关系a b c d e f g h i j k l m n o p q r s t u v w x y z 正常排序|||| | | | | ||||| | | | | | | | | | | | | |z y x w v u t s r q p o n m l k j i h g f e d c b a 经狗变幻后的排序比如本来正确的后缀名是aaa,结果变幻后就是zzz了,以此类推!可用XCOPY把文件全部拷到未加密的地方再改后缀,麻烦了点但目前是这样可以解决,还可以找它的密码文件,没时间了!文件夹嗅探器可以找到,从里面复制出来就行了f:\xitong\DirRecycler\SYSTEM~1\dogtmpdir\年5月搞了个T楼活动活动秘密楼层被斑竹用文件夹看门狗给锁定了活动结束后公布密码方能查询“文件夹看门密码狗”对于我们用处很多可以对一些不想让别人看到的文件进行加密没有密码就只可以移动和删除但是,加密文件多了,难免会造成密码错乱遗忘搞混的情况难道一些重要文件只能这样废弃吗?软件是人做的,自然也就有破解之法。

当然是为了大家在万一忘了密码的情况下如何恢复数据,而不是为了偷看别人的的隐私,呵呵。

看了我下面的讲解,大家就会发现,所谓的加密软件是多么的不堪一击。

加密狗硬件破解方法

加密狗硬件破解方法

加密狗硬件破解方法对于密届高手脱壳或者解密可能是很简单的事情,但是否对于一些带狗软件有时候也觉得麻烦。

目前较新的狗程序都采用对硬件通讯纪录的方法,普通的方法是无法跟踪到的,如果用拦截端口的方法实在太麻烦。

在这里我将自己整理的复制狗方法希望对大家有所帮助。

基础知识什么是加密狗(基础知识高手不要看了)首先用一点儿时间来谈谈什么是加密狗(dongle),dongle经常被认为是硬件保护,它是一个可被附加在计算机并口、串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路。

dongle 保护的的原理就是软件开发者在程序里经常检查dongle中的单元(Cell)的并对比返回值,这种检查可以是直接读单元或者是使用某种内部算法(此时单元受到保护无法直接读)。

尽管任何称职的硬件工程师都能很容易地分析出dongle是如何实现的,但是实际上并不用那么麻烦,dongle保护最薄弱的环节在于应用程序要通过dongle厂家提供的函数库来访问dongle,而应用程序和这些函数的连接通常是很弱的,因为软件开发人员不管这些函数如何访问dongle,它只检查函数的返回值是表示成功还是失败,那么只要打补丁让所有函数返回成功即可,而且这些函数通常并不多,从厂家提供的API手册中很容易查到这些函数的定义(参数和返回值)。

一般来说dongle解密不需要原来的正版狗。

必须指出从(西方)法律上来说,破解狗与调试独立的程序有一些细微的不同,后者是完全合法的,但前者在德国有被判为非法的案例(即使你已经购买了正版的软件),美国的“数字千年版权法案”(DMCA) 有一个著名的但引起强烈争议的“反规避条款”(1201),事实上对软件狗的解密做了极其严格的限制,但因为遭到消费者和甚至一些厂商强烈反对,因此在2000年10月28日,1201a条款规定了七种例外,在公平使用的前提下,把软件狗的研究从中删除(Dongles are exempt from Section 1201a of the Digital Millennium Copyright Act),因此,我理解,至少在美国,对软件狗的研究甚至复制是合法的。

加密狗

加密狗

软件加密狗有关知识的介绍什么是加密狗?加密狗是外形酷似U盘的一种硬件设备,正名加密锁,后来发展成如今的一个软件保护的通俗行业名词,"加密狗"是一种插在计算机并行口上的软硬件结合的加密产品(新型加密狗也有usb口的)。

一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。

软件开发者可以通过接口函数和软件狗进行数据交换(即对软件狗进行读写),来检查软件狗是否插在接口上;或者直接用软件狗附带的工具加密自己EXE文件(俗称"包壳")。

这样,软件开发者可以在软件中设置多处软件锁,利用软件狗做为钥匙来打开这些锁;如果没插软件狗或软件狗不对应,软件将不能正常执行。

加密狗是为软件开发商提供的一种智能型的软件保护工具,它包含一个安装在计算机并行口或 USB 口上的硬件,及一套适用于各种语言的接口软件和工具软件。

加密狗基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用。

加密狗的工作原理在当今中国市场上最主要的加密锁品牌有: 1.美国彩虹公司(也是最早做硬件加密的公司)的国产品牌“加密狗”、美国品牌“圣天诺软件加密锁”;2.阿拉丁的“HASP”系列加密锁;3.德国威博公司的“WBU-KEY”加密锁;4.深思洛克的“深思加密锁”;5.蓝宇风公司的“金盾加密锁”;6.飞天公司的“ROCKEY”加密锁等几个主要品牌。

以上加密锁品牌的工作原理都是大同小异:被保护的软件--加密锁之间形成一一对映的关系,被保护的软件在运行的过程当中不断通过其API函数向加密锁发指令来判断加密锁是否存在于,软件离开保护锁不能运行。

克隆加密狗、复制加密狗、破解加密狗的定义区别先简单介绍下加密狗的的特点:每个加密狗都有一块芯片,每块芯片都有一个型号,就算同一牌子的加密狗里面芯片的型号也不相同,就是说这个型号是每个加密狗的惟一型号,也是身份识别。

克隆加密狗:把狗里面的资料复制一份,但这个狗的型号无法复制。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件加密狗破解思路和方法第一节软件加密狗破解思路和方法本文介绍的是软件加密狗破解的一般思路和方法,大家可能奇怪,昨天刚刚介绍完“软件加密锁产品评测”,怎么今天就介绍加密狗破解知识?其实做为软件开发者,研究好软件加密的确很重要,不过也很有必要多了解一些关于加密狗解密和破解的知识,加密和破解就像矛和盾一样,对于解密知识了解的越多,那么编写的加密代码就越好,要知道加密永远都比解密要容易的多,只有知己知彼,方能百战百胜。

硬件加密锁,俗程“加密狗”,对于加密狗的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过SoftICE等Debug工具调试跟踪解密,一种是通过编写拦截程序修改软件和加密狗之间的通讯。

硬件克隆复制主要是针对国产芯片的加密狗,因为国产加密狗公司一般没有核心加密芯片的制造能力,因此有些使用了市场上通用的芯片,破解者分析出芯片电路以及芯片里写的内容后,就可以立刻复制或克隆一个完全相同的加密狗。

不过国外的加密狗就无法使用这种方法,国外加密狗硬件使用的是安全性很好的自己研制开发的芯片,通常很难进行复制,而且现在国内加密狗也在使用进口的智能卡芯片,因此这种硬件克隆的解密方法用处越来越少。

对于Debug调试破解,由于软件的复杂度越来越高,编译器产生的代码也越来越多,通过反汇编等方法跟踪调式破解的复杂度已经变得越来越高,破解成本也越来越高,目前已经很少有人愿意花费大量精力进行如此复杂的破解,除非被破解的软件具有极高的价值。

目前加密锁(加密狗)的解密破解工作主要集中在应用程序与加密动态库之间的通讯拦截。

这种方法成本较低,也易于实现,对待以单片机等芯片为核心的加密锁(加密狗)具有不错的解密效果。

由于加密锁(加密狗)的应用程序接口(API)基本上都是公开的,因此从网上可以很容易下载到加密狗的编程接口API、用户手册、和其它相关资料,还可以了解加密狗技术的最新进展。

例如,某个国内知名的美国加密狗提供商的一款很有名的加密狗,其全部编程资料就可以从网上获取到,经过对这些资料的分析,我们知道这个加密锁(加密狗)有64个内存单元,其中56个可以被用户使用,这些单元中的每一个都可以被用为三种类型之一:算法、数据值和计数器。

数据值比较好理解,数据值是用户存储在可读写的单元中的数据,就和存储在硬盘里一样,用户可以使用Read函数读出存储单元里面的数据,也可以使用Write函数保存自己的信息到存储单元。

计数器是这样一种单元,软件开发商在其软件中使用Decrement函数可以把其值减一,当计数器和某种活动的(active)算法关联时,计数器为零则会封闭(deactive)这个算法。

算法单元较难理解一些,算法(algorithm)是这样一种技术,你用Query(queryDa ta)函数访问它,其中queryData是查询值,上述函数有一个返回值,被加密的程序知道一组这样的查询值/返回值对,在需要加密的地方,用上述函数检查狗的存在和真伪。

对于被指定为算法的单元,软件上是无法读和修改的,即使你是合法的用户也是如此,我理解这种技术除了增加程序复杂性以外,主要是为了对付使用模拟器技术的破解。

此加密锁(加密狗)的所有API函数调用都会有返回值,返回值为0的时候表示成功。

因此,破解思路就出来了,就是使用我们自己的工具(如VB、VC等)重新编写构造一个和加密狗API一样的DLL动态库文件,里面也包含Read、Write等全部API中包含的函数,使用的参量及返回值和原来的函数一样,所有函数返回零。

然后对Query、Read函数进行处理,返回应用软件需要的数值即可。

这个新的DLL文件编写成功后,直接替换掉原来的DLL文件,这时候再运行应用软件,软件访问加密狗的操作就全部会被拦截,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密狗的运行。

以上是目前破解软件加密狗(加密锁)的一些常见思路,对于这种破解,软件开发者还是有相应的一些对策的,下一回我将在《软件加密锁编程技巧》一文中具体介绍一下软件开发者将如何编写安全可靠的代码,使得这种类似的破解方法失效。

第二节国内软件加密锁产品评测昨天讲述的“软件加密技术和注册机制”是一些软件加密的基本概念,在中国,开发和销售软件离不开加密,因为我国的软件保护法制还不太健全,人们的法制观念也比较淡薄,盗版软件有着丰富的土壤,并且因为软件是一种非常特殊的商品,很容易复制,就其功能来讲,正版和盗版的区别很小,如果开发出来的软件不进行加密的话,那么在中国就无法销售出去,人们乐意使用盗版软件而没有一些道德罪孽感,因此软件开发商有必要使用一些加密产品来保护软件开发者的利益,防止软件被盗版。

前文介绍的加密解决方案中,软件加密锁(俗称加密狗)是一种加密安全强度最好的加密产品,所谓加密锁,就是一个安装在计算机并口或USB口上的一种特殊硬件,应用软件通过和这个硬件的通讯来确保软件不被盗版。

目前市场上流行的加密锁产品很多,有美国SafeNet的圣天诺加密锁系列、HASP、深思洛克等,下面,我就将对目前常见的硬件加密锁(加密狗)进行一些技术上的评测,供软件开发商们参考。

名称圣天狗Hasp HL Sentinel SuperPro 外观供应商美国SafeNet 以色列Aladdin 美国SafeNet存储空间8K 4K 112字节加密算法128位AES/ECC 128位AES/RSA DES芯片MCU芯片独家芯片ASIC支持接口USB,不支持并口USB,不支持并口USB和并口稳定性可以保存数据10年数据保全:最小10年存储读写: 最小1百万次可以保存数据10年写操作:100,000次远程升级支持支持支持产地美国以色列美国参考价格100-200元100-200元50-100元自己宣称的特点和优势圣天诺加密锁保持行业内最高的可靠性,硬件故障率低于万分之一。

圣天诺加密锁承诺非人为、非机械的硬件损坏, 2 年内免费更换。

并口产品独有 ASIC芯片由 Rainbow 公司自主设计,保证硬件不可复制,拥有最高安全级。

别全新推出应用于USB 加密锁上的MCU 芯片技术,支持3-DES 和128 位AES 加密算法,加密强度极高。

一只加密锁可以同时保护 28 个软件,对软件实行分模块的分发与控制。

以易用性为使命,圣天诺开发工具具有革命性的意义,使复杂的加密过程轻松完成采用128位密匙的公共AES算法,具有超强的防盗版性能。

创新性融入了多层安全技术,抗调试和抗反向工程能力突出。

许可证采用数字更新,签名采用1024位的私有密钥RSA算法。

首创的应用程序封装技术,提供了:防逆工程保护,代码混淆,防范动态调试和防调试器。

符合ISO 9001:2000认证的生产设备。

SafeNet 在2004年推出全新硬件的SuperPro USB ,支持SuperPro 7.0的所有新增功能,更拥有512 字节( 256 存储单元)的大容量以配合高级许可机制和高级安全应用,SuperPro USB 锁比SuperPro 并口锁(128 字节)多384 字节,也就是多了192 个存储单元。

提供更大存储空间的同时,SuperPro USB 的安全性也大大增强。

它应用抗黑客技术,有效阻止对写锁密码的恶意攻击。

内置新一代 MCU 芯片,支持 USB2.0 标准/ 支持带电插拔,即插即用,通过微软 WHQL 认证,提供 128-512 字节掉电保持存储空间,提供28-124 个独立的算法单元,提供上亿种算法选择 / 支持3DES, AES 算法,支持分软件分模块销售模式 / 支持AS 加密技术,内置计数器 / 内置唯一序列号,提供远程升级功能。

加密强度圣天狗与应用程序的通讯,采用公钥加密及128-bit AES加密机制。

中间层的入侵方式,如监听与仿真,驱动程序的替换等都被有效的遏止。

每次应用程序和硬件锁间的通讯,都会使用一个独立的加密密钥,让黑客无法暴力破解。

圣天狗包括了内部验证,可以有效地预防圣天狗被复制。

HASP HL通过仅允许当加密锁连入计算机才可以对被保护的软件进行访问读取和执行,来防止盗版和非法使用的。

HASP HL集合了一个高度安全,无法渗透破解的编码引擎。

运行时,被保护的软件发送一个经过编码的字符串给HASPHL, HASP HL对该字符串解码并产生一个无法仿造复制的返回值。

如果从HASP HL返回的值正确,则该应用程序可以运行。

如果没有连入HASP HL或者返回值不正确,则该应用程序不能运行。

HASP HL使用国家标准技术局(NIST)制订的高级加密标准。

超强锁把复杂的软硬件技术结合在一起以防止非法发布和使用开发商软件。

当被圣天诺超强锁保护的软件运行时,程序向插在计算机上的超强锁发出查询命令。

超强锁迅速计算查询并给出响应。

正确的响应保证软件继续运行。

如果超强锁被拔掉,程序将不能运行。

名称深思洛克精锐IV 飞天诚信ROCKEY6外观供应商北京深思洛克北京飞天诚信存储空间8K和32K 70K加密算法RSA/3DES RSA/3DES芯片菲利浦16位智能卡芯片中兴通讯32位智能卡芯片支持接口USB,不支持并口USB,不支持并口稳定性10万次擦写寿命10万次擦写寿命远程升级支持支持以上测评数据大多来源各个产品的相关介绍,我对这些数据做一些解读,以供大家参考。

1、Sentinel SuperPro为比较老的产品,其存储空间最小,加密强度也小,其他产品为较新的产品。

2、AES为目前公认的最强的单钥加密算法,以目前电脑运算速度,在地球灭亡之日也是无法解开128位的AES密钥。

而DES为70年代的算法,超级计算机可以在数天内解开其密钥。

3、ECC(椭圆曲线)是最新的双钥加密算法,通常认为其比70年代的RSA算法速度快,安全性高。

4、硬件加密锁的安全性在于其芯片的安全,芯片是不可复制并且具有保密、自毁等功能,目前评测产品中除了飞天锁外所有核心芯片全部来自国外。

其中深思洛克精锐IV 和飞天ROCKEY 6 Smart使用的是智能卡芯片,其他为单片机芯片。

5、美国政府基于国家安全的考虑,对中国出口的加密产品在密钥长度上进行了严格限制,例如早期出口至我国的软件产品(如IE等)采用的密钥长度为40位(40位的密钥业余玩家都可以在几天内破解),而通常认为128位的密钥才能满足军用安全的需要。

中国军用企业被美国法律禁止购买美国的128位加密产品。

6、飞天诚信的ROCKEY 6 Smart加密锁使用的是国产的深圳中兴通讯的智能卡芯片,这种加密锁的核心芯片没有进口,因此较适合政府或者军方使用。

7、32位智能卡芯片的浮点运算速度快于16位的智能卡芯片,对于经常调用RSA等函数有很大好处。

第三节加密狗复制的定义和方法硬件加密锁,俗程“加密狗”,对于加密狗的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过SoftICE等Debug工具调试跟踪解密,一种是通过编写拦截程序修改软件和加密狗之间的通讯。

相关文档
最新文档