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

📄 opera.html

📁 This is a e-book How to Crack with Softice. HTML type document.
💻 HTML
字号:
<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="Lownoise">
   <META NAME="Classification" CONTENT="Reverse Code Engineering">
   <META NAME="Description" CONTENT="Step by step guide to cracking Opera v3.21">
   <META NAME="KeyWords" CONTENT="How to crack Opera v3.21">
   <TITLE>Opera v3.21</TITLE>
</HEAD>
<BODY TEXT="#001010" BGCOLOR="#C0C0C0" LINK="#FF0000" VLINK="#000099" ALINK="#FFFF00">
&nbsp;
<TABLE BORDER CELLSPACING=2 WIDTH="100%" 22" >
<TR BGCOLOR="#FFFFFF">
<TD WIDTH="15%">
<CENTER><B><FONT FACE="Arial,Helvetica">August 1998</FONT></B></CENTER>
</TD>

<TD WIDTH="100%">
<CENTER><FONT FACE="Arial,Helvetica"><FONT SIZE=+2>"Cracking Opera v3.21"</FONT></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"><FONT SIZE=+2>by KLee8084&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> opera.exe</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><B>Program Type:</B> Excellent web
browser</FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><B>Program Location: </B><A HREF="http://tucows.countrycorners.com/files/0321e32.exe">HERE</A><B>&nbsp;</B>&nbsp;</FONT></CENTER>

<CENTER><B><FONT FACE="Arial,Helvetica">Program Size: 1.1 meg</FONT></B></CENTER>
<FONT FACE="Arial,Helvetica">&nbsp;</FONT></TD>

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

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

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

<CENTER><FONT FACE="Arial,Helvetica">Softice V3.2 - Debugger</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 SIZE=-1><FONT COLOR="#0000FF">Easy
( X )&nbsp; Medium (&nbsp; )&nbsp; Hard (&nbsp;&nbsp;&nbsp; )&nbsp; Pro
(&nbsp;&nbsp;&nbsp; )</FONT>&nbsp;</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;</FONT>&nbsp;
<HR></CENTER>

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

<CENTER><FONT FACE="Arial,Helvetica"><FONT SIZE=+2>Cracking Opera Web Browser
v3.21</FONT></FONT></CENTER>

<CENTER><FONT FACE="Arial,Helvetica"><FONT COLOR="#0B7FC1">Written by KLee8084</FONT></FONT></CENTER>
<FONT FACE="Arial Black">&nbsp;</FONT>
<BR>&nbsp;
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT COLOR="#0000FF"><FONT SIZE=+2>Introduction</FONT></FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR><FONT FACE="Arial,Helvetica">Opera is a very small, very fast web browser
that is pretty much comparable to Netscape Navigator. One of it's best
points is the fact that you can open multiple windows within the one browser,
and can cascade or tile the windows.</FONT>
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT COLOR="#3333FF"><FONT SIZE=+2>About this protection system</FONT></FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR>This program calculates a registration number based on the fake registration
number that you entered (as strange as this may seem) IF your fake registration
number is 12 characters in length. If smaller, then the registration number
is based on the user name that you enter.
<BR><FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT SIZE=+2><FONT COLOR="#0000FF">The Essay</FONT>&nbsp;</FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica"><FONT COLOR="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></FONT>
<BR>As there are routines in this program that copies the information that
you enter to multiple places in memory, I am going to keep this essay simple
(it is far too easy to "get lost in the code darkwoods"). Ready? Let's
go!

<P>Run the program. The first time you'll see a dialog box that allows
you to associate html files, etc.. with the Opera browser. Deal with this
dialog box as you see fit. Now another box pops up. This is the box that
we are going to be working with: the registration box.
<BR>&nbsp;
<BR>Fill in your name, organization, and fake registration number (make
the reg number 12 characters long). As an example, I used:
<BR>&nbsp;
<BR>Name: KLee8084
<BR>Organization: na
<BR>Registration No: CrackingFool
<BR>&nbsp;
<BR>Press <B>CTRL-D</B> to go into Softice.
<BR>&nbsp;
<BR>In Softice, type <B>bpx GetDlgItemTextA</B> (there are many other breakpoints
that you can use, but I find it better to use this particular one...when
it works, that is!)
<BR>&nbsp;
<BR>Now, type <B>X</B> to return to the program.
<BR>Ready? Click on "<U>R</U>egister".
<BR>Bang! We're back in Softice at the beginning of USER32!GetDlgItemTextA.
<BR>&nbsp;
<BR>Type <B>X</B>.
<BR>Type <B>X</B> again.
<BR>&nbsp;
<BR>This brings you to the third time that USER32!GetDlgItemTextA is called:
to get the fake registration number that you had entered.
<BR>&nbsp;
<BR>Type <B>F11</B> to step out of this function.&nbsp;&nbsp; Now, type
<B>F10</B> until you reach:

<P>:00477D6B&nbsp;&nbsp;&nbsp; CALL 0044AC2A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;- Is registration number legit?
<BR>&nbsp;
<BR><B>F8</B> into this call.&nbsp;&nbsp; <B>F10</B> until you reach:
<BR>&nbsp;
<BR>:0044AC3F&nbsp;&nbsp;&nbsp; CALL 004C3CE0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;- Get length of Name

<P>The routine starting at :004C3CE0 determines the length of whatever
is PUSHed just before the call to this routine. If you look at the instruction
just before this call, you'll see that your name is being pushed onto the
stack.
<BR><B>&nbsp;</B>
<BR><B>F10</B> over this call (unless you want to trace through it to see
how it works).
<BR>Notice that EAX now holds the length of the name that you had entered.
<BR><B>&nbsp;</B>
<BR><B>F10</B> until:

<P>:0044AC59&nbsp;&nbsp;&nbsp; CALL 004C3CE0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;- Get length of Organization

<P><B>F10</B> over this call. EAX now holds the length of the Organization
that you had entered.
<BR><B>F10</B> until:

<P>:0044AC9D&nbsp;&nbsp;&nbsp; CALL 00496A04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;- Copies Name to another location in memory

<P><B>F10</B> over this call. EAX now holds the new location of the Name
that you had entered. To prove this to yourself, type <B>d EAX</B>
<BR><B>&nbsp;</B>
<BR><B>F10</B> until:

<P>:0044ACAC&nbsp;&nbsp;&nbsp; CALL 00496A04&nbsp;&nbsp; &lt;- Copies Organization
to another location in memory

<P><B>F10</B> over this call. EAX now holds the new location of the Organization
that you had entered.
<BR><B>&nbsp;</B>
<BR><B>F10</B> until:

<P>:0044ACBB&nbsp;&nbsp;&nbsp; CALL 00496A04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;- Copies fake reg number to another location

<P><B>F10</B> over this call. EAX now holds the new location of the fake
reg number that you had entered.
<BR><B>&nbsp;</B>
<BR><B>F10</B> until:

<P>:0044ACC8&nbsp;&nbsp;&nbsp; CALL 00496A74&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;- Get length of fake reg number at new location

<P><B>F10</B> over this call (you can F8 into this call to see how it works,
if you want to). EAX now holds the length of the fake reg number.
<BR><B>&nbsp;</B>
<BR><B>F10</B> until:

<P>:0044ACDD&nbsp;&nbsp;&nbsp; CALL 004C3CE0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;- Get length of Name

<P><B>F10</B> over this call. EAX now holds the length of the Name that
you had entered.
<BR><B>F10</B> until:

<P>:0044ACF2&nbsp;&nbsp;&nbsp; CALL 004C3CE0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;- Get length of Organization

<P><B>F10</B> over this call. As usual, EAX now holds the length of the
Organization that you had entered. Are you starting to realize how convoluted
this code is? Imagine if you had traced each and every call (as I did,
just out of curiosity)!
<BR><B>F10</B> until:

<P>:0044AD04&nbsp;&nbsp;&nbsp; CALL 0044AE54

<P><B>F8</B> into this call (about time, eh?).
<BR><B>F10</B> until:

<P><FONT FACE="Courier New,Courier"><FONT SIZE=-1>:0044AE63&nbsp;&nbsp;&nbsp;
CALL 004C3CE0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;- Get length of fake
reg number</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-1>:0044AE68&nbsp;&nbsp;&nbsp;
CMP EAX, 0C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;- Is fake
reg number 12 characters long?</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-1>:0044AE6B&nbsp;&nbsp;&nbsp;
POP ECX</FONT></FONT>
<BR><FONT FACE="Courier New,Courier"><FONT SIZE=-1>:0044AE6C&nbsp;&nbsp;&nbsp;
JNZ 0044AEA7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;- No? Then jump.</FONT></FONT>

<P><B>F10</B> over the call at :0044AE63. EAX now holds the length of the
fake reg number.
<BR><B>F10</B> until:

<P>:0044AE73&nbsp;&nbsp;&nbsp; CALL 004C3E00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;- Copy fake reg number to new location

<P><B>F10</B> over this call. EAX now holds the new location of the fake
reg number.
<BR><B>F10</B> until:

<P>:0044AE7E&nbsp;&nbsp;&nbsp; CALL 0044AE01

<P><B>F8</B> into this call.
<BR><B>F10</B> until:

<P>:0044AE32&nbsp;&nbsp;&nbsp; CALL 0044AD81

<P><B>F8</B> into this call.
<BR><B>F10</B> until you get to this interesting section of code:

<P>:0044ADB1&nbsp;&nbsp;&nbsp; MOV ECX, [EBP+0C]
<BR>:0044ADB4&nbsp;&nbsp;&nbsp; MOV [ECX], ESI

<P>Now would be a good time to type <B>d ecx</B> in Softice. You might
want to leave the data window here and not <B>d</B>ump any other memory
locations. *wink*
<BR><B>F10</B> and keep on hitting <B>F10</B>...*twiddling my thumbs, here*
<BR>&nbsp;
<BR>Sooner or later, you're going to notice that the first 4 characters
of your fake registration number (if you made your reg number 12 characters
long, that is) are in the data window with 8 other characters following.
Did you notice that the whole garbled mess is 12 characters long? My own
data window (set to ECX, as your's should be) shows: CracCqtGvDPL
<BR>&nbsp;
<BR>That is the REAL registration number.
<BR>&nbsp;
<BR>Clear your breakpoints by typing <B>bc *</B>
<BR>&nbsp;
<BR>Now, type <B>X</B> to return to the program, and click on "Ok" (well,
did you NOT expect a message box to pop up? *grin*). Now enter your name,
organization and REAL registration number in the registration dialog box
(if you have trouble finding the box, Click on <U>H</U>elp and then click
on <U>R</U>egister Opera...). Got it? Good. Now, click on <U>R</U>egister.
<BR>&nbsp;
<BR>Program cracked.
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT SIZE=+2><FONT COLOR="#0000FF">The 'Crack'</FONT>&nbsp;</FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR>None. As a note, though, when you are reaching the last part of the
essay you can type <B>d 0077F690</B> to see the REAL reg number in your
data window.
<BR><FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT SIZE=+2><FONT COLOR="#0000FF">Final Notes</FONT>&nbsp;</FONT></CENTER>
</TD>
</TR>
</TABLE>
<FONT FACE="Arial,Helvetica"><FONT COLOR="#333333">&nbsp;</FONT></FONT>
<BR>This browser is small and fast. The creators really do deserve to be
paid for their efforts.

<P><FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR><FONT FACE="Arial,Helvetica">My thanks and gratitude goes to:-</FONT>
<BR><FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR><FONT FACE="Arial,Helvetica">Fravia+ for providing possibly the greatest
source of Reverse Engineering</FONT>
<BR><FONT FACE="Arial,Helvetica">knowledge on the Web.</FONT>
<BR><FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR><FONT FACE="Arial,Helvetica">+ORC for showing me the light at the end
of the tunnel.</FONT>
<BR>&nbsp;
<TABLE BORDER CELLSPACING=2 WIDTH="100%" HEIGHT="22" >
<TR>
<TD BGCOLOR="#C6E7C6">
<CENTER><FONT COLOR="#0000FF"><FONT SIZE=+2>Ob Duh</FONT></FONT>&nbsp;</CENTER>
</TD>
</TR>
</TABLE>
<I><FONT FACE="Arial,Helvetica">&nbsp;</FONT></I>
<BR><FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR><I><FONT FACE="Arial,Helvetica">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 continue to&nbsp; produce even *better* software for
us to use and more importantly, to continue offering even more challenges
to breaking their often weak protection systems.</FONT></I>
<BR><FONT FACE="Arial,Helvetica">&nbsp;</FONT>
<BR><I><FONT FACE="Arial,Helvetica">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.</FONT></I>

<P><FONT FACE="Arial,Helvetica"><FONT SIZE=-2>Essay by: <A HREF="mailto:KLee8084@snet.net">KLee8084</A></FONT></FONT>
<BR><FONT FACE="Arial,Helvetica"><FONT SIZE=-2>Page Created: 15th August
1998</FONT></FONT>
</BODY>
</HTML>

⌨️ 快捷键说明

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