加密狗破解

合集下载

文件加密狗破解

文件加密狗破解

文件加密狗破解比如你的加密文件夹名是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 po 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楼活动活动秘密楼层被斑竹用文件夹看门狗给锁定了活动结束后公布密码方能查询“文件夹看门狗”对于我们用处很多可以对一些不想让别人看到的文件进行加密没有密码就只可以移动和删除但是,加密文件多了,难免会造成密码错乱遗忘搞混的情况难道一些重要文件只能这样废弃吗?软件是人做的,自然也就有破解之法。

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

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

第一种方法:用FinalData,FinalData大家都听说过吧?FinalData是一个大名鼎鼎的数据恢复软件,可以恢复磁盘上被删除的各种文件,甚至当磁盘被格式化了以后,只要数据没有被破坏,也一样可以将数据找回。

加密狗的概述与破解原理

加密狗的概述与破解原理

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

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

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

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

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

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

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

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

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

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

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

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

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

怎样解密(芯片解密IC解密)加密狗

怎样解密(芯片解密IC解密)加密狗

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

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

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

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

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

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

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

例如,某个国内知名的美国加密狗提供商的一款很有名的加密狗,其全部编程资料就可以从网上获取到,经过对这些资料的分析,我们知道这个。

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谁都会,不过我要说的是我的文章只是思路而不是破解过程
想要看过程的,对不起,恕难提供,思路就是万能过程
任何一种狗的操作都是如下流程

某加密狗破解

某加密狗破解

某加密狗破解这是很久以前的软件了,原来破解的时候写下了点东西,今天看到了就顺便把它发上来,由于原来只是做的简单的笔记,今天稍微补充了点,由于找不到原程序,所以也不是很完整,希望大家谅解!下面就直接贴代码了: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。

教你如何破解加密狗

教你如何破解加密狗

教你如何破解加密狗[分享] 教你如何破解加密狗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了!这么难啃的骨头,交给专业人士吧。

加密狗加密与解密-客户

加密狗加密与解密-客户

加密狗加密与解密方法这个密码限定控制卡的使能权限。

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

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

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

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

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

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

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

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

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

点击“写入/Write In”按钮,进入“Write Dongle”界面,如图4。

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

如果我们是修改密码的话,那么我们首先要在“Write Dongle”界面上方的“输入密码/Input Password”下的输入栏内输入以前设定的密码,然后在勾选“修改密码/ Change Password”,输入新的密码。

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

图45共享版的密码设定,如图3是共享版的界面。

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

加密狗破解

加密狗破解

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

软件狗加密和加密狗破解就像矛和盾一样,对于解密知识了解的越多,那么编写的加密代码就越好,要知道加密永远都比解密要容易的多,只有知己知彼,方能百战百胜。

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

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

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

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

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

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

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

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

加密狗复制的定义和方法(精)

加密狗复制的定义和方法(精)

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

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

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

工具/原料加密狗的密码及ID修改工具加密狗数据读取工具步骤/方法常用解密方法1、反汇编后静态分析:W32Dasm、IDA Pro2、用调试工具跟踪动态分析:SoftICE、TRW20003、针对各种语言的反汇编工具:VB、Delphi、Java等4、其他监视工具:FileMon、RegMon 等反“监听仿真”软件保护锁的编程方法(1)、随机查询法:开发商使用SuperPro开发工具生成大量查询、响应对,如:1000 对,并在程序中使用这些校验数据。

在程序运行过程中,从1000 对查询、响应对之中,随机的抽出其中一对验证SuperPro加密算法。

因为,校验数据很多,每次验证加密算法使用的“查询响应对”可能不同,“监听仿真”软件即使纪录了一部分“查询响应对”,但无法纪录全部“查询响应对”。

软件每次运行时,都可能使用新的查询响应校验数据,“监听仿真”软件无法响应这些新的查询。

因此,“监听仿真”也就失去了模拟、仿真SuperPro软件保护锁的作用。

(2)、延时法:开发商可以事先使用开发工具生成大量的校验数据,即:“查询、响应”对,比如:200000 组“查询、响应”对,开发程序过程中,开发商设计定时查询、校验加密锁的机制。

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

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

某制图软件域天加密狗破解过程某制图软件域天加密狗破解过程--------------------------------------------------------------------------------来源: 发布时间: 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,加密狗破解完美成功!!!--------------------------------------------------------------------------------【关闭窗口】。

加密狗

加密狗

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

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

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

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

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

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

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

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

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

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

USB加密狗去功能限制的破解

USB加密狗去功能限制的破解
--------------------------------------------------------------------------------------
ALT+K调用堆栈
调用堆栈
0012FD34 77D50877 ? user32.MessageBoxTimeoutA user32.77D50872 0012FD30
005206D8 |. 8BC3 mov eax,ebx
005206DA |. E8 E5000000 call Washgl.005207C4
005206DF |. E8 CCE5FCFF call Washgl.004EECB0
005206E4 |. 84C0 test al,al 比较
0063B812 . E8 1D91DCFF call Washgl.00404934
0063B817 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
0063B81A . 8B80 FC020000 mov eax,dword ptr ds:[eax+2FC]
0012FD7C 004E0040 Title = &quot;提示&quot;
0012FD80 00002040 Style = MB_OK|MB_ICONASTERISK|MB_T
0012FD8C 0063B7DC ? Washgl.004DFFE4 Washgl.0063B7D7 在这句双击进去
0063B7C9 . 84C0 test al,al
0063B7CB 74 5F je short Washgl.0063B82C 整个调用只有这一个能跳过所以改成jmp顺利跳过去了

加密狗的破解方法

加密狗的破解方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【破加密狗】-深思3乱弹3

【破加密狗】-深思3乱弹3
这种方法,可以有效防止WKPE等仿真器拦截。但这种方法,为我们复制狗留
下了漏洞,我们只要找到这个副本,把他翻译成深思3的汇编语言,就得到
了狗内程序代码。
3、逆变换法
所谓逆变换法,就是狗内的代码,有变换和逆变换两个入口,被加密程序产
生一个随机数,先送到变换区返回一个数据,再把这个返回值送到逆变换区,
对于深思3而言,有三种情况:
1、用码表
所谓码表,就是加密者事先准备的数据变换前后的对照表。这种方法是圣天
诺狗必用的方法。这种方法的缺点是,容易被WKPE等仿真类软件拦截,除非
准备的码表很长,使得多次拦截后的数据合并起来庞大得无法使用。码表法
是深思公司极力反对的。所以,在深思狗加密中很少见,但也不排除有习惯
用此方法加密的人,使用深思狗后仍然沿用这种方法。
2、副本法
所谓副本法,就是在被加密程序中有一个与狗把产生的随机数,发到狗内,
变换返回的数据1,在把同一个数据送到程序内的副本处,进行变换,得到
返回数据2,比较数据1和数据2,判断是否是正版狗。
返回一个逆变换数据,把这个数据与最初的随机数比较,相同就是有正版狗。
这种方法,也可以有效防止WKPR类仿真器的拦截,而且,无法从程序中得到
狗内的代码。但是我们可以在狗内随便写一段代码,只要变换和逆变换的入
口与原狗的一致就可以了。
综上所述,只要有了程序,基本上可以复制出深思3的狗了。只是数据区的
【深思3乱弹(三)——代码】
可以把程序(代码)写入狗内,是深思3狗引以为荣的特色。也是我们破解或
复制深思3狗的难点。
前两段短文已经将了,我们可以从程序中找到狗的应用口令,可以从狗中读

加密狗硬件破解方法

加密狗硬件破解方法

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

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

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

基础知识什么是加密狗(基础知识高手不要看了)首先用一点儿时间来谈谈什么是加密狗(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),因此,我理解,至少在美国,对软件狗的研究甚至复制是合法的。

他乡脱壳系列教程之狗世界加密狗破解

他乡脱壳系列教程之狗世界加密狗破解
请求出错错误代码503请尝试刷新页面重试
他乡脱壳系列教程之狗世界加密狗破解
课程目录:
第1课加密狗破解介绍 第2课破解域天狗并脱壳 第3课无狗打狗软件狗 第4课无狗打狗usb狗 第5课加密狗复制与模拟实战 第6课无狗打狗深思2(ROCKEY2) 第7课无狗打狗软件狗 第8课无狗打狗网络狗 第9课无狗打狗硬件狗 第10课无狗打狗深思4(ROCKEY4) 第11课无狗打狗深思6(ROCKEY6 SMART) 第12课无狗打狗思维尔狗 第13课无狗打狗---杀微狗 第14课无狗打狗---广联达狗(宏狗) 第15课无狗打狗---未知狗(宏狗+网络
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一直按F8,痛苦的是这段代码中有个循环,要循环20多次,稍不留神就结束循环,立刻进多时间。
--------------------------------------------------------------------------------------------------------
/post/38.html
破解加密狗就是耐心的问题,只要有耐心,肯定可以破解。下面是破解加密狗的实例解析;有兴趣的朋友可以研究。
--------------------------------------------------------------------------------------------------------
0040162B |. 64:890D 00000000 mov fs:[0],ecx
00401632 |. 8B4D E4 mov ecx,[local.7]
00401635 |. E8 C72D0000 call APP.00404401
0040163A |. 8BE5 mov esp,ebp
0040163C |. 5D pop ebp
0040163D \. C3 retn
--------------------------------------------------------------------------------------------------------
004039BC $- FF25 C0554000 jmp ds:[<&user_Mai>]
004039C2 $- FF25 AC544000 jmp ds:[<&XXX_DLL.#3>]
004039C8 $- FF25 A8544000 jmp ds:[<&XXX_DLL.#47>]
00EF5DA0 A1 9C3EF100 mov eax,ds:[F13E9C]
00EF5DA5 8B88 2C0F0000 mov ecx,ds:[eax+F2C]
00EF5DAB 51 push ecx
8、上面代码执行结束后迅速来到下面代码,注释处的CALL执行就死,跟进
--------------------------------------------------------------------------------------------------------
00EF5D8A 6A 03 push 3
00EF5968 85C9 test ecx,ecx
00EF596A 74 46 je short user_dll.00EF59B2
00EF596C 6A 01 push 1
00EF5940 > 55 push ebp ;InitSystem函数
00EF5941 8BEC mov ebp,esp
00EF5943 81EC 280C0000 sub esp,0C28
00EF598F 85C0 test eax,eax
00EF5991 75 16 jnz short user_dll.00EF59A9
00EF5993 68 04010000 push 104
6、跟进后出现一下代码,看第一行,就是0040161D 处调用的函数,再看右面的注释,心跳加快,InitSystem,从名字上你都能猜想它会干什么,对,读狗的相关代码就应该在这儿初始化(当然还要初始化其他信息),继续跟进
--------------------------------------------------------------------------------------------------------
00401614 |. 68 D4E54000 push APP.0040E5D4 ; ASCII "EN"
00401619 |. 8B55 E8 mov edx,[local.6]
00EF596E 68 583AF100 push user_dll.00F13A58
00EF5973 FF15 1072F000 call ds:[<&KERNEL32.IsBadWritePtr>] ; kernel32.IsBadWritePtr
00EF5952 8B45 0C mov eax,ss:[ebp+C]
00EF5955 50 push eax
00EF5956 68 6848F100 push user_dll.00F14868
00EF595B E8 34F70000 call <jmp.&MSVCR71.strcpy>
00EF5960 83C4 08 add esp,8
00EF5963 B9 583AF100 mov ecx,user_dll.00F13A58
00EF59A1 FF15 1872F000 call ds:[<&KERNEL32.lstrcpynW>] ; kernel32.lstrcpynW
--------------------------------------------------------------------------------------------------------
004039B0 $- FF25 C8554000 jmp ds:[<&user_In>] ; InitSystem
004039B6 $- FF25 C4554000 jmp ds:[<&user_Star>] ; StartProgram
00EF5981 74 26 je short user_dll.00EF59A9
00EF5983 6A 01 push 1
00EF5985 8B55 10 mov edx,ss:[ebp+10]
00EF5979 85C0 test eax,eax
00EF597B 75 35 jnz short user_dll.00EF59B2
00EF597D 837D 10 00 cmp dword ptr ss:[ebp+10],0
--------------------------------------------------------------------------------------------------------
7、跟进后,代码是一系列的IsBadReadPtr,由此判断该处是初始化内存工作,离读狗还用有一段距离。部分代码如下,还有更多的IsBadReadPtr,没必要就不贴了,贴一点提示思路即可。
00EF5D8C 68 10000100 push 10010
00EF5D91 8B15 9C3EF100 mov edx,ds:[F13E9C]
0040160C |. 50 push eax
0040160D |. 8B8D A8FBFFFF mov ecx,[local.278]
00401613 |. 51 push ecx
004015FF |. 8D95 ACFBFFFF lea edx,[local.277]
00401605 |. 52 push edx
00401606 |. 8B85 F8FBFFFF mov eax,[local.258]
00EF5949 A1 6C2EF100 mov eax,ds:[F12E6C]
00EF594E 8945 E0 mov ss:[ebp-20],eax
00EF5951 57 push edi
00401622 |. 8945 EC mov [local.5],eax
00401625 |. 8B45 EC mov eax,[local.5]
00401628 |> 8B4D F4 mov ecx,[local.3]
0040161C |. 52 push edx
0040161D |. E8 8E230000 call <jmp.&user_dll.sui_In> ;这个CALL只要一执行,就死掉,所以必须跟进
00EF5D97 83C2 12 add edx,12
00EF5D9A 52 push edx
00EF5D9B 68 D80CF100 push user_dll.00F10CD8
00EF5998 8B45 10 mov eax,ss:[ebp+10]
00EF599B 50 push eax
00EF599C 68 583AF100 push user_dll.00F13A58
00EF5988 52 push edx
00EF5989 FF15 1472F000 call ds:[<&KERNEL32.IsBadReadPtr>] ; kernel32.IsBadReadPtr
相关文档
最新文档