⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lesson1404.htm

📁 为所有对破解感兴趣的朋友准备的礼物。希望大家能够喜欢。
💻 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">&nbsp; </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>
  如碰到这种情况,只需把&quot;mov eax,[esp+10]&quot;改成&quot;mov eax,1&quot; 。<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>&nbsp;</p>
<p> </p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -