📄 chap6-1-41.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>4、<a href="Chap6-1-4.htm">Key
File保护</a> </b> <b><font color="#FF6666">【习题】 </font></b></span></span></p>
<p align="left" class="p9"><b><span class="p9">1、习题一</span></b><span class="p9">
<a href="Exercise/section04/chap6-1-4-01.zip">chap6-1-4-01</a> Keyfile和Serial/Name
103K 易</span></p>
<p align="left" class="p9"><span class="p9"> <b><span class="p9">2、习题二 </span></b><span class="p9"><a href="Exercise/section04/chap6-1-4-02.zip">chap6-1-4-02</a></span>
Keyfile 120K 易<br>
</span></p>
<p align="left" class="p9"><span class="p9"><b><span class="p9">3、习题三 </span></b><span class="p9"><a href="lesson1406-ex-02.zip"></a><span class="p9"><a href="Exercise/section04/chap6-1-4-03.zip">chap6-1-4-03</a></span>
Keyfile</span> 3K 易</span></p>
<p align="left" class="p9"><span class="p9"><b><span class="p9">4、习题四 </span></b><span class="p9"><a href="lesson1406-ex-02.zip"></a><span class="p9"><a href="Exercise/section04/chap6-1-4-04.zip">chap6-1-4-04</a></span>
Keyfile</span> 22K 中</span></p>
<p align="left" class="p9"><span class="p9"><b><span class="p9">5、习题五 </span></b><span class="p9"><a href="lesson1406-ex-02.zip"></a><span class="p9"><a href="Exercise/section04/chap6-1-4-05.zip">chap6-1-4-05</a></span>
Keyfile</span> 14K 难</span></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"> <a href="#" onClick="expandIt('KB1'); return false">
<span class="p9">1、习题一 答案 </span></a> </div>
<div id="KB1Child" class="child"> <span class="p9"> </span>
<table width="100%" align="center" cellspacing="0">
<tr bgcolor="#EFEFEF">
<td height="28">
<p class="p9">保护类型: Keyfile and Serial/Name <br>
工具:Softice和W32dasm <br>
Cracker: FireWorx
<br>
用W32DASM装载程序,先用串式数据参考(String data refs) 检查程序。 <br>
你运行crame时,选择任一文件,则出现:"Invalid Keyfile",因此在W32DASM查找这字符串,双击来到W32DASM中,向上会看到:
<br>
<br>
* Possible StringData Ref from Code Obj ->"Runtime Error: 12FF:024"
<br>
| <br>
:00427DDE BAD07E4200
mov edx, 00427ED0 //打开文件 <br>
:00427DE3 E8A0B8FDFF
call 00403688 //检测文件 <br>
:00427DE8 750C
jne 00427DF6
//如果无效的keyword则跳走 <br>
:00427DEA C705E8A6420002000000 mov dword ptr [0042A6E8],
00000002 <br>
:00427DF4 EB67
jmp 00427E5D <br>
<br>
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
<br>
|:00427DE8(C) <br>
| <br>
:00427DF6 C705E8A6420001000000 mov dword ptr [0042A6E8],
00000001 //准备nag窗口! <br>
:00427E00 6A00
push 00000000 <br>
<br>
* Possible StringData Ref from Code Obj ->"Error" <br>
| <br>
:00427E02 68E87E4200
push 00427EE8 //写字符"Invalid Keyfile" 到信息窗口... <br>
<br>
* Possible StringData Ref from Code Obj ->"Invalid Keyfile" <br>
<br>
不过你们看到上面的字符串: "Runtime Error: 12FF:024" ,真有点奇怪?难到是程序的BUG?再激发点灵感,是不是keyfile文件中的Keywords?
<br>
试试吧,建一文本文件,把Runtime Error: 12FF:024这一行放进去。运行程序,选择你刚才建的文件,OK,这下没出现错误,成功!现在程序充许你键入name和code。你任意输入点击OK,出现:
"Wrong Entry! Try again!" <br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -