标 题:砸碎SLock, 我的一次破解.
(3千字)
发信人:bpx
时 间:2003-4-21
13:48:57
详细信息:
上周六想解beyond compare2.0.1, 虽说是几乎无功而返,但也不是没有收获, 我发现:
1. 用softice在4245279处将eax 强行改为 6, 软件就可以正常运行(要发现这点这一点, 我想, 只要知道什么是softice就行了)
CODE:04245276 cmp eax, 9 ; eax == 6, All OK!
CODE:04245279 ja loc_42454DD ; default
于是, 就改成
mov eax, 6
2. 之后, 发现slock不会跟你善罢甘休, 跳过42441f0处的patch检查函数也不行.
周日, 承蒙lajiaolz(辣椒子? :))给了一个可用的key, 嫌自己的版本太旧, 就下了一个build 178, 糟了, 这个key被回收了.再装回到build 176也不行了 :(
不过, 总觉得离解放它只有一步之遥了.
今天接着干, 看看它会不会打开bc2.exe检查, 如果是的话, 可不可以让它检查原版, 而运行我们改过的版本呢?, 于是
bpx createfilea do "d esp->4"
果然它这样干了. 于是将没有改动的版本复制一个成bcx.exe
将trail.key复制成bcx.key, 并改动一下复制文件名的代码, 成了!
CODE:04196A20 84 C9 test cl, cl
CODE:04196A22 74 07 jz short locret_4196A2B
CODE:04196A24 FE CD dec ch
CODE:04196A26 75 E8 jnz short loc_4196A10
CODE:04196A28 48 dec eax
CODE:04196A29
CODE:04196A29 loc_4196A29: ; CODE XREF: sub_41969D6+36.j
CODE:04196A29 88 28 mov [eax], ch
CODE:04196A2B
CODE:04196A2B locret_4196A2B: ; CODE XREF: sub_41969D6+42.j
CODE:04196A2B ; sub_41969D6+4C.j
CODE:04196A2B C3 retn
改成:
CODE:04196A20 84 C9 test cl, cl
CODE:04196A22 74 07 jnz short locret_4196A10
CODE:04196A24 FE CD mov byte ptr [eax-6], 'x' ; 将bc2.exe 改成 bcx.exe, 让这个蠢东西去检查原版!
CODE:04196A26 75 E8 retn
CODE:04196A28 48 dec eax
CODE:04196A29
CODE:04196A29 loc_4196A29: ; CODE XREF: sub_41969D6+36.j
CODE:04196A29 88 28 mov [eax], ch
CODE:04196A2B
CODE:04196A2B locret_4196A2B: ; CODE XREF: sub_41969D6+42.j
CODE:04196A2B ; sub_41969D6+4C.j
CODE:04196A2B C3 retn
这样一以来就象被脱了壳一样,想怎么fuck就怎么fuck!
已知问题:
主程序没问题了, 绝大部分使用已经够了, 几个附加插件可能还会去检查key, 这将是我下一个目标. 应该不会太难, 我想.
觉得比较幸运, 如果在上周六之前在slock的网站上(http://www.crypto-central.com/slock/slock_feature.html)看到以下信息的话, 我可能就被吓的不敢去解它了.
-Extremely High Security
SLockPK uses Public Key cryptography to ensure that your software cannot be made registered without your knowledge.
-SlockPK can increase the number of registrations that you receive from your shareware by making it almost impossible use unregistered shareware for extended periods.
现在看到这段话就想笑,觉得slock是一个善于吹牛,比较愚蠢的东东:)
| | |||
|