首页
论坛
课程
招聘
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝

[原创]Sandboxie 注册算法分析

2010-11-7 00:35 192950

[原创]Sandboxie 注册算法分析

uuk 活跃值
3
2010-11-7 00:35
192950
Sandboxie 注册算法分析
【文章作者】: uuk
【软件名称】: Sandboxie 3.49.06
【下载地址】: http://www.sandboxie.com/index.php
【加壳方式】: 无
【保护方式】: 序列号
【编写语言】: Microsoft Visual C++ 7.0
【使用工具】: PEID,IDA Pro with Hex-Rays plugin,Syser
【操作平台】: XP SP3,
【软件介绍】: Sandboxie 允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。可用来消除上网、运行程序的痕迹,也可用来还原收藏夹、主页、注册表等。即 使在沙盘进程中下载的文件,也会随着沙盘的清空而删除。此软件在系统托盘中运行,如果想启动一个沙盘进程,请通过托盘图标(而不要用原方式)启动浏览器或 相应程序。
【作者声明】: 菜鸟学习算法,失误之处敬请诸位大侠赐教!

    Sandboxie自3.48版本开始采用新的激活方式——联网激活,但也为不能上网的电脑提供了离线激活方式。能离线激活说明注册的验证是在本地进行的,方便我们进行算法分析。官方离线激活网址:http://www.sandboxie.com/index.php?OfflineActivation。在之前我已经通过官方的离线激活网页得到一个离线激活码Key(RF0UD7XH6KREU2TX……E4YJ1PT8RW8PO)。
    通过跟踪激活过程,激活管理程序License.exe调用SbieDll.dll的SbieApi_ActivateLicense,SbieApi_ActivateLicense通过IRP_MJ_DEVICE_CONTROL与驱动SbieDrv.sys通信,最终验证过程在驱动SbieDrv.sys里。通过IoControlCode定位到函数sub_20744(重命名为ActivateLicense),查看ActivateLicense的交叉引用,发现在驱动加载过程中也被调用了,因此可以确认验证过程就是sub_20744。ActivateLicense反汇编代码如下:
.text:00020744    push    ebp
.text:00020745    mov     ebp, esp
.text:00020747    sub     esp, 28h
.text:0002074A    push    esi
.text:0002074B    push    24h     ; 36 = 24h
.text:0002074D    push    [ebp+pKey]      ; ActivationKey(UNICODE)
.text:00020750    xor     esi, esi
.text:00020752    push    pPagedPool_tzuk ; PagedPool("tzuk")
.text:00020758    mov     [ebp+var_18], esi
.text:0002075B    mov     [ebp+var_14], esi
.text:0002075E    call    sub_1C1C8     ; mpz_set_str (mpz_t rop, char *str, int base)
.text:0002075E                          ; return eax = rop
    仔细分析sub_1C1C8,会发现它是将字符串Key当作36进制数,转换成16进制的大数(有点像GMP库里的mpz_set_str(Key, ActivationKey, 36))。由于是大数操作,所以sub_1C1C8里有大量的内存操作,刚开始分析时就让我晕头转向,同时又是大数运算,比较复杂。我花了不少时间才搞明白它在做什么,也知道程序中是如何存储大数的。大数结构如下所示:
struct BigNum{unsigned int size;  unsigned int num[size];}
大数在内存中按从低到高的地址存储从低到高的数。知道了大数的结构,以及内存申请和释放操作,后面的分析就会轻松许多。
.text:00020763    cmp     eax, esi        ; 大数 Key = eax
.text:00020765    mov     [ebp+pKey], eax
.text:00020768    jnz     short loc_2077E
.text:0002077E ; ---------------------------------------------------------------------------
.text:0002077E
.text:0002077E loc_2077E:                 ; CODE XREF: ActivateLicense+24 j
.text:0002077E    push    ebx
.text:0002077F    push    edi
.text:00020780    push    offset MOD
.text:00020785    push    offset EXP
.text:0002078A    push    eax
.text:0002078B    push    pPagedPool_tzuk
.text:00020791    call    sub_1C09E    ; mpz_powm (mpz_t rop, mpz_t base, mpz_t exp, mpz_t mod)
.text:00020791               ; return eax = rop
    大致分析sub_1C09E,排除内存操作后,发现里面有一些除法运算,初步确定是在做大数除法,但是在自己用大数计算器验证时发现结果总是不对,于是以为在sub_1C09E里有其他小动作。花了好几个晚上,仔仔细细的研究了里面不确定的CALL,以及运算过程,最后确定sub_1C09E里面做的就是大数除法和求模运算。既然是除法,那为什么测试时结果不对呢?我又去分析了下测试过程,发现我写的一个字符串反转程序少做一次对换,导致中间的两个字符没被反转(大数在内存里是从小到大存储,而计算器中是从大到小,所以要反转)。这样浪费了几天时间,但也让我明白了大数除法的算法。确定了sub_1C09E里面的大数运算过程,写出数学表达示,化简后发现是类似mpz_powm(Reg, Key, EXP, MOD)的函数。在sub_1C09E之后,注册信息就以明码放在内存中,后面就是一些数据的校验了。想要写出注册机就得能反求Reg = Key^EXP mod MOD,我求不出来,于是到论坛上求助http://bbs.pediy.com/showthread.php?t=123926,lingyu大侠告知这是RSA2048加密算法,在这要感谢大侠们的指点! 
下面是数据校验过程:
.text:00020796    mov     ebx, eax        ; ebx = Reg = eax
.text:00020798    mov     eax, [ebx]
.text:0002079A    cmp     eax, 4          ; Reg 长度size大于4
.text:0002079D    push    12h
.text:0002079F    pop     esi
.text:000207A0    jbe     loc_20A39
.text:000207A6    mov     cl, [ebx+4]
.text:000207A9    and     cl, 0Fh
.text:000207AC    cmp     cl, 1           ; Reg 最低位为1
.text:000207AF    push    13h
.text:000207B1    pop     esi
.text:000207B2    jnz     loc_20A39
.text:000207B8    push    14h
.text:000207BA    pop     esi
.text:000207BB    lea     eax, ds:0FFFFFFF4h[eax*4] ; size*4-0Ch
.text:000207C2    push    eax
.text:000207C3    lea     edi, [ebx+10h]
.text:000207C6    push    edi
.text:000207C7    call    sub_1B4B8      ; CheckSum 数据校验
    sub_1B4B8是对注册信息Reg进行校验,返回两个校验值,里面有两个CALL(sub_1B392、sub_1B418),看Hex-Rays plugin生成的C代码,很容易就能自己写出个checksum生成函数,代码在附件里有。也不知道是有现成的函数,还是作者杜撰的。
.text:000207CC    cmp     eax, [ebx+8]  ; 比较校验值1与[ebx+8]
.text:000207CF    jnz     loc_20A39
.text:000207D5    cmp     edx, [ebx+0Ch] ; 比较校验值2与[ebx+0Ch]
.text:000207D8    jnz     loc_20A39
.text:000207DE    cmp     dword ptr [edi], 80000001h ; [ebx+10h]
.text:000207E4    push    21h
.text:000207E6    pop     esi
.text:000207E7    jnz     loc_20A39
.text:000207ED    cmp     dword ptr [ebx+14h], 1 ; [ebx+14h] == 1
.text:000207F1    push    22h
.text:000207F3    pop     esi
.text:000207F4    jnz     loc_20A39
    再后面还有到期时间与当前系统时间的比较,软件版本的比较,系统码的比较,在IDA里很容易就能看得懂,这里就不详细说明了。注册信息的结构如下所示:
 
    关于注册机:RSA2048是很难反求的,只能通过替换公钥的方法进行破解(看雪论坛精华里看到的)。由于是替换驱动SbieDrv.sys里的公钥,替换后还得修正文件的CheckSum,不然驱动不能加载。附件里是我写的一个简单的Patch和Keygen。
    同时有个疑问:SbieDrv.sys打过补丁后,其数字签名就变成无效了,既然RSA可以通过替换公钥进行攻击,那文件的数字签名可不可以伪造?

Keygen.rar

[公告]看雪论坛2020激励机制上线了!多多参与讨论可以获得积分快速升级?

上传的附件:
最新回复 (158)
雪    币: 15
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xinhaozs 活跃值 2010-11-7 01:19
2
0
虽然我还没有能力全部理解,但是还是坚持仔仔细细的看了一遍。
真精彩
雪    币: 550
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
神秘悟饭 活跃值 2010-11-7 01:27
3
0
感谢分享
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-7 08:53
4
0
终于有破解了
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-7 08:55
5
0
想问问楼主,能不能看出这个软件是在哪保存到期时间的?
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-7 10:05
6
0
不是很明白你说的是什么意思,它的激活码是保存在注册表里的,不管是联网激活还是离线激活都一样,联网激活是自动的,离线激活是手动的。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{98E6BD24-2D93-41A5-BC6D-CB7C1507318B}
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-7 10:16
7
0
再后面还有到期时间与当前系统时间的比较,软件版本的比较,系统码的比较,在IDA里很容易就能看得懂,这里就详细说明了。注册信息的结构如下所示

这个到期时间,肯定会保存在机器上的某个位置吧,不知道能不能找到在哪保存的,如果能找到的话,或许可以做些处理,那就不用总去激活它了。
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-7 10:21
8
0

三、注册信息收集
1、版本号:“C:\Program Files\Sandboxie\License.exe print version”,如3.50
2、系统码:“C:\Program Files\Sandboxie\License.exe print syscode”,如5BA2F01DBAB60EA8
3、到期时间:年月日,形如20110214

哦,在第三步的时候,可以用filemon和regmon监视下看看,呵呵,谢谢了,有空试试,看能不能找到
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-7 10:22
9
0
注册信息的结构里我标出来了,在第三行,是31121120,逆着看就是2011-12-31
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-7 10:38
10
0
不太明白什么意思
我的意思是,沙盘每次启动时都会读取这个到期时间,我想知道它是从哪读取到这个值的
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-7 10:50
11
0
激活码(Key)保存在注册表中,每次沙盘启动时做 Reg = Key^EXP mod MOD, 得到注册信息 Reg。如果所有校验都通过,则执行
.text:00020A15 loc_20A15:                              ; CODE XREF: ActivateLicense+2BCj
.text:00020A15                 mov     eax, dword ptr [ebp+Time]
.text:00020A18                 mov     dword_28A80, eax
.text:00020A1D                 mov     eax, dword ptr [ebp+Time+4]
.text:00020A20                 mov     dword_28A84, eax
.text:00020A25                 mov     eax, [ebp+var_18]
.text:00020A28                 mov     dword_28A88, eax
.text:00020A2D                 mov     eax, [ebp+var_14]
.text:00020A30                 mov     dword_28A8C, eax
.text:00020A35                 xor     esi, esi
.text:00020A37                 jmp     short loc_20A51

将到期时间保存在变量 dword_28A80(ExpiredDate_Low),dword_28A84(ExpiredDate_High)里。之后查询是否激活,剩余时间等全用的是 ExpiredDate,注册信息 Reg 在 ActivateLicense 执行之后就被释放了。
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-7 10:55
12
0
也就是说到期时间也是通过key计算出来的?而不是专门保存一个值在注册表里,哦,那看来没办法了
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-7 10:59
13
0
是的,但可以爆破,直接给 ExpiredDate 赋值,只是这样每次有新版本都得重新爆破。
雪    币: 236
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Dao丫an 活跃值 2010-11-7 11:21
14
0
很不错,最近刚好想试试自己注册下沙盘的,多谢啦
雪    币: 461
活跃值: 活跃值 (64)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 活跃值 25 2010-11-7 14:23
15
0
楼主分析的很详细. 它的驱动没有数字签名呀.
雪    币: 326
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
快雪时晴 活跃值 4 2010-11-7 15:02
16
0
及时雨啊,一直还在3.46
刚要问为什么没有记录下驱动跟踪细节,原来楼主用了Syser+IDA,似乎用的人不多,大部分都windbg
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-7 15:12
17
0
它的驱动有数字签名,所以打过补丁后显示签名无效
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-7 15:14
18
0
也是第一次跟踪驱动,试了下 Syser ,能用,所以就先用着了,如果不能用估计下一个就会试 Windbg
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
沈浪 活跃值 2010-11-7 15:24
19
0
终于等到了  谢谢楼主
雪    币: 461
活跃值: 活跃值 (64)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 活跃值 25 2010-11-7 19:19
20
0
楼主好样的,一直用3.46,这次终于可以用3.49了...
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-7 20:48
21
0
谢谢! 3.50都出来了,破解也可以用在 3.50 上
雪    币: 461
活跃值: 活跃值 (64)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
sudami 活跃值 25 2010-11-7 21:05
22
0
雪    币: 206
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fireworld 活跃值 2010-11-8 09:16
23
0
还在用老版本 不过还是收藏了 哈哈
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-8 13:48
24
0
win7 64位 激活失败
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-8 14:07
25
0
提示
This is not a valid Activation Key.  [C0000080]
雪    币: 100
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
nohack 活跃值 2010-11-8 14:21
26
0
感谢分享~~~
果断收藏!!!
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-8 17:39
27
0
多谢测试!我现在没有64位系统供测试,所以也不知道具体原因。
可能是:64位的驱动要强制签名,没有签名不让运行。错误码 [C0000080] 应该是驱动没加载成功,你试试禁止强制签名。
我在用IDA分析时看到有类似的错误码,是在驱动某些函数调用失败后出现的。
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-8 17:41
28
0
有劳了!
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-8 18:03
29
0
[QUOTE=uuk;886104]多谢测试!我现在没有64位系统供测试,所以也不知道具体原因。
可能是:64位的驱动要强制签名,没有签名不让运行。错误码 [C0000080]  应该是驱动没加载成功,你试试禁止强制签名。
我在用IDA分析时看到有类似的错误码,是在驱动某些函数调用失败后出现的。...[/QUOTE]

patch后,驱动没有加载成功。

如何禁止强制签名?网上搜了一下,用这个方法
bcdedit/set testsigning on

重启后,驱动也还是加载不了

这个方法也不行
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-8 18:39
30
0
有个“驱网程序签名工具”可以给驱动加上数字签名,我试了下,显示签名为有效,不过没有64的系统供测试,你可以试试
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-8 18:50
31
0
开机时按F8用“禁用驱动程序签名强制”模式进入系统,这个方式可以,激活成功了
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-8 19:08
32
0
你用的是这个软件提供的“测试证书”吗?我没用它提供的测试证书,签名后,失败了,明天在虚拟机里再试试吧
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-8 19:55
33
0
看来是数字签名的问题了。我刚去装了64位XP虚拟机,没想到 Sandboxie 提示 64位 只能在 Vista SP1 和 Win 7 里装,郁闷。

还有个工具 “Atsiv”,可以加载没有数字签名的驱动,我在WinXP64里加载64位的Sandboxie驱动直接蓝屏。

麻烦你了,党和人民会感谢你的!
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-8 20:05
34
0
恩,我用的是“测试证书”,使用后显示签名有效。明天你试试看用“测试证书”签名后能不能成功激活
雪    币: 175
活跃值: 活跃值 (22)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
poppig 活跃值 2 2010-11-8 21:41
35
0
winxp + sp3
运行有问题,3.50的版本,已经patch成功了

这不是一个有效的产品密钥
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-8 21:52
36
0
可能是你某个步骤弄错了,
注册机的使用在卡饭讨论得比较多,
http://bbs.kafan.cn/thread-834207-1-1.html
雪    币: 175
活跃值: 活跃值 (22)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
poppig 活跃值 2 2010-11-8 22:15
37
0
我想步骤不应该会出错,刚刚又重新卸载装了一遍.
patch后,我查看驱动已经是数字签名无效了.
补丁已经成功,然后重新启动机器,运行的keygen,然后激活.
接着就弹出那个对话框.这不是一个有效的产品密钥。

查看sandboxie的状态,已经注册成功,但是没有激活
雪    币: 15
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xinhaozs 活跃值 2010-11-8 22:46
38
0
把C:\Program Files\Sandboxie\License.exe print syscode,这部分直接copy到“运行”里,红色部分是路径,自改;就会弹出个窗口,copy窗口里的系统码
我猜的因为我一开始也是和你一样的提示
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-8 22:56
39
0
激活码从命令行下复制出来后要把里面的回车去掉,不然不能注册成功。
或者是楼上说的原因
雪    币: 175
活跃值: 活跃值 (22)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
poppig 活跃值 2 2010-11-8 23:36
40
0
这点常识我还是有的
我直接到sandboxie的目录运行的License.exe,并不是直接在运行地方输入卡饭上面说的步骤,我真怀疑
那个写过程的怎么能够通过.就象xinhaozs说的一样,是有问题的(直接输入).

是你程序或者sandboxie的问题?????
之前选择的安装语言是中文,后来我决定换台机器实验下,在台式机器上面安装运行英文的没有问题可以正常激活

后来我又在我笔记本(T61)上面选择英文的安装sandboxie,一样的问题.
This is not a valid Activation Key.  [FFFF0013]

不知道是不是设备的问题导致或者是系统????MSDN XP + SP3 ,台式机器是没有问题(电脑装机直接ghost的xp),是可以正常激活的.
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-9 10:17
41
0
查了一下,方法其本就两种:
1、开启test模式,并签名驱动,工具下载Driver Signature Enforcement Overrider 1.3b

2、开机按f8,选“ 禁用驱动程序签名强制”,有个工具可以自动实现,不用每次自己点f8选择,下载地址 ReadyDriver Plus V1.2

以上两个工具在WIN7 64bit虚拟机下测试成功

其它的方法都是大同小异
雪    币: 150
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rcbblgy 活跃值 2010-11-9 10:23
42
0
这个工具不行,安装测试证书已经说明了,对于Boot/Auto的驱动,需要交叉签名才可以,我测试了一下,也的确不可以。
雪    币: 204
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
junjunjun 活跃值 2010-11-9 13:46
43
0
  强人,佩服。                     
雪    币: 204
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gogul 活跃值 2010-11-9 19:13
44
0
楼主厉害,64位真是麻烦啊,有什么办法能自己签名驱动呢,这样就不用开启测试模式了
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-9 19:35
45
0
FFFF0012, FFFF0013         The key provided is not recognized as a valid activation key. Make sure the activation key was copied correctly the web form.

.text:000207A6                 mov     cl, [ebx+4]
.text:000207A9                 and     cl, 0Fh
.text:000207AC                 cmp     cl, 1           ; Reg 最低位为1,固定值
.text:000207AF                 push    13h    ; 返回的就是 FFFF0013 错误
.text:000207B1                 pop     esi
.text:000207B2                 jnz     loc_20A39

注册信息 Reg 中的最低位不为1时,出现 FFFF0013错误。如果你操作正确的话应该是不会出现这个错误的。
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-9 19:38
46
0
  真正的数字证书在要钱的,一般人不会有,只能用测试证书了。
雪    币: 175
活跃值: 活跃值 (22)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
poppig 活跃值 2 2010-11-9 23:14
47
0
不知道你所说的"注册信息 Reg"是什么东西?Activate Key??syscode??下面是我的信息
台式机器我已经注册成功,笔记本上步骤我已经重复多次,每次都是失败

D:\sandboxie\Crack>keygen

Fileinfo: keygen for Sandboxie
Author: uuk
Date: 2010-11-06

*** Sandboxie Keygen ***

Make sure SbieDrv.sys has been patched already!
Please input version (3.50): 3.50
Please input syscode (2541A2375679CF92): D891C4BEAAD5FEF2
Please input expired date (20110214): 20110811

Activate Key:
OP2VHRH4T8FKS17S7YR3U6LG3QWWYIPBGHR5RGE1SBP6XULLLGP8BZ6O3UR5H7D1ZZ9YNUPQOZVPXCSF
11MQG08Q7TO3X0LQQIMXXLDQV2L2T7Z9OZDS22KTMYHBKV1K0E5ECABGUIRXO2BME348ISP64TY0FOG7
77XZ4G8ABDIFD5XHCKKEXHF02TCWVC02WASCY4U32N8O6K5W44FDYT1RK2WUPC89NEYDNDGOF8VFLZU5
SXSZ8ZSR77ZP9HSPG1I1DWHM7XRSCR9QQSK1JTWV5XL5YDGSV3P3M9BWQU36UP2IV2JN44J8VYILY4OF
J4UH6HTUKBCNDHB2UEJMTFH36FIEBGJ0AN2KG6ZXALJ96AIPDPVJRXGI8OVKUYUGZT1QPQR8NRI5

*** Key is generated ***
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-9 23:35
48
0
注册信息 Reg 是一个模板,在注册机源代码里有,注册机用它生成特定用户的激活码。

我在虚拟机里用你的激活码激活也是提示 [FFFF0013] 错误,按理应该是[FFFF0093]错误的。

是有问题,现在没时间了,明天再研究
雪    币: 330
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
uuk 活跃值 3 2010-11-10 11:52
49
0
11月6号的注册机有点问题,导致部分系统码生成错误的激活码。11月10号的已修正,新的附件已上传。
原因:部分系统码使校验值少于8位,而程序中是按8位进行赋值的,导致出现问题。
雪    币: 40
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
树袋老妖 活跃值 2010-11-10 12:28
50
0
虽然我还看不懂。。。但是总有一天会看得懂的。。。努力学习中。。。向楼主致敬
游客
登录 | 注册 方可回帖
返回