📄 chap6-1-21.htm.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"><a href="Chap6-1.htm"><font color="#FFFFFF">第一节 常见保护技巧</font></a></div>
</td>
<td class="shadow1" width="25%">
<div align="center"><a href="Chap6-2.htm"><font color="#FFFFFF">第二节 反跟踪技术</font></a></div>
</td>
<td class="shadow1" width="25%">
<div align="center"><a href="Chap6-3.htm"><font color="#FFFFFF">第三节 加密算法</font></a></div>
</td>
<td class="shadow1" width="25%">
<div align="center"><a href="Chap6-4.htm"><font color="#FFFFFF">第四节 软件保护建议</font></a></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>2、<a href="Chap6-1-2.htm">警告(NAG)窗口</a></b> <span class="p9"><span class="p9"><span class="p9"><span class="p9"><span class="p9"><span class="p9"><span class="p9"><span class="p9"><span class="p9"><font color="#FF3366">【习题】</font></span></span></span></span></span></span></span></span></span></span></span></p>
<p align="left"><b><span class="p9">1、习题一</span></b><span class="p9"> <a href="Exercise/section02/chap6-1-2-01.zip">chap6-1-2-01</a>
157K NAG 易</span></p>
<p align="left"><b><span class="p9">2、习题二</span></b><span class="p9"> <a href="Exercise/section02/chap6-1-2-02.zip">chap6-1-2-02</a>
2K NAG 易</span></p>
<p align="left"><b><span class="p9">3、习题三 </span></b><span class="p9"><a href="Exercise/section02/chap6-1-2-03.zip">chap6-1-2-03</a>
9K NAG 中</span></p>
<p align="left"><b><span class="p9">4、习题四 </span></b><span class="p9"><a href="Exercise/section02/chap6-1-2-04.zip">chap6-1-2-04</a>
23K NAG 中(需<a href="Exercise/cw3220.zip">cw3220.dll</a>)</span></p>
<p align="left"><b><span class="p9">5、习题五</span></b><span class="p9"> <a href="Exercise/section02/chap6-1-2-05.zip">chap6-1-2-05
</a>193K NAG 中</span></p>
<p align="left">
<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" align="left"> <a href="#" onClick="expandIt('KB1'); return false" class="p9">
1、习题一 答案</a> </div>
<div id="KB1Child" class="child" align="left">
<table width="100%" align="center" cellspacing="0">
<tr bgcolor="#EFEFEF">
<td height="28">
<p class="p9">此程序在开始运行有NAG出现,退出时也会出现。 <br>
在SOFTICE下命令: <br>
bpx messageboxa <br>
开始运行程序,立即将中断,此时按F11将看到NAG。(不要按F5,不然你点OK将不会中断),F11的含义:执行到返回地址(^G @ss:sp;)
然后按OK,将再次中断返回SOFTICE。如下: <br>
* Reference To: user32.MessageBoxA, Ord:0000h <br>
| <br>
:0043EFDE E87572FCFF
Call 00406258 <br>
:0043EFE3 33D2
xor edx, edx---你将落在此 <br>
:0043EFE5 8B83C8020000 mov
eax, dword ptr [ebx+000002C8] <br>
:0043EFEB E8A82EFEFF
call 00421E98 <br>
:0043EFF0 5B
pop ebx <br>
:0043EFF1 C3
ret <br>
按F10,走出此CALL,会来到: <br>
:00439721 8D4000
lea eax, dword ptr [eax+00] <br>
:00439724 53
push ebx <br>
:00439725 6683B86602000000 cmp word ptr [eax+00000266],
0000 <br>
:0043972D 7410
je 0043973F-------此处可跳出NAg的call <br>
:0043972F 8BD8
mov ebx, eax <br>
:00439731 8BD0
mov edx, eax <br>
:00439733 8B8368020000 mov
eax, dword ptr [ebx+00000268] <br>
:00439739 FF9364020000 call
dword ptr [ebx+00000264] ----产生NAg的窗口 <br>
:0043973F 5B
pop ebx<---你来到此 <br>
:00439740 C3
ret <br>
好,现在找到1个地方,此时按F5,程序运行。最后,关闭程序,将再次中断。(你不要禁止开始的断点) <br>
按f11,NAG出现,点击Ok,再次中断,按F10来到: <br>
:0043709B 8945FC
mov dword ptr [ebp-04], eax <br>
:0043709E 8B45FC
mov eax, dword ptr [ebp-04] <br>
:004370A1 6683B8B602000000 cmp word ptr [eax+000002B6],
0000 <br>
:004370A9 7441
je 004370EC-------此处可跳出NAg的call <br>
:004370AB 33C0
xor eax, eax <br>
:004370AD 55
push ebp <br>
:004370AE 68D5704300
push 004370D5 <br>
:004370B3 64FF30
push dword ptr fs:[eax] <br>
:004370B6 648920
mov dword ptr fs:[eax], esp <br>
:004370B9 8B5DFC
mov ebx, dword ptr [ebp-04] <br>
:004370BC 8B55FC
mov edx, dword ptr [ebp-04] <br>
:004370BF 8B83B8020000 mov
eax, dword ptr [ebx+000002B8] <br>
:004370C5 FF93B4020000 call
dword ptr [ebx+000002B4]----产生NAg的窗口 <br>
:004370CB 33C0
xor eax, eax---你将会来到此 <br>
:004370CD 5A
pop edx <br>
:004370CE 59
pop ecx <br>
:004370CF 59
pop ecx <br>
<br>
好了,在十六进制工具修改0043972D和004370A9处,将两处的je改jne (74 to 75)
</table>
</div>
<div id="KB2Parent" class="parent" align="left"> <a href="#" onClick="expandIt('KB2'); return false" class="p9">
2、习题二 答案</a></div>
<div id="KB2Child" class="child" align="left">
<table width="100%" align="center" cellspacing="0">
<tr bgcolor="#EFEFEF">
<td height="28">
<p class="p9">在SOFTICE下命令:bpx MessageBoxA <br>
然后再运行程序,将会中断,按f11后NAG将出现,点击OK,将再次被中断,具体如下: <br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -