Programming 版 (精华区)

发信人: Mice (鼠儿), 信区: Programming
标  题: 加密&解密----(32)
发信站: 紫丁香 (Sun Sep 14 16:25:53 1997)



13. FPE 5.0 修改心得 

由于 FPE 5.0 采用硬盘加密手段使自己无法被拷贝, 所以学习一下 
还是蛮有好处的! 
BTW: 在最后, 我还贴了一封李兆果(就是FPE的作者)的信, 当然不是 
讲 Crack 的啦 

01. 
FPE 5.0 光碟版这次所采的保护和以前不太一样, 虽仍采密码保护, 但即使密码错误 
, 也能顺利安装, 只是不能用 (会提示你 Your config changed! Please re-run 
INSTALL.EXE). 所在破解时, trace 的范围很大, 因为判断区有可能在输入密码後任何 
一个地方, 破解的难度增高. 

我一开始也是尝试找出判断区, 因功力不足, 始终没有成功, 其间有几次找到疑似判 
断区,但改过执行会当机, 最後没办法只好用代入法破解. 用代入法破解, 就要找出密码 
输入後存在那儿, 在那个地方直接填入答案, 首先就要锁定一组密码, 也就是要锁定 

random seed, FPE5.0 有两组 random seed, 一组是电脑产生的乱数,这比较好解决, 只 
要填入我所指定的值就好了; 另一组是读取 C 碟第一个磁区取四个 word 值作运算所得 
random seed 如下: 
1st offset 24-25 (记载硬碟的 sector 数) 
2nd offset 26-27 (记载硬碟的 head 数) 
3rd offset 39-40 
4th offset 41-42 
所以这些值会依硬碟的大小及 DOS 的版本不同而不同, 要锁定它就要把它读取的位 
置改变.若问我为什么不要直接填入值,我的答案是这样改会当机(原因不明),所以只能修 
改它读取的位置.麻烦的是一但你修改第1,2个 word的读取位置,执行後仍会当机,那就先 
动第3,4个word的读取位置,把它移到其他位置(offset 30)每个 HDD 这个位置应是0(因 
为这个位置是DOS的保留区), 这样一来, 发现如此第 2 个 word 的值就不会有影响,它 
的 random seed 运算方式可能为 1+2*(3+4) 之类, 那第1个word如何解决? 我的答案是 
无法解决, why? 我功力不够啦! 还好若硬碟 > 528MB,这一个word的值一定是 63(3Fh) 
这是 BIOS 的限制,所以你的硬碟 > 528MB,均可适用以下的修改(已在数台电脑test过): 

破解密码修改 
--------------------------------------+-------------------------------------- 
光碟版 |磁片版 
修改 cd_inst.exe |修改 install.exe 
--------------------------------------+-------------------------------------- 
跳过乱数产生密码, 锁定一组 | 
FIND B0 06 E6 43 E4 40 A2 6D 16 E4 40|FIND B0 06 E6 43 E4 40 A2 95 16 E4 40 
EDIT 90 90 90 90 B0 0F B0 0E|EDIT 90 90 90 90 B0 0F B0 0E 
跳过输入密码 | 
FIND E8 68 10 |FIND E8 98 10 
EDIT 90 90 90 |EDIT 90 90 90 
代入答案 | 
FIND E8 29 24 |FIND E8 59 24 
EDIT B8 09 00 |EDIT B8 09 00 
更改读取硬碟第一磁区位置(offset 30) | 
FIND EE0A0306F00A0306FD0A0306FF |FIND 160B0306180B0306250B030627 
F4 F4 F4 |EDIT 1C 1C 1C 
EDIT F00A0306F00A0306FD0A0306FF |FIND 180B0306180B0306250B030627 
EDIT F4 F4 F4 |EDIT 1C 1C 1C 
--------------------------------------+-------------------------------------- 
修改 fpe4g.dat |修改 fpe4g.dat 
--------------------------------------+-------------------------------------- 
更改检查硬碟第一磁区位置(offset 30) | 
FIND 1A 00 27 00 29 |同前 
1E 1E 1E | 
--------------------------------------+-------------------------------------- 

其他修改(跳过两个安装画面) 
--------------------------------------+-------------------------------------- 
光碟版 |磁片版 
修改 cd_inst.exe |修改 install.exe 
--------------------------------------+-------------------------------------- 
跳过 FPE 5.0 logo (fpesc.exe) | 
FIND E8 E9 23 |FIND E8 24 24 
EDIT 90 90 90 |EDIT 90 90 90 
跳过精讯 logo (logo.exe) | 
FIND E8 DB 23 |FIND E8 16 24 
EDIT 90 90 90 |EDIT 90 90 90 
--------------------------------------+-------------------------------------- 

最後再强调一次, 小弟的破解法只能适用硬碟 > 528MB, 且不要忘修改 fpe4g.dat. 这 
次密码破解改了 20 bytes, 似乎很笨拙, 若有高手有更好的破解法, 希望能 mail 给我 

--
我是一只好老鼠!

※ 来源:.紫丁香 pclinux.hit.edu.cn.[FROM: 202.118.226.75]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.016毫秒