-
-
[原创]江苏省计算机等级考试全真模拟试卷免cd制作(新手教程)
-
发表于:
2005-1-22 14:50
11349
-
[原创]江苏省计算机等级考试全真模拟试卷免cd制作(新手教程)
【破解作者】 海风月影[DFCG][NE365]
【作者邮箱】 [EMAIL=zjhangtian@sohu.com]Email to Me[/EMAIL]
【使用工具】 od 1.10d ,Peid
【破解平台】 Win9x/NT/2000/XP
【软件名称】 江苏省计算机等级考试全真模拟试卷(三级偏软)
【软件简介】
江苏省计算机等级考试全真模拟试卷题目
(三级偏软)
【加壳方式】 无
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
今天装了 江苏省计算机等级考试全真模拟试卷(三级偏软) 的配套光盘,结果运行时要放光盘才能运行.晕!这也太麻烦了
于是想把它的光盘检测去掉,看雪论坛上cd-check这方面文章不多,写一篇详细的文章给新手看看吧(我也是新手 :-) )
安装好后,用peid检测 笔试.exe ,无壳,delphi 6.0 - 7.0
用od载入,在命令行中输入 bp GetDriveTypeA 回车
(
这里是对GetDriveTypeA下断点,一般来说,cd-check 的保护都要用到这个函数,这个函数是用来判断一个磁盘驱动器的类型
如何调用就不用看了,重点看它的返回值
返回值含义如下
0 驱动器不能识别
1 指定的目录不存在
2 DriveRemoveable
3 A Fixed Disk (HardDrive)
4 Remote Drive(Network)
5 Cd-Rom驱动器
6 RamDisk
重点的是 3 硬盘驱动器 和 5 光盘驱动器
一般的cd-check程序,调用了GetDriveTypeA后,立即就是判断是否为光驱,即 cmp al,5 (al是返回值),根据这个我们就可以做点文章了
)
也可以 按 ctrl+n ,查找GetDriveTypeA这个函数,然后下断点。但用命令行是断在kernel32.dll里,这样下断点是肯定能断下的而查找GetDriveTypeA这个函数有可能找不到,这个程序是能找到的
F9运行,断在kernel32.dll里,不要慌,f2取消断点,这时看堆栈
0012FD38 00491AB8 /CALL 到 GetDriveTypeA 来自 笔试.00491AB3
0012FD3C 009C21DC \RootPathName = "a:\"
00491AB2 |. 50 |push eax ; /RootPathName
00491AB3 |. E8 5450F7FF |call <jmp.&kernel32.GetDriveTypeA>; \GetDriveTypeA
00491AB8 |. 3C 05 |cmp al,5 ; 5 指的是光盘,3指的是硬盘
00491AB3 |. E8 5450F7FF |call <jmp.&kernel32.GetDriveTypeA>; \GetDriveTypeA
0012FD3C 009C22BC \RootPathName = "i:\"
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)