|
|
|
|
|
|
|
|
iNTROdUCTION :
hi there and wellcome to another tutorial ...
wow !! no. 35 , i really didn't dreamed of making 35 tutorials, but now that i did !! , i hope to make even more tutorials
cuz u know there is alot to learn and so little time , but we learn a new thing eveyday don't we ....
pROTEcTION :
o.k this prog needs a name and code to register , and in this tutorial we will find the code for our name and also code a keygen , so let's start ...
|
o.k install the prog and take a look at it , now click on Help/Register , and the prog will ask us for a name and code , so let's give him our info , in my case i wrote like this :
Name : FaT[BiT] \ TNT!
Code : 1234567890
o.k now before u click on the o.k button , set a breakpoint in softice like this one :
bpx hmemcpy
now press the F5 button to exit softice , then press the o.k button, softice will break, now press the F11 for ones , then press the F12 button for 11 times , then clear all the breakpoints and trace with the F10 button until u reach this code :
:004795EA 8D45D3 lea eax, dword ptr [ebp-2D] <-- eax point to our name
:004795ED 33DB xor ebx, ebx <-- clear the ebx register
:004795EF 8A18 mov bl, byte ptr [eax] <-- put a char in bl
:004795F1 8BF9 mov edi, ecx <-- put in edi the value of ecx (counter = 1 at first time)
:004795F3 81E7FF000000 and edi, 000000FF
:004795F9 0FAFDF imul ebx, edi <-- multiply our char(ebx) by the counter(edi)
:004795FC 03F3 add esi, ebx <-- add the result to esi
:004795FE 41 inc ecx <-- add one to the counter
:004795FF 40 inc eax <-- add one to eax to take the next char
:00479600 FECA dec dl <-- subtract one from the length of our name
:00479602 75E9 jne 004795ED <-- if length of our name is not zero take the next char
:00479604 B85B690600 mov eax, 0006695B <-- put the value 6695Bh = 420187 in eax
:00479609 2BC6 sub eax, esi <-- subtrace from eax esi (esi = value that we got from loop above)
:0047960B 8BF0 mov esi, eax <-- put the result back in esi (our good code)
...
:00479669 8B95B4FEFFFF mov edx, dword ptr [ebp+FFFFFEB4] <-- edx has our fake code
:0047966F 58 pop eax <-- eax has our good code
:00479670 E8FFA7F8FF call 00403E74 <-- check if they are equal
:00479675 0F85D8000000 jne 00479753 <-- jump if not to error
o.k !!! i will explain :
take the 1st char from our name and multiply it by the counter which is equal to 1 at first , then add the result to esi , add one to counter, and take the next char if the length of our name is not zero (reach the end of the name) , then do the whole thing again , now after we finish the loop , put the value of 6695Bh = 420187 in eax and subtract from it the result that we got from the loop , then store it back in esi ...
now that we got the algo. , let's code a keygen for it , so here is my source :
// a keygen for Surf Robot v1.0 by FaT[BiT] \ TNT!
#include <stdio.h>
main ()
#include <conio.h>
{
unsigned char name[40];
unsigned long value = 420187;
unsigned long code = 0;
unsigned long i; unsigned char ch ;
clrscr();
printf("======================================================\n");
printf(" Surf Robot v1.0 - keymaker - by FaT[BiT] \\TNT!\n");
printf("======================================================\n\n");
printf("Enter Name : ");
gets(name);
if (strlen(name) > 0)
{ for (i = 0; i < strlen(name) ; i++)
{
ch = name[i];
code += ch * (i + 1);
}
code = value - code ;
printf("Your Code : %ld", code);
exit (1);
}
printf("Error : Name is to short. Enter 1 char. at least.");
return 0 ;
}
o.k now copy the source code and save it as xxxxxxxx.c and compile it then run it , enter ur info , take the code back to the prog , write it , then click on the o.k button , and ...
|
tKC ... (for showing me the light !! )
LW2000 ... ( Thanx alot i now use my brain )
[XasX] ... (i know u work hard , this is y u r good !!)
AzmO ... (yes!! man we are different !! )
Sir dReAm ... (u r the best !! )
tabm0de ... ( thanx alot !! ur a true friend !!)
ASTAGA ... (i don't mind if u comment this tutorial)
Marilyn, VaibLitzeR , and ShaQ ... (good luck to u all !! )
and to all TNT!CRACK!TEAM! members ... (keep up the good work !!)
any comments mail me : fatzbit@gmx.net
See ya in another tut !!! Soon !!!
--= EOF =--