首页
论坛
课程
招聘

[调试逆向] 破解BestCrypt v8.20.6.2

2010-6-3 20:09 11782

[调试逆向] 破解BestCrypt v8.20.6.2

2010-6-3 20:09
11782
原来下过带KeyFile的低版本,硬盘坏了没了。自己要用这软件,就看了一下。
新下的版本为8.20.6.2。

根据错误提示,容易找到关键位置。如果想暴破,把判断试用期的函数Patch一下,
使其返回0即可,在438376。

要是想KeyGen,要费点周折。关键函数在42B2D8,里面明显有大数运算,根据一些
特征字符串在网上搜了下,象是OpenSSL。不过下了个回来,发现大体上类似,细
节却不同,比如大数结构就不同,可能用的是另一种SSL实现,也可能我完全认错了,
就不是SSL。

DemoLicense中Signature经Base64解码数据为:

0x04, 0x81, 0x80, 0x50, 0xEB, 0x5B, 0x8C, 0xE1, 0x8C, 0x52,
0xCD, 0xA7, 0x76, 0x78, 0xF0, 0xB0, 0x8D, 0x9D, 0xDE, 0x9F,
0xF8, 0xF9, 0x10, 0x70, 0x67, 0x00, 0x9E, 0x1D, 0x27, 0x51,
0x2E, 0x0A, 0x0D, 0x01, 0xE9, 0x00, 0x25, 0xCC, 0x16, 0x06,
0x01, 0x3C, 0x6F, 0x10, 0x0A, 0xDC, 0xD6, 0x58, 0xD1, 0x43,
0x68, 0xCC, 0x37, 0x36, 0x2A, 0x8D, 0xD9, 0x37, 0x60, 0x32,
0x0C, 0x43, 0x96, 0x32, 0x3B, 0x1B, 0x31, 0xC3, 0xCD, 0x97,
0xD7, 0xD9, 0x04, 0x69, 0x81, 0x3F, 0xD0, 0x4B, 0xD3, 0xE5,
0x27, 0x88, 0x02, 0xFD, 0xBE, 0xC1, 0x8C, 0x98, 0xEE, 0x7E,
0xA5, 0xBD, 0x71, 0xDF, 0x14, 0x16, 0x51, 0x27, 0x13, 0x20,
0x65, 0x17, 0xB0, 0xD6, 0x23, 0x08, 0x6F, 0x59, 0x5D, 0xC0,
0x86, 0x23, 0x2D, 0x93, 0x7D, 0x31, 0x73, 0x27, 0xCB, 0x04,
0xD2, 0xEA, 0xFA, 0x96, 0x9F, 0xDA, 0xA7, 0xCD, 0xE4, 0x3E,
0xC3

这里的代码执行RSA运算,实际就是Rsa_public_encrypt。

.text:0043CE72                 push    0               ; ?
.text:0043CE74                 push    edx               ; 出参数,返回结果
.text:0043CE75                 push    eax             ; base64解出的数据,不含前3字节
.text:0043CE76                 push    ecx             ; Key
.text:0043CE77                 call    sub_4428F0  

key为RSA算法使用的结构,从调试堆的标记ABABABAB可以看出只占4个DWORD,
与OpenSSL不同。

00B8E20C     BAAD03FF    00B8E238    00B8E280    00000000
00B8E21C     ABABABAB    ABABABAB    FEEEFEEE    00000000

第1个DWORD含义不清楚。后面3个是指向大数的指针。这里只出现了N和E。
看下大数格式。

00B8E238     00000010    00B8E2C8    00000000    ABABABAB
00B8E248     ABABABAB    FEEEFEEE    00000000    00000000

似乎用2个DWORD表示,0x10表示数据长度为0x10个ULONG64。00B8E2C8为数据地址。

00B8E2C8  79 B5 8E 93 0B 56 18 BF E9 C3 47 3D 02 D6 CD 75  y祹..V.块肎=.滞u
00B8E2D8  01 8E D0 90 AF 1F BD 9D 5A 7D EF 08 4C 32 70 83  .幮.?.漐}?L2p.
00B8E2E8  E6 7B D9 DC 85 9D 27 97 2F 9A 96 FB F5 B3 98 EA  鎨佘.?./??
00B8E2F8  B8 5D 76 EE 6D FB 79 6C B5 7A C1 83 3B 8A DD 93  .]v頼鹹l祕?;娸.
00B8E308  6E E5 4F A5 19 C8 80 2A 56 B2 52 F4 98 11 FE B3  n錙??*V.R?.
00B8E318  3F 6F 6C 3F AF F5 77 FA D2 BC EA 51 C1 66 4D C4  ?ol?w缄Q羏M
00B8E328  78 46 79 B5 0C 88 39 8A 27 00 E0 76 A3 E7 17 3A  xFy?.9?.鄓g.:
00B8E338  46 13 1F F8 FC 5C 05 04 79 CA 31 9F C5 82 4F 78  F..\..y?熍.Ox

这就是RSA的N。这是我已经替换过的值,没Patch过的bestcrypt.exe已顺手删了,
原始的N为7F0D1E7D...,直接在exe内可搜索到,在4A6BCC。

同样得到E=3
于是可拿到DemoLicense的RSA解密数据。

unsigned char DemoLicense[] = {
/*0x00*/        0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
/*0x10*/        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  
/*0x20*/        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
/*0x30*/        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
/*0x40*/        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,  
/*0x50*/        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
/*0x60*/        0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7A, 0xD5, 0x48, 0x52,
/*0x70*/        0x7E, 0xA1, 0x78, 0x94, 0x41, 0x75, 0x58, 0x4D, 0x0E, 0x09, 0xF9, 0x1B, 0x23, 0x33, 0x68, 0xB2 };

最后的20字节,就是KeyFile中"-----BEGIN SIGNED MESSAGE-----"至Signature之间数据的SHA1校验。

BestCrypt用的是RSA1024,用RSATool自己生成一套Key,替换掉原始的N(E还用3),就可以KeyGen了。

商业版可能是另外一套Key? 从exe的字符串可看到ARMORED MESSAGE,PUBLIC KEY,这里并没用到,
反正已经可以跑了,我只是想用这东西呵呵。估计是因为Demo是全功能版,那堆数据已经设置好了。
如果你想用那个VolumeEncryption,bcfmgr.exe内的N也得换。

KeyFile文件格式,参照了网上的破解,不是我自己追的。原KeyGen作者是CRUDE破解组织。

[推荐]看雪企服平台,提供项目众包、渗透测试、安全分析、定制项目开发、APP等级保护等安全服务!

上传的附件:
最新回复 (11)
海风月影 17 2010-6-3 20:13
2
0
sm大牛现身了

可以去看看TrueCrypt这个软件,功能也不错
softworm 30 2010-6-3 20:21
3
0
还牛啥啊,我已经玩不动了
TrueCrypt我有,下了一直就没看过,有时间看看源码
leking 2010-6-3 20:54
4
0
牛还是老的强
沙加 1 2010-6-3 21:33
5
0
此贴会火,围观
jxdyxg 2010-6-3 22:39
6
0
占楼围观学习
gotiger 2010-6-4 02:59
7
0
TrueCrypt不错
SunV 2010-6-7 11:48
8
0
惊现softworm大牛,占位学习
winndy 17 2010-6-7 11:51
9
0
softworm传奇继续
jerryme 2010-6-9 21:28
10
0
牛人应该更加老当益壮啊
nbw 24 2010-6-11 18:06
11
0
用这种高级软件加密文件,会不会把文件搞的损坏没法恢复呢?
小小网虫 2010-9-8 02:12
12
0
只能膜拜
游客
登录 | 注册 方可回帖
返回