home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Reverse Code Engineering RCE CD +sandman 2000
/
ReverseCodeEngineeringRceCdsandman2000.iso
/
RCE
/
Mendoza
/
flux3.txt
< prev
next >
Wrap
Text File
|
2000-05-25
|
3KB
|
87 lines
Flu[X]'s Cracking tutor #3
Ok, well i havent wrote one in over a month..
This one i kinda basic... but still semi interesting..
Tools:
-Cyber Creek Avalanche 98 (www.cybercreek.com)-- I used build 1351
-W32Dasm
-A patch maker (I prefer my patching engine)
-Brains
Ok first lets gather some info about this program...
We start it and see a nag...
we hit ok.. blah.. aonther nag comes up...
We have 2 chouces.. a serial or a patch...
I briefly traced through it in softice.. and it didnt look
like it was gonna be fun to make a serial... so
on with the byte patch....
Ok we disassemble it... lets look for that annoying
text in the opening nag...
After searching you will come across the below code...
* Referenced by a CALL at Address:
|:0045F5C3
|
:0045F42C 55 push ebp
:0045F42D 8BEC mov ebp, esp
:0045F42F 803D98CE490000 cmp byte ptr [0049CE98], 00 <- could it be a regflag??
:0045F436 7551 jne 0045F489 <- if not 0 pass the nag screen
:0045F438 6840200400 push 00042040
* Possible StringData Ref from Code Obj ->"CyberCreek Avalanche 98"
|
:0045F43D B98CF44500 mov ecx, 0045F48C
* Possible StringData Ref from Code Obj ->" This application requires "
->"that you license this product "
->"before using it."
Ok. now look at the 2 lines i have marked... not bad eh?
it looks like a simple regflag... For those of you that dont
know what a regflag is, a regflag is like a true/false marker
to tell a program if it is registered or not.. switching the marker
usually will make a program be registered..
well... since the is most likely a regflag system.. just changing
the jump wont be good enough as other items in this program usually
use it to.. however we have a nice advantage here.. remember how
the first thing we saw was that nag screen and how it is controlled
by this regflag... well most likely this is the first item to pass
through the regflag test.. meaning it is the first item to check the
flag :) This means we can modify the content of the flag before
anything else uses it..
we know that if the flag = 0 it is unregistered,,, so we change it to 1
then we fix that nasty jump to always skip that nag :)
new code should look like this:
* Referenced by a CALL at Address:
|:0045F5C3
|
:0045F42C 55 push ebp
:0045F42D 8BEC mov ebp, esp
:0045F42F 6C3D98CE490100 mov byte ptr [0049CE98], 01 <- move the flag to true :)
:0045F436 EB51 jmp 0045F489 <- skip the nag :)
:0045F438 6840200400 push 00042040
* Possible StringData Ref from Code Obj ->"CyberCreek Avalanche 98"
|
:0045F43D B98CF44500 mov ecx, 0045F48C
* Possible StringData Ref from Code Obj ->" This application requires "
->"that you license this product "
->"before using it."
thats it.. run it.. now it runs like the registered copy.. funny
how programmers protect a 300$ program isnt it?
now use your patcher of choice to make a patch :)