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

📄 chap6-1-51.htm.primary

📁 加密与解密,软件加密保护技术与解决方案,看雪文档!
💻 PRIMARY
字号:
<html>
<head>
<title>Crack Tutorial</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="style/css.css" type="text/css">
<link rel="stylesheet" href="../STYLE/Css.css" type="text/css">
</head>

<body bgcolor="white" text="#000000" link="#004080" vlink="#004080" background="../image/Back.gif">
<p><a href="../catalog.htm">目录</a>>>第6章</p>
<p align="center" class="shadow1Copy"><b class="p3">第6章 软件保护技术</b></p>
<table width="80%" border="0" cellspacing="0" cellpadding="3" align="center" bgcolor="#bcbcbc" bordercolor="#111111" class="shadow1">
  <tr> 
    <td class="shadow1" width="25%"> 
      <div align="center">常见保护技巧</div>
    </td>
    <td class="shadow1" width="22%"> 
      <div align="center">反跟踪技术</div>
    </td>
    <td class="shadow1" width="23%"> 
      <div align="center">加密算法</div>
    </td>
    <td class="shadow1" width="30%"> 
      <div align="center">软件保护建议</div>
    </td>
  </tr>
</table>
<p align="center"><span class="p9"><b>第一节 常见保护技巧</b></span></p>
<table border="1" width="80%" cellpadding="5" bordercolor="#111111" bgcolor="#efefef" align="center" cellspacing="0">
  <tr> 
    <td width="33%" valign="middle" align="center" class="p9" height="23"> 
      <div align="center" class="p"><span class="p9"><span class="p9">1、<a href="Chap6-1-1.htm">序列号方式</a> </span></span></div>
    </td>
    <td width="33%" valign="middle" align="center" class="p9" height="23"> 
      <div align="center">2、<a href="Chap6-1-2.htm">警告(NAG)窗口</a></div>
    </td>
    <td width="34%" valign="top" class="p9" height="23"> 
      <div align="center"><span class="p9">3、<a href="Chap6-1-3.htm">时间限制</a></span></div>
    </td>
  </tr>
  <tr> 
    <td width="33%" valign="middle" align="center" class="p9" height="23"> 
      <div align="center">4、<a href="Chap6-1-4.htm">Key File保护</a></div>
    </td>
    <td width="33%" valign="middle" align="center" class="p9" height="23"> 
      <div align="center">5、<a href="Chap6-1-5.htm">功能限制的程序</a> </div>
    </td>
    <td width="34%" valign="top" class="p9" height="23"> 
      <div align="center">6、<a href="Chap6-1-6.htm">CD-check</a></div>
    </td>
  </tr>
</table>
<p align="center"><span class="p9"><span class="p9"><b>5、<a href="Chap6-1-5.htm">功能限制的程序</a> 
  </b> <font color="#FF3333">【习题】 </font></span></span></p>
<p align="left" class="p9"><b>1、习题一</b> <a href="Exercise/section05/chap6-1-5-01.zip">chap6-1-5-01</a> 
  菜单选项呈灰色 大小:163K 易</p>
<p align="left" class="p9"> 
  <script language="JavaScript1.2">
NS4 = (document.layers) ? 1 : 0;
IE4 = (document.all) ? 1 : 0;
ver4 = (NS4 || IE4) ? 1 : 0;

if (ver4) {
    with (document) {
        write("<STYLE TYPE='text/css'>");
        if (NS4) {
            write(".parent {position:absolute; visibility:visible}");
            write(".child {position:absolute; visibility:visible}");
            write(".regular {position:absolute; visibility:visible}")
        }
        else {
            write(".child {display:none}")
        }
        write("</STYLE>");
    }
}

function getIndex(el) {
    ind = null;
    for (i=0; i<document.layers.length; i++) {
        whichEl = document.layers[i];
        if (whichEl.id == el) {
            ind = i;
            break;
        }
    }
    return ind;
}

function arrange() {
    nextY = document.layers[firstInd].pageY +document.layers[firstInd].document.height;
    for (i=firstInd+1; i<document.layers.length; i++) {
        whichEl = document.layers[i];
        if (whichEl.visibility != "hide") {
            whichEl.pageY = nextY;
            nextY += whichEl.document.height;
        }
    }
}

function initIt(){
    if (!ver4) return;
    if (NS4) {
        for (i=0; i<document.layers.length; i++) {
            whichEl = document.layers[i];
            if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
       }
        arrange();
    }
    else {
        divColl = document.all.tags("DIV");
        for (i=0; i<divColl.length; i++) {
            whichEl = divColl(i);
            if (whichEl.className == "child") whichEl.style.display = "none";
        }
    }
}

function expandIt(el) {
    if (!ver4) return;
    if (IE4) {
        whichEl = eval(el + "Child");
        if (whichEl.style.display == "none") {
            whichEl.style.display = "block";
        }
        else {
            whichEl.style.display = "none";
        }
    }
    else {
        whichEl = eval("document." + el + "Child");
        if (whichEl.visibility == "hide") {
            whichEl.visibility = "show";
        }
        else {
            whichEl.visibility = "hide";
        }
        arrange();
    }
}

onload = initIt;

</script>
</p>
<div id="KB1Parent" class="parent"> <span class="p9"><a href="#" onClick="expandIt('KB1'); return false"> 
  1、习题一 答案</a> </span></div>
<div id="KB1Child" class="child"> <span class="p9">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> 
  <table width="100%" align="center" cellspacing="0">
    <tr bgcolor="#EFEFEF"> 
      <td height="28"> 
        <p class="p9">这个程序是利用函数EnableMenuItem来使菜单变灰的,用W32DASM打开程序,查找EnableMenuItem,你会发现这部分是重点:&nbsp; 
          &nbsp;&nbsp; <br>
          | <br>
          :004329E4 8B7E58&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; mov edi, dword ptr [esi+58] <br>
          :004329E7 85FF&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; test edi, edi <br>
          :004329E9 7427&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; je 00432A12&lt;---如是零则跳过 EnableMenuItem <br>
          :004329EB F6462002&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          test [esi+20], 02 <br>
          :004329EF 7521&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; jne 00432A12 <br>
          :004329F1 33C0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; xor eax, eax <br>
          :004329F3 8AC3&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; mov al, bl <br>
          :004329F5 8B0485D4374400&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mov eax, 
          dword ptr [4*eax+004437D4] <br>
          :004329FC 83C800&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; or eax, 00000000 <br>
          :004329FF 50&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; &nbsp; push eax <br>
          :00432A00 0FB74644&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          movzx eax, word ptr [esi+44] <br>
          :00432A04 50&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; &nbsp; push eax <br>
          :00432A05 8BC7&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; mov eax, edi <br>
          :00432A07 E824F4FFFF&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          call 00431E30 <br>
          :00432A0C 50&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; &nbsp; push eax <br>
          <br>
          * Reference To: user32.EnableMenuItem, Ord:0000h <br>
          &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | <br>
          :00432A0D E89A36FDFF&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          Call 004060AC <br>
          <br>
          * Referenced by a (U)nconditional or (C)onditional Jump at Addresses: 
          <br>
          |:004329E9(C), :004329EF(C) <br>
          | <br>
          :00432A12 33D2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; xor edx, edx <br>
          :00432A14 8BC6&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; mov eax, esi <br>
          :00432A16 8B08&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; &nbsp; mov ecx, dword ptr [eax] <br>
          :00432A18 FF5134&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
          &nbsp; call [ecx+34] <br>
          <br>
          <br>
          这有很多办法可使其跳转,但在这里选用另一法,你在SOFTICE下跟踪会发现在:004329E7 一行,EBX是0,因此将: <br>
          004329E7 85FF&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;test edi, edi <br>
          改成:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; test 
          ebx, edi <br>
          菜单功能恢复正常。 
  </table>
</div>
<span class="p9"> 
<script language='JavaScript'>
    if (NS4) {
        firstEl = "KB1Parent";
        firstInd = getIndex(firstEl);
        arrange();
    }
</script>
</span> <span class="p9"> </span>
<p align="center"><a href="../Catalog.htm"><img src="../image/navtoc.gif" width="84" height="23" border="0"></a><a href="Chap6-1-5.htm"><img src="../image/Navprev.gif" width="80" height="23" border="0"></a><a href="Chap6-1-6.htm"><img src="../image/navnext.gif" width="83" height="23" border="0"></a></p>
<hr width=735>
<div align="center"><span class="p9"><font size="2"><span class="p9"><font size="2"><span class="p9">Copyright 
  &copy; 2000-2001 <a href="http://www.pediy.com/">KanXue Studio</a> All Rights 
  Reserved.</span></font></span></font></span></div>
</body>
</html>

⌨️ 快捷键说明

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