<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
   <META NAME="Author" CONTENT="Eternal Bliss">
   <META NAME="Classification" CONTENT="Reverse Code Engineering">
   <META NAME="Description" CONTENT="Step by step guide to cracking McAfee VirusScan v4.0.1">
   <META NAME="KeyWords" CONTENT="How to crack McAfee VirusScan v4.0.1">
   <TITLE>McAfee VirusScan v 4.0.1</TITLE>
</HEAD>
<BODY TEXT="#001010" BGCOLOR="#C0C0C0" LINK="#FF0000" VLINK="#CC0000" ALINK="#FFFFFF">
<FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<TABLE BORDER CELLSPACING=2 WIDTH="100%" 22" >
<TR BGCOLOR="#FFFFFF">
<TD WIDTH="15%">
<CENTER><B><FONT FACE="Arial,Helvetica">Dec 1998</FONT></B></CENTER>
</TD>

<TD WIDTH="100%">
<CENTER><B><FONT FACE="Arial,Helvetica"><FONT SIZE=+1>"</FONT><FONT SIZE=+2>McAfee
VirusScan v4.0.1</FONT><FONT SIZE=+1>"</FONT></FONT></B></CENTER>

<CENTER><FONT FACE="Arial,Helvetica">&nbsp;'How to *think* like a cracker''</FONT></CENTER>
</TD>

<TD WIDTH="30%">
<CENTER><B><FONT FACE="Arial,Helvetica">Win '95 PROGRAM</FONT></B></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><FONT COLOR="#808080">Win Code Reversing</FONT></FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><FONT COLOR="#808080">&nbsp;</FONT></FONT></CENTER>
</TD>
</TR>

<TR BGCOLOR="#FFFF99">
<TD WIDTH="15%">
<CENTER><FONT FACE="Arial,Helvetica"><FONT COLOR="#890000">&nbsp;</FONT></FONT></CENTER>
</TD>

<TD>
<CENTER><FONT FACE="Arial,Helvetica">by <FONT SIZE=+3>Eternal Bliss&nbsp;</FONT></FONT></CENTER>
</TD>

<TD VALIGN=CENTER WIDTH="30%"><FONT FACE="Arial,Helvetica">&nbsp;</FONT></TD>
</TR>

<TR BGCOLOR="#999900">
<TD WIDTH="15%">
<CENTER><FONT FACE="Arial,Helvetica">&nbsp;</FONT></CENTER>
</TD>

<TD>
<CENTER><FONT FACE="Arial,Helvetica">Code Reversing For Beginners&nbsp;</FONT></CENTER>
</TD>

<TD WIDTH="30%">
<CENTER><FONT FACE="Arial,Helvetica">&nbsp;</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica">&nbsp;</FONT></CENTER>
</TD>
</TR>

<TR BGCOLOR="#C0C0C0">
<TD WIDTH="15%"></TD>

<TD ALIGN=LEFT>
<CENTER><FONT FACE="Arial,Helvetica">&nbsp;</FONT></CENTER>

<CENTER><B><FONT FACE="Arial,Helvetica">Program Details</FONT></B></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><B>Program Name:</B> v98i401e.zip</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><B>Program Type:</B> Popular Virus
Scanner</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><B>Program Location:</B> <A HREF="ftp://ftp.nai.com/pub/antivirus/win95/">Here</A>&nbsp;</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><B>Program Size: </B>8.1MB</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica">&nbsp;</FONT></CENTER>
</TD>

<TD WIDTH="30%"></TD>
</TR>

<TR BGCOLOR="#C0C0C0">
<TD WIDTH="15%"></TD>

<TD><FONT FACE="Arial,Helvetica"><B>&nbsp;</B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT>&nbsp;
<CENTER><B><FONT FACE="Arial,Helvetica">Tools Used:</FONT></B></CENTER>

<CENTER><FONT FACE="Arial,Helvetica">W32Dasm V8.93 - Disassembler</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica">Hex Workshop v2.54 - Hex Editor</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica">&nbsp;</FONT></CENTER>
</TD>

<TD WIDTH="30%"></TD>
</TR>

<TR>
<TD VALIGN=CENTER BGCOLOR="#C6E7C6">
<CENTER><B><FONT FACE="Arial,Helvetica"><FONT COLOR="#0000FF">Rating</FONT></FONT></B></CENTER>
</TD>

<TD VALIGN=CENTER BGCOLOR="#C6E7C6">
<CENTER><B><FONT FACE="Arial,Helvetica"><FONT COLOR="#0000FF">Easy ( X
)&nbsp; Medium ( )&nbsp; Hard ( )</FONT></FONT></B></CENTER>
</TD>

<TD WIDTH="30%" BGCOLOR="#999900"><B><FONT FACE="Arial,Helvetica"><FONT SIZE=-1>There
is a crack, a crack in everything. That's how the light gets in.</FONT></FONT></B></TD>
</TR>
</TABLE>

<CENTER><FONT FACE="Arial,Helvetica"><FONT SIZE=-1>&nbsp;</FONT></FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT>&nbsp;
<HR></CENTER>

<CENTER><FONT FACE="Arial,Helvetica">&nbsp;</FONT></CENTER>

<CENTER><B><FONT FACE="Arial,Helvetica"><FONT SIZE=+3>McAfee VirusScan
v4.0.1</FONT></FONT></B></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><FONT SIZE=+2>'How to *think* like
a cracker...'</FONT></FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><FONT COLOR="#0B7FC1">Written by Eternal
Bliss</FONT></FONT></CENTER>
<FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR><FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT FACE="Arial,Helvetica"><FONT COLOR="#0000FF"><FONT SIZE=+2>Introduction</FONT></FONT></FONT></CENTER>
</TD>
</TR>
</TABLE>


<P>The authors (Network Associates) of McAfee VirusScan says:<FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">
"The Dr Solomon's virus scanning engine is at the heart of VirusScan 4.0.1.
Backed by the world's largest antivirus research organization, it delivers
outstanding virus detection and cleaning rates. The new engine also detects
viruses in nearly all of the popular compressed file formats."</FONT></FONT>

<P>My comments:<FONT FACE="Arial,Helvetica"><FONT COLOR="#000000"> "It
is not as good as it says it is..."</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">Installation: Install
everything except for the Command Centre(might need more patches) and the
ScreenSaver Scanner (Buggy).</FONT></FONT>
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT FACE="Arial,Helvetica"><FONT COLOR="#3333FF"><FONT SIZE=+2>About
this protection system</FONT></FONT></FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR><FONT FACE="Arial,Helvetica">The protection systems employed within
McAfee VirusScan consist of the following:-</FONT>

<P><FONT FACE="Arial,Helvetica"><B><FONT COLOR="#000099">1.</FONT></B>
Deep within your System Registry it uses the following branch to store
the User Registration information.</FONT>

<P><B><FONT FACE="Arial,Helvetica"><FONT COLOR="#663366">HKEY_LOCAL_MACHINE\Software\Network
Associates\ECare</FONT></FONT></B>
<BR><FONT FACE="Arial,Helvetica">&nbsp;&nbsp;&nbsp;</FONT>
<BR><FONT FACE="Arial,Helvetica"><B><FONT COLOR="#000099">2</FONT></B>.
It's a 30 day, time limited program that will 'expire' after 30 days of
being installed.</FONT>
<BR>&nbsp;
<BR><FONT FACE="Arial,Helvetica"><B><FONT COLOR="#000099">3.</FONT></B>
When expired, there will be a nag screen telling you the time is up and
you have to register. If you don't, it will exit.</FONT>
<BR>&nbsp;
<BR><FONT FACE="Arial,Helvetica"><B><FONT COLOR="#000099">4.</FONT></B>
A self-check is done when the program starts to see if there is any changes
to it's codes.</FONT>

<P><FONT FACE="Arial,Helvetica">When first run, an entry is placed in</FONT>

<P><FONT FACE="Arial,Helvetica"><B><FONT COLOR="#663366">HKEY_LOCAL_MACHINE\Software\Network
Associates\ECare\LM\FDX5-KAA</FONT></B></FONT>
<BR>&nbsp;
<BR><FONT FACE="Arial,Helvetica">This is what the program uses to calculate
when the expiry date is.</FONT>
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT FACE="Arial,Helvetica"><FONT SIZE=+2><FONT COLOR="#0000FF">The
Essay</FONT>&nbsp;</FONT></FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR><FONT FACE="Arial,Helvetica">I started with the "About" box that shows
"Evaluation Copy" on the title. I took note of the details of the box and
then proceed to W32Dasm for a dead listing.</FONT>

<P><FONT FACE="Arial,Helvetica">In my dead listing I always go straight
into the String Data Resources of the target program, we can gain a lot
of valuable info just by noting down what we see and what looks interesting..</FONT>

<P><B><FONT FACE="Arial,Helvetica"><FONT COLOR="#993366">Mem Location&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
String</FONT></FONT></B>
<BR><FONT FACE="Arial,Helvetica">-------------------------------------------------------------</FONT>

<P><FONT FACE="Courier New,Courier">0040F913&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
"The program license has expired. You must purchase to conti"</FONT>

<P><FONT FACE="Courier New,Courier">004014FB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
"About McAfee VirusScan OEM Edition"</FONT>
<BR><FONT FACE="Courier New,Courier">00401518&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
"About McAfee VirusScan"</FONT>
<BR><FONT FACE="Courier New,Courier">00401524&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
"About McAfee VirusScan Evaluation Copy"</FONT>

<P><FONT FACE="Courier New,Courier">0042A939&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
"The validation code for %s does not match. Please reinstall "</FONT>

<P><FONT FACE="Arial,Helvetica">There are many other interesting strings
but these will do for us. These are the places that I did patches on.</FONT>

<P><FONT FACE="Arial,Helvetica">OK, lets start with the easiest part first.</FONT>

<P><FONT FACE="Arial,Helvetica">In the "About" box, you will see <B>"Evaluation
Copy"</B> on the title. So in our String Data Resources locate "About McAfee
VirusScan Evaluation Copy" and double-click on it..</FONT>
<BR><FONT FACE="Arial,Helvetica">&nbsp;</FONT>

<P><FONT FACE="Arial,Helvetica">You should see this code fragment...</FONT>
<BR><FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR>&nbsp;
<BR><FONT FACE="Courier New,Courier">* Possible Reference to Dialog: DialogID_0067,
CONTROL_ID:0452, "McAfee VirusScan"</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:004014CD 6852040000 push 00000452</FONT>
<BR><FONT FACE="Courier New,Courier">---------snip-----------</FONT>
<BR><FONT FACE="Courier New,Courier">:004014E5 E816E70000&nbsp;&nbsp;&nbsp;&nbsp;
call 0040FC00</FONT>
<BR><FONT FACE="Courier New,Courier">:004014EA 83C408&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
add esp, 00000008</FONT>
<BR><FONT FACE="Courier New,Courier">:004014ED 85C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
test eax, eax</FONT>
<BR><FONT FACE="Courier New,Courier">:004014EF 7411&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
je 00401502 <FONT COLOR="#993366">-> Jump over the "OEM version"</FONT></FONT>
<BR><FONT FACE="Courier New,Courier">:004014F1 8D4C246C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
lea ecx, dword ptr [esp+6C]</FONT>
<BR><FONT FACE="Courier New,Courier">:004014F5 6804010000&nbsp;&nbsp;&nbsp;&nbsp;
push 00000104</FONT>
<BR><FONT FACE="Courier New,Courier">:004014FA 51&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push ecx</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Possible Reference to String Resource
ID=40120: "About McAfee VirusScan OEM Edition"</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:004014FB 68B89C0000&nbsp;&nbsp;&nbsp;&nbsp;
push 00009CB8</FONT>
<BR><FONT FACE="Courier New,Courier">:00401500 EB27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jmp 00401529</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Referenced by a (U)nconditional or
(C)onditional Jump at Address:</FONT>
<BR><FONT FACE="Courier New,Courier">|:004014EF(C)</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:00401502 8B842488040000 mov eax, dword
ptr [esp+00000488]</FONT>
<BR><FONT FACE="Courier New,Courier">:00401509 6804010000&nbsp;&nbsp;&nbsp;&nbsp;
push 00000104</FONT>
<BR><FONT FACE="Courier New,Courier">:0040150E 83F801&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cmp eax, 00000001</FONT>
<BR><FONT FACE="Courier New,Courier">:00401511 750C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jne 0040151F <FONT COLOR="#993366">-> Jump to the "Evaluation version"</FONT></FONT>
<BR><FONT FACE="Courier New,Courier">:00401513 8D542470&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
lea edx, dword ptr [esp+70]</FONT>
<BR><FONT FACE="Courier New,Courier">:00401517 52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push edx</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Possible Reference to String Resource
ID=40102: "About McAfee VirusScan"</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:00401518 68A69C0000&nbsp;&nbsp;&nbsp;&nbsp;
push 00009CA6</FONT>
<BR><FONT FACE="Courier New,Courier">:0040151D EB0A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jmp 00401529</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Referenced by a (U)nconditional or
(C)onditional Jump at Address:</FONT>
<BR><FONT FACE="Courier New,Courier">|:00401511(C)</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:0040151F 8D442470&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
lea eax, dword ptr [esp+70]</FONT>
<BR><FONT FACE="Courier New,Courier">:00401523 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push eax</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Reference to String Resource ID=40103:
"About McAfee VirusScan Evaluation&nbsp; Copy"</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:00401524 68A79C0000 push 00009CA7</FONT>

<P><FONT FACE="Courier New,Courier">---------snip-----------</FONT>

<P><FONT FACE="Arial,Helvetica">1) At <B>:004014EF</B> if we change <B>"je
00401502" (7411)</B> to <B>"jmp 00401502" (EB11)</B>, we will jump over
the "OEM version".</FONT>

<P><FONT FACE="Arial,Helvetica">2) At <B>:00401511</B> if we change <B>"jne
0040151F" (750C)</B> to prevent the jump, then we will not go to the "Evaluation
version". <I>(I don't have to teach you how to NOP(90), right?)</I></FONT>
<BR>&nbsp;
<HR SIZE=5 WIDTH="95%">

<P><FONT FACE="Arial,Helvetica">The next part involves patching the program
so that it won't exit nor show the nag splash when 30 days is up. It is
a bit more tricky and I must apologise first if my explanation is not comprehensive.</FONT>

<P><FONT FACE="Arial,Helvetica">When 30 days is up, you will see the nag
"The program license has expired. You must purchase to continue... blah
blah". So in our String Data Resources locate this string and double-click
on it..</FONT>

<P><FONT FACE="Arial,Helvetica">You should see this code fragment...</FONT>
<PRE></PRE>
<FONT FACE="Courier New,Courier">* Referenced by a (U)nconditional or (C)onditional
Jump at Address:</FONT>
<BR><FONT FACE="Courier New,Courier">|:0040F88C(C)</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Possible StringData Ref from Data
Obj ->"ECLicenseFunction"</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:0040F898 68D4794300&nbsp;&nbsp;&nbsp;&nbsp;
push 004379D4</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F89D 55&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push ebp</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Reference To: KERNEL32.GetProcAddress,
Ord:0116h</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:0040F89E FF1578E84300&nbsp;&nbsp;
Call dword ptr [0043E878]</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8A4 8BE8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mov ebp, eax</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8A6 85ED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
test ebp, ebp</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8A8 0F84BA000000&nbsp;&nbsp;
je 0040F968 <FONT COLOR="#993366">-> Tried changing but did not work</FONT></FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8AE E8AD020000&nbsp;&nbsp;&nbsp;&nbsp;
call 0040FB60</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8B3 85C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
test eax, eax</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8B5 7510&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jne 0040F8C7 <FONT COLOR="#993366">-> Patch here</FONT></FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8B7 8B842408020000 mov eax,
dword ptr [esp+00000208]</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8BE 85C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
test eax, eax</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Possible Reference to String Resource
ID=00002: "In Folder"</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:0040F8C0 B802000000&nbsp;&nbsp;&nbsp;&nbsp;
mov eax, 00000002</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8C5 7405&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
je 0040F8CC <FONT COLOR="#993366">-> Tried changing to 7505 (jne 0040F8CC)</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#993366">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-> and the program exits when it is within 30 days. This</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#993366">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-> will be skipped when the jump above is patched.</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Referenced by a (U)nconditional or
(C)onditional Jump at Address:</FONT>
<BR><FONT FACE="Courier New,Courier">|:0040F8B5(C)</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Possible Reference to String Resource
ID=00005: "&amp;Clean File"</FONT>
<BR><FONT FACE="Courier New,Courier">|</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8C7 B805000000&nbsp;&nbsp;&nbsp;&nbsp;
mov eax, 00000005</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Referenced by a (U)nconditional or
(C)onditional Jump at Address:</FONT>
<BR><FONT FACE="Courier New,Courier">|:0040F8C5(C)</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:0040F8CC 8D542430&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
lea edx, dword ptr [esp+30]</FONT>
<BR><FONT FACE="Courier New,Courier">---------snip-----------</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8E2 FFD5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
call ebp</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8E4 8B44242C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mov eax, dword ptr [esp+2C]</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8E8 83C418&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
add esp, 00000018</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8EB 85C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
test eax, eax</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8ED 7410&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
je 0040F8FF <FONT COLOR="#993366">-> Jump to Expired notice</FONT></FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8EF 837C243803&nbsp;&nbsp;&nbsp;&nbsp;
cmp dword ptr [esp+38], 00000003</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8F4 7509&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jne 0040F8FF <FONT COLOR="#993366">-> Jump to Expired notice</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Possible Reference to String Resource
ID=00100: "YES"</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:0040F8F6 C7400864000000 mov [eax+08],
00000064</FONT>
<BR><FONT FACE="Courier New,Courier">:0040F8FD EB69&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jmp 0040F968</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Referenced by a (U)nconditional or
(C)onditional Jump at Addresses:</FONT>
<BR><FONT FACE="Courier New,Courier">|:0040F8ED(C), :0040F8F4(C) <FONT COLOR="#993366">->
Take note of these two locations</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:0040F8FF 837C243001&nbsp;&nbsp;&nbsp;&nbsp;
cmp dword ptr [esp+30], 00000001</FONT>
<BR><FONT FACE="Courier New,Courier">---------snip-----------</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">* Possible Reference to String Resource
ID=03145: "The program license has expired.</FONT>
<BR><FONT FACE="Courier New,Courier">You must purchase to conti"</FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier">:0040F913 68490C0000 push 00000C49</FONT>
<BR><FONT FACE="Courier New,Courier">---------snip-----------</FONT>

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">So, what I understand
from the code is this:</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">1) At :0040F8B5,
the program checks to see if 30 days is up</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">2) At :0040F8C5,
the program checks to see if it is still within 30 days.</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">*Take note of the
locations they jump to*</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">3) At :0040F8ED
and :0040F8F4, two more checks are done.</FONT></FONT>

<P><I><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">1) and 2) have
something to do with the program exiting</FONT></FONT></I>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000"><I>3) will show
the expiration notice</I></FONT></FONT>

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">To get rid of the
notice, simply "nop" the two lines. <I>(I don't have to teach you how to
do it, right?)</I></FONT></FONT>

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">To prevent the program
from exiting, I observe that :0040F8C5 jumps to location 0040F8CC if it
is still within 30 days. While :0040F8B5 jumps to 0040F8C7 if 30 days is
up. Between them, there is an extra instruction:</FONT></FONT>
<PRE>

<FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0040F8C7 B805000000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mov eax, 00000005</FONT></FONT></PRE>
<FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">So, I decided to change
:0040F8B5 to mimic the actions of :0040F8C5 ie. to jump to location 0040F8CC
but this time, it will jump regardless of the "test" result above it. I
counted the number of bytes to jump and change that to Hex. I have to jump
15 bytes in Hex.</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">Therefore, at :0040F8B5,
I change jne 0040F8C7 (7510) to jmp 0040F8CC (EB15)</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">That prevents the
program from exiting when expired and at the same time, I've jumped over
the 2nd jump.</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>
<HR SIZE=5 WIDTH="95%">

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">If you patch these
locations and run the program, you will come to the final protection. That
is the self-check done by the program.</FONT></FONT>

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">Go to our String
Data Resources, locate "The validation code for %s does not match. Please
reinstall " and double-click on it..</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">You should see this
code fragment...</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>
<PRE></PRE>
<FONT FACE="Courier New,Courier"><FONT COLOR="#000000">* Referenced by
a (U)nconditional or (C)onditional Jump at Address:</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">|:0042A958(C)</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A8E0 83FD01
cmp ebp, 00000001</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A8E3 7575&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jne 0042A95A </FONT><FONT COLOR="#993366">-> Jump if Self-Check is valid</FONT><FONT COLOR="#000000"></FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">---------snip-----------</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A91B E8A0460000&nbsp;&nbsp;
Call 0042EFC0</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A920 85C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
test eax, eax</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A922 742C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
je 0042A950 </FONT><FONT COLOR="#993366">-> Go to the Self-Check</FONT><FONT COLOR="#000000"></FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A924 8D442424&nbsp;&nbsp;&nbsp;&nbsp;
lea eax, dword ptr [esp+24]</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A928 50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push eax</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">* Reference To:
MCUTIL32.Ordinal:009D, Ord:009Dh</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A929 E890480000&nbsp;&nbsp;
Call 0042F1BE</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A92E 85C0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
test eax, eax</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A930 741E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
je 0042A950 </FONT><FONT COLOR="#993366">-> Go to the Self-Check</FONT><FONT COLOR="#000000"></FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A932 8B0E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mov ecx, dword ptr [esi]</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A934 8D542410&nbsp;&nbsp;&nbsp;&nbsp;
lea edx, dword ptr [esp+10]</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A938 52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
push edx</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">* Possible Reference
to String Resource ID=40151: "The validation code for %s does not match.</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">Please reinstall
"</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A939 C7442420D79C0000
mov [esp+20], 00009CD7</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A941 894C241C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mov dword ptr [esp+1C], ecx</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A945 897C2424&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mov dword ptr [esp+24], edi</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A949 E8C277FEFF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
call 00412110</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A94E 33ED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
xor ebp, ebp</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">* Referenced
by a (U)nconditional or (C)onditional Jump at Addresses:</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">|:0042A922(C),
:0042A930(C)</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A950 8B4604&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mov eax, dword ptr [esi+04]</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A953 83C604&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
add esi, 00000004</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A956 3BC3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cmp eax, ebx</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A958 7586&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
jne 0042A8E0 </FONT><FONT COLOR="#993366">-> Go to the "start" of the Self-Check</FONT><FONT COLOR="#000000"></FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">* Referenced
by a (U)nconditional or (C)onditional Jump at Addresses:</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">|:0042A8CE(C),
:0042A8E3(C)</FONT></FONT><FONT FACE="Courier New,Courier"></FONT>

<P><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A95A 5F
pop edi</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">---------snip-----------</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT COLOR="#000000">:0042A966 C3
ret</FONT></FONT>

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">This is a sort of
loop which I don't understand. Anyway, there are two locations which you
can do the patch:</FONT></FONT>
<PRE><FONT COLOR="#000000"><FONT FACE="Arial,Helvetica">1) </FONT><FONT FACE="Courier New,Courier">:0042A8E3 7575&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jne 0042A95A</FONT></FONT></PRE>

<PRE><FONT COLOR="#000000"><FONT FACE="Arial,Helvetica">2) </FONT><FONT FACE="Courier New,Courier">:0042A958 7586&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jne 0042A8E0</FONT></FONT></PRE>
<FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">I did the patch on the
2nd one so that there won't be a check at all. So, by changing "jne 0042A8E0"
(7586) at :0042A958 to "NOP NOP" (9090), I stopped the self-check.</FONT></FONT>

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">Job Done.</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT FACE="Arial,Helvetica"><FONT COLOR="#0000FF"><FONT SIZE=+2>The
Crack</FONT></FONT></FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">Total of 6 patches
to be done as listed above.&nbsp;</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT FACE="Arial,Helvetica"><FONT SIZE=+2><FONT COLOR="#0000FF">Final
Notes</FONT>&nbsp;</FONT></FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica"><FONT COLOR="#333333">&nbsp;&nbsp;&nbsp;&nbsp;</FONT><FONT COLOR="#000000"></FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">This tutorial is
dedicated to all the newbies like me. I've tried to explain everything
in details.</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">My thanks and gratitude
goes to:-</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">The Sandman</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">All the writers
of Cracks tutorials</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT FACE="Arial,Helvetica"><FONT COLOR="#0000FF"><FONT SIZE=+2>Ob
Duh</FONT></FONT>&nbsp;</FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica"><FONT COLOR="#000000"><I>&nbsp;</I></FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000"><I>Do I really have
to remind you all that by buying and NOT stealing the software you use
will ensure that these software houses will be encouraged to producing
even *better* software for us to use and enjoy.</I></FONT></FONT>

<P><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000"><I>Ripping off software
through serials and cracks is for lamers..</I></FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000"><I>If your looking
for cracks or serial numbers from these pages then your wasting your time,
try searching elsewhere on the Web under Warze, Cracks etc.</I></FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;</FONT></FONT>
<BR>
<HR SIZE=3 WIDTH="100%">
<CENTER><FONT FACE="Arial,Helvetica">&nbsp;</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica">&nbsp;</FONT></CENTER>

<CENTER><TABLE BORDER=2 >
<TR>
<TD>&nbsp;<FONT FACE="Arial,Helvetica"><FONT SIZE=+1>[ <B><A HREF="Main.html">Return</A></B>
]</FONT></FONT>&nbsp;</TD>
</TR>
</TABLE></CENTER>

<CENTER><B><FONT FACE="Arial,Helvetica"><FONT SIZE=+1>&nbsp;</FONT></FONT></B></CENTER>

<HR SIZE=3 WIDTH="100%"><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000"><FONT SIZE=-2>Essay
by:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A HREF="mailto:Eternal_Bliss@hotmail.com">Eternal
Bliss</A></FONT></FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT COLOR="#000000"><FONT SIZE=-2>Page
Created: 13th December 1998</FONT></FONT></FONT>
</BODY>
</HTML>
