📄 lesson1404.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"><a href="lesson1408.htm" tppabs="http://toye.dihou.org/lesson1408.htm">InstallSHIELD
Setups </a></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、<font color="#FF3333">运行时间限制</font></span></span></div>
</td>
<td width="50%" valign="top" class="p9" height="20">8、<a href="lesson1410.htm" tppabs="http://toye.dihou.org/lesson1410.htm">CD-check</a></td>
</tr>
</table>
<p align="center" class="p9"><span class="p9"><span class="p9">4、运行时间限制</span></span>
<a href="lesson14041.htm" tppabs="http://toye.dihou.org/lesson14041.htm">【习题】 </a></p>
<p align="left" class="p9"><span class="p9"><b><font color="#000000">一、运行时间限制</font>(定时器)<br>
</b><br>
这种程序是每次运行的时间有限制,如运行10分钟,20分钟等情况。 它们里面一般有个计时器。<br>
<br>
<b>1、使用Settimer()</b><br>
<br>
常用的计数器是函数Settimer(),调用这个函数创建的定时器可以发出消息VM_TIMER,或者在定时期满时调用一个回调函数。 使用这个函数会使时间延时,精度不高。</span></p>
<p align="left" class="p9"><b>2、使用timeSetEvent()</b><br>
<br>
给Windows驱动程序最精确的周期性通知是由Windows的多媒体服务timeSetEvent()提供的。它的时间可以精确到1毫秒。<br>
<br>
<b>3、使用VXD</b></p>
<p align="left" class="p9"> 可以使用VMM的Set_Global_time_Out()服务来迫使回调函数的几个毫秒再执行,这就创造了一个“只有一次”的定时器。VXD可以在回调中再次调用Set_Global_time_Out()来开始下一个定时器,这样提供了一个连续运行的定时器了。</p>
<p align="left" class="p9"><b>4、其它</b></p>
<p align="left" class="p9">GetTickCount():精度不高;<br>
timeGetTime(): 可以以毫秒级返回windows开始后的时间。<br>
<span class="p9"><br>
<font color="#000000"><br>
<b>二、时间限制</b></font><br>
<br>
这种限制是程序让用几天,而每次运行时间不限。CRACK这种程序有以下经验:<br>
</span><span class="p9"><br>
<b>1、以日期字符为突破口</b><br>
<br>
这种类型程序很多,让你有10天、20天、30天等,它们在安装时,在你的系统某处做上时间标记,每次运行时用当前系统时间和安装时的时间比较,判断你还否能使用。<br>
如最典型的30天限制的一种情况:<br>
mov ecx,1E ; 把1E (30天 十进制) 放入 ecx<br>
mov eax,[esp+10] ; 把用过天数放到eax<br>
cmp eax,ecx ; 在此比较<br>
jl ... <br>
如碰到这种情况,只需把"mov eax,[esp+10]"改成"mov eax,1" 。<br>
<br>
要记住当前年份、月份的十六进制的一些表示方法,如:2000年的十六进制是07D0,然后用W32DASM反汇编你的程序,用查找字符串的方法找D007(在机器码中位置颠倒了一下)或其它类似时间的数字,有可能会找到有价值的线索。你别小看这种方法,对那些没怎么防范的程序,此招很有效。<br>
如:一程序限定在2000年使用,可能有如下一代码:<br>
:00037805 817C2404D0070000 cmp dword ptr [esp+04], 000007D0 比较是否在2000年。</span></p>
<p><span class="p9"><b>2、破解范例</b></span></p>
<p><span class="p9"> 2.1<a href="lesson14042.htm" tppabs="http://toye.dihou.org/lesson14042.htm"> 破解99%程序的时间限制</a></span><span class="p9"><br>
<b><font color="#3333FF"><br>
<font color="#000000">三、与时间相关函数</font></font></b> </span></p>
<p><span class="p9">1、GetSystemTime 得当前系统时间</span></p>
<table width="100%" cellspacing="0" align="center">
<tr bgcolor="#F2FFFF">
<td><span class="p9">说明:<br>
在一个SYSTEMTIME中载入当前系统时间,这个时间采用的是“协同世界时间”(即UTC,也叫做GMT)格式。</span> <br>
<span class="p9">VOID GetSystemTime(</span>
<p><span class="p9"> LPSYSTEMTIME lpSystemTime // <font color="#FF3333">SYSTEMTIME</font>,随同当前时间载入的结构
<br>
); </span></p>
</td>
</tr>
</table>
<br>
<span class="p9">2、GetLocalTime 得当前本地时间</span> <br>
<br>
<table width="100%" cellspacing="0" align="center">
<tr bgcolor="#F2FFFF">
<td>
<p><span class="p9">VOID GetLocalTime(</span></p>
<p><span class="p9"> LPSYSTEMTIME lpSystemTime // <font color="#FF0033">SYSTEMTIME</font>,用于装载本地时间的结构<br>
);</span></p>
</td>
</tr>
</table>
<p><span class="p9">3、SystemTimeToFileTime 根据一个<font color="#FF3366">FILETIME</font>结构的内容,载入一个<font color="#FF3366">SYSTEMTIME</font>结构<br>
<br>
</span></p>
<table width="100%" cellspacing="0" align="center">
<tr bgcolor="#F2FFFF">
<td>
<p><span class="p9">BOOL SystemTimeToFileTime(</span></p>
<p><span class="p9"> CONST SYSTEMTIME * lpst, // <font color="#FF3366">SYSTEMTIME</font>,包含了系统时间信息的一个结构
<br>
LPFILETIME lpft //<font color="#FF3366"> FILETIME</font>,用于装载文件时间的一个结构
<br>
); <br>
返回值 :非零表示成功,零表示失败。 </span></p>
</td>
</tr>
</table>
<p class="p9">4、SetTimer 创建一定时器,在指定时间内暂停<br>
<br>
</p>
<table width="100%" cellspacing="0" align="center">
<tr bgcolor="#F2FFFF">
<td class="p9">UINT SetTimer(<br>
HWND hwnd, // 时间信息句柄<br>
UINT idtimer, // 定时器ID 标识符<br>
UINT uTimeout, // 暂停时间<br>
TIMERPROC tmprc // 处理定时过程的程序入口地址<br>
); </td>
</tr>
</table>
<br>
<span class="p9"><font color="#FF3333">附:SYSTEMTIME 类型定义</font></span>
<table width="100%" bordercolorlight="#F2FFFF" cellspacing="0"
bordercolordark="#CCCCCC" bgcolor="#F2FFFF" border="1">
<tr>
<td width="103%" colspan="2" class="p9">SYSTEMTIME 类型定义</td>
</tr>
<tr>
<td width="103%" colspan="2" class="p9">Type SYSTEMTIME ' 16 Bytes <br>
wYear As Integer<br>
wMonth As Integer<br>
wDayOfWeek As Integer<br>
wDay As Integer<br>
wHour As Integer<br>
wMinute As Integer<br>
wSecond As Integer<br>
wMilliseconds As Integer<br>
End Type</td>
</tr>
<tr>
<td width="103%" colspan="2" class="p9">说明</td>
</tr>
<tr>
<td width="103%" colspan="2" class="p9">
<p align="left">这结构中包含日期和时间信息.
</td>
</tr>
<tr>
<td width="103%" colspan="2" class="p9">字段表</td>
</tr>
<tr>
<td width="25%" class="p9">字段</td>
<td width="75%" class="p9">类型与说明</td>
</tr>
<tr>
<td width="25%" class="p9">wYear</td>
<td width="75%" class="p9">Integer,<span class="p9">当前年份 </span>.</td>
</tr>
<tr>
<td width="25%" class="p9">wMonth</td>
<td width="75%" class="p9">Integer,<span class="p9">当前的月份. 一月份是1</span>.</td>
</tr>
<tr>
<td width="25%" class="p9">wDayOfWeek</td>
<td width="75%" class="p9">Integer,<span class="p9">星期几. 星期天是 0.</span></td>
</tr>
<tr>
<td width="25%" class="p9">wDay</td>
<td width="75%" class="p9">Integer,<span class="p9">当月中的第几天. </span></td>
</tr>
<tr>
<td width="25%" class="p9">wHour</td>
<td width="75%" class="p9">Integer,<span class="p9">当前小时. </span></td>
</tr>
<tr>
<td width="25%" class="p9">wMinute</td>
<td width="75%" class="p9">Integer,<span class="p9">当前分钟.</span></td>
</tr>
<tr>
<td width="25%" class="p9">wSecond</td>
<td width="75%" class="p9">Integer,<span class="p9">当前秒. </span></td>
</tr>
<tr>
<td width="25%" class="p9">wMilliseconds</td>
<td width="75%" class="p9">Integer,<span class="p9">当前毫秒. </span></td>
</tr>
</table>
<br>
<font color="#FF3333"><span class="p9">附:FILETIM <span class="p9"> 类型定义</span></span></font><br>
<table border="1" width="100%" bordercolorlight="#F2FFFF" cellspacing="0"
bordercolordark="#CCCCCC" bgcolor="#F2FFFF">
<tr>
<td width="100%" colspan="2" class="p9" height="20">类型定义</td>
</tr>
<tr>
<td width="100%" colspan="2" class="p9">Type FILETIME ' 8 Bytes <br>
dwLowDateTime As Long<br>
dwHighDateTime As Long<br>
End Type</td>
</tr>
<tr>
<td width="100%" colspan="2" class="p9">说明</td>
</tr>
<tr>
<td width="100%" colspan="2" class="p9">windows提供了一种特殊的机制,可以记录文件的访问及创建时间。在win32环境中,这些信息以64位值的形式保存,量度的是自1601年1月1日以来经历的100ns时间单位数量(64-bit
number specifying the elapsed time since January 1, 1601, in 100-nanosecond
increments.)</td>
</tr>
<tr>
<td width="100%" colspan="2" class="p9">字段表</td>
</tr>
<tr>
<td width="25%" class="p9">字段</td>
<td width="75%" class="p9">类型及说明</td>
</tr>
<tr>
<td width="25%" class="p9">dwLowDateTime</td>
<td width="75%" rowspan="2" class="p9">Long,Low and high-order 32 bits of
the file time</td>
</tr>
<tr>
<td width="25%" class="p9">dwHighDateTime</td>
</tr>
<tr>
<td width="100%" colspan="2" class="p9">注解</td>
</tr>
<tr>
<td width="100%" colspan="2" class="p9">
<p align="left">文件时间在系统中通常用“协同世界时间”(UTC)的格式保存,但同时提供了在UTC及本地时间之间转换的函数。FILETIME结构里可包含UTC或本地时间——由我们自行决定在结构中包含什么时间
</td>
</tr>
</table>
<p></p>
<p></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>
<p> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -