📄 lesson1410.htm
字号:
<html>
<head>
<title>看雪学苑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
.p8 { font-size: 8pt}
.p9 { font-size: 9pt}
a:hover { color: #00FF00}
a { text-decoration: none; color: #3333CC}
.p12 { font-size: 12pt; font-weight: bold; color: #FF3333}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#000000">
<a name="top"></a>
<script src="fubiao.js" tppabs="http://toye.dihou.org/img/fubiao.js"></script>
<table width="80%" border="1" cellspacing="0" cellpadding="0" align="center" bgcolor="#99CCFF" bordercolorlight="#99CCFF" bordercolordark="#99CCFF">
<tr>
<td width="72%" class="p9"><a href="javascript:if(confirm('http://toye.yeah.net/ \n\n这个文件不能通过 Teleport Pro 取回, 因为 它被访问于一个域或在它的起始地址边界外部的路径上. \n\n你想从服务器打开它吗?'))window.location='http://toye.yeah.net/'" tppabs="http://toye.yeah.net/">看雪教学</a></td>
<td width="10%" class="p9"> </td>
<td width="10%"><a href="index.htm" tppabs="http://toye.dihou.org/index.htm" class="p9">返回<br>
首页 <br>
</a></td>
<td width="8%"><a href="molu.htm" tppabs="http://toye.dihou.org/molu.htm" class="p9">返回<br>
目录 </a></td>
</tr>
</table>
<table width="80%" cellspacing="0" cellpadding="0" align="center">
<tr bgcolor="#FFFF33">
<td>
<div align="center"><span class="p"><b><font color="#FF3333" class="p11">第十课
crack常见技巧</font></b></span></div>
</td>
</tr>
</table>
<table border="1" width="80%" cellpadding="0" bordercolor="#86D8FF" bgcolor="#FBFDFF" align="center">
<tr>
<td width="50%" valign="middle" align="center" class="p9" height="20">
<div align="left"><span class="p9"><span class="p9">1、<span class="p9"><a href="lesson1401.htm" tppabs="http://toye.dihou.org/lesson1401.htm"><span class="p9"><span class="p9">一些常用方法</span></span></a></span></span></span></div>
</td>
<td width="50%" valign="top" class="p9" height="20">
<div align="left"><span class="p9"><span class="p9">5、<a href="lesson1406.htm" tppabs="http://toye.dihou.org/lesson1406.htm">Key
File保护</a></span></span></div>
</td>
</tr>
<tr>
<td width="50%" valign="middle" align="center" class="p9" height="20">
<div align="left"><span class="p9"><span class="p9">2、<span class="p9"><span class="p9"><a href="lesson1402.htm" tppabs="http://toye.dihou.org/lesson1402.htm">序列号方式</a></span></span></span></span></div>
</td>
<td width="50%" valign="top" class="p9" height="20"><span class="p9"><span class="p9">6、<span class="p9"><span class="p9"><a href="lesson1407.htm" tppabs="http://toye.dihou.org/lesson1407.htm">功能限制的程序</a></span></span> </span></span></td>
</tr>
<tr>
<td width="50%" valign="middle" align="center" class="p9" height="20">
<div align="left"><span class="p9"><span class="p9">3、<a href="lesson1403.htm" tppabs="http://toye.dihou.org/lesson1403.htm">NAG方式(警告窗口)</a></span></span></div>
</td>
<td width="50%" valign="top" class="p9" height="20"><span class="p9"><span class="p9">7、<span class="p9"><span class="p9"><a href="lesson1408.htm" tppabs="http://toye.dihou.org/lesson1408.htm">InstallSHIELD
Setups </a></span><span class="p9"><span class="p9"><span class="p9"> </span>
</span></span> </span></span></span></td>
</tr>
<tr>
<td width="50%" valign="middle" align="center" class="p9" height="20">
<div align="left"><span class="p9"><span class="p9">4、<a href="lesson1404.htm" tppabs="http://toye.dihou.org/lesson1404.htm">运行时间限制</a></span></span></div>
</td>
<td width="50%" valign="top" class="p9" height="20">8、<font color="#FF0033">CD-check</font></td>
</tr>
</table>
<p align="center" class="p9">8、CD-check <a href="lesson14101.htm" tppabs="http://toye.dihou.org/lesson14101.htm">【习题】</a></p>
<p align="left" class="p9">一、可将游戏(或其它程序)的光盘拿出,运行游戏,将出现一些错误提示,如: Please insert
the - CD, or: You need the CD to play the - . 利用这提示可在W32DASM中利用串式数据参考功能查找相应的代码进行分析。</p>
<p align="left" class="p9">二、相关函数</p>
<p align="left" class="p9">1、GetDrivetype(a) 判断一个磁盘驱动器的类型</p>
<table width="100%" border="1" align="center" bordercolorlight="#808080" bordercolordark="#FFFFFF" cellspacing="0">
<tr bgcolor="#E6E6F4">
<td height="7" class="p9" colspan="2"> UINT GetDriveType(
<p> LPCTSTR lpRootPathName // String,包含了驱动器根目录路径的一个字串<br>
); </p>
<tr bgcolor="#E6E6F4">
<td height="7" class="p9" colspan="2">返回值
<tr bgcolor="#E6E6F4">
<td height="12" class="p9" width="18%">
<div align="center">0</div>
<td height="12" class="p9" width="82%">驱动器不能识别
<tr bgcolor="#E6E6F4">
<td height="12" class="p9" width="18%">
<div align="center">1</div>
<td height="12" class="p9" width="82%">指定的目录不存在
<tr bgcolor="#E6E6F4">
<td height="12" class="p9" width="18%">
<div align="center">2</div>
<td height="12" class="p9" width="82%">DriveRemoveable
<tr bgcolor="#E6E6F4">
<td height="12" class="p9" width="18%">
<div align="center">3</div>
<td height="12" class="p9" width="82%"> A Fixed Disk (HardDrive)
<tr bgcolor="#E6E6F4">
<td height="12" class="p9" width="18%">
<div align="center">4</div>
<td height="12" class="p9" width="82%">Remote Drive(Network)
<tr bgcolor="#E6E6F4">
<td height="12" class="p9" width="18%">
<div align="center">5</div>
<td height="12" class="p9" width="82%"> Cd-Rom驱动器
<tr bgcolor="#E6E6F4">
<td height="12" class="p9" width="18%">
<div align="center">6</div>
<td height="12" class="p9" width="82%">RamDisk
</table>
<p align="left" class="p9">如果是普通的程序,你可将EAX由5改成3即可。</p>
<p align="left" class="p9">注意:有些程序可能检测光盘根目录相关文件,CD的卷标也可能被检测。</p>
<p class="p9">2、GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母</p>
<table width="100%" border="1" align="center" bordercolorlight="#808080" bordercolordark="#FFFFFF" cellspacing="0">
<tr bgcolor="#E6E6F4">
<td height="14">
<p class="p9">这函数没有参数</p>
<tr bgcolor="#E6E6F4">
<td height="14" class="p9">返回值
<tr bgcolor="#E6E6F4">
<td height="14" class="p9">这个结构中的二进制位标志着存在哪些驱动器。其中,位0设为1表示驱动器A:存在于系统中;位1设为1表示存在B:驱动器;以次类推
</table>
<p class="p9">3、GetLogicalDriveStrings 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径</p>
<table width="100%" border="1" align="center" bordercolorlight="#808080" bordercolordark="#FFFFFF" cellspacing="0">
<tr bgcolor="#E6E6F4" class="p9">
<td height="70">
<p>DWORD GetLogicalDriveStrings(</p>
<p> DWORD nBufferLength, // 字串的长度 <br>
LPTSTR lpBuffer // 用于装载逻辑驱动器名称的字串。每个名字都用一个NULL字符分隔,在最后一个名 字后面用两个NULL表示中止(空中止)<br>
);</p>
<tr bgcolor="#E6E6F4" class="p9">
<td height="6">返回值
<tr bgcolor="#E6E6F4" class="p9">
<td height="28">装载到lpBuffer的字符数量(排除空中止字符)。如缓冲区的长度不够,不能容下路径,则返回值就变成要求的缓冲区大小。零表示失败。会设置GetLastError
</table>
<p class="p9">4、GetFileAttributesA 判断指定文件的属性</p>
<table width="100%" border="1" align="center" bordercolorlight="#808080" bordercolordark="#FFFFFF" cellspacing="0">
<tr bgcolor="#E6E6F4" class="p9">
<td height="28">
<p>DWORD GetFileAttributes(</p>
<p> LPCTSTR lpFileName //指定欲获取属性的一个文件的名字<br>
);</p>
</table>
<p class="p9">5、GetFileSize 判断文件长度</p>
<table width="100%" border="1" align="center" bordercolorlight="#808080" bordercolordark="#FFFFFF" cellspacing="0">
<tr bgcolor="#E6E6F4" class="p9">
<td height="28">
<p>DWORD GetFileSize(</p>
<p> HANDLE hFile, // 文件的句柄<br>
LPDWORD lpFileSizeHigh, // 指定一个长整数,用于装载一个64位文件长度的头32位。如这个长度没有超过 2^32字节,则该参数可以设为NULL(变成ByVal)<br>
);</p>
<tr bgcolor="#E6E6F4" class="p9">
<td height="13">返回值
<tr bgcolor="#E6E6F4" class="p9">
<td height="2">返回文件长度。&HFFFFFFFF表示出错。注意如lpFileSizeHigh不为NULL,且结果为&HFFFFFFFF,那么必须调用<font color="#FF3333">GetLastError</font>,判断是否实际发生了一个错误,因为这是一个有效的结果
</table>
<p class="p9">6、GetLastError <font color="#000000">针对之前调用的api函数,用这个函数取得扩展错误信息</font></p>
<table border="1" width="100%" bordercolorlight="#808080" cellspacing="0"
bordercolordark="#FFFFFF" class="p9" bgcolor="#CCCCFF">
<tr bgcolor="#E6E6F4">
<td width="100%" colspan="2">返回值</td>
</tr>
<tr bgcolor="#E6E6F4">
<td width="100%" colspan="2">由api函数决定。请参考api32.txt文件,其中列出了一系列错误常数;都以ERROR_前缀起头。常用的错误代码见下表</td>
</tr>
<tr bgcolor="#E6E6F4">
<td width="50%">ERROR_INVALID_HANDLE</td>
<td width="50%">无效的句柄作为一个参数传递</td>
</tr>
<tr bgcolor="#E6E6F4">
<td width="50%">ERROR_CALL_NOT_IMPLEMENTED</td>
<td width="50%">在win 95下调用专为win nt设计的win32 api函数</td>
</tr>
<tr bgcolor="#E6E6F4">
<td width="50%">ERROR_INVALID_PARAMETER</td>
<td width="50%">函数中有个参数不正确</td>
</tr>
</table>
<p class="p9">7、ReadFile 从文件中读出数据 </p>
<p class="p9">具体参考KEYFILE一节。</p>
<p class="p9">8、其它一些CDROM信息</p>
<p class="p9">中断2F是mscdex中断,可用bpint 2f, al=0 ah=15检测Mmscdex是否安装。<br>
也可试着用文件存取设断 <br>
</p>
<table width="80%" border="1" cellspacing="0" cellpadding="0" align="center" bgcolor="#99CCFF" bordercolorlight="#99CCFF" bordercolordark="#99CCFF">
<tr>
<td width="82%" class="p8" height="34">Copyright @看雪 2000 All rights reserved
<a href="mailto:toye@126.com">与我联系</a></td>
<td width="10%" class="p9" height="34"><a href="index.htm" tppabs="http://toye.dihou.org/index.htm">返回<br>
首页</a></td>
<td width="8%" class="p8" height="34"><a href="molu.htm" tppabs="http://toye.dihou.org/molu.htm" class="p9">返回<br>
目录</a></td>
</tr>
</table>
<p> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -