Jump to content
Tuts 4 You

[keygenme] Pretty Easy :)


Recommended Posts

Posted

My very first Keygenme made in delphi 7 (I know, I should learn some more ASM).

Just make a keygen for it.

Also, it's packed with UPX 2.03w but with nothing else, so unpacking should be easy :)

Post keygen when you're done.

KeyGenMe_byAnte0.rar

Posted

Hehe, It was my first attempt on making a licensed application.

Could be good training for complete beginners though ;)

Posted

befor call

check the serial lenght.

must <= 10

function IMPosTOR_keygen(serial : string):string;
var EAX : integer;
begin
result := '';
EAX:= strtoint(serial);
asm
ADD EAX,EAX
ADD EAX,$1B3
SHL EAX,$2
ADD EAX,$38
LEA ESI,DWORD PTR DS:[EAX+EAX*4]
LEA ESI,DWORD PTR DS:[ESI+ESI*8]
ADD ESI,$16F
end;
result :=inttostr(EAX);
end;
Posted (edited)
befor call

check the serial lenght.

must <= 10

function IMPosTOR_keygen(serial : string):string;
var EAX : integer;
begin
result := '';
EAX:= strtoint(serial);
asm
ADD EAX,EAX
ADD EAX,$1B3
SHL EAX,$2
ADD EAX,$38
LEA ESI,DWORD PTR DS:[EAX+EAX*4]
LEA ESI,DWORD PTR DS:[ESI+ESI*8]
ADD ESI,$16F
end;
result :=inttostr(EAX);
end;

Good :)

I made a new one, should be a little more complicated...

I will hide the serial better next time, right now the algro is very easy to find. lol

And yes Chupa, you did it all right :)

Edited by ante0
Posted

@Ante, i learn keygening when i catch time, i tought your keygenme was a keyfile me, that i did not coded yet so i figured why not trying it.. but it was no keyfile, nice work :)

@Impostor: why not make it simple:

SERIAL:=360*UNLOCK+81187

:close_tema:

Posted (edited)
@Ante, i learn keygening when i catch time, i tought your keygenme was a keyfile me, that i did not coded yet so i figured why not trying it.. but it was no keyfile, nice work :)

@Impostor: why not make it simple:

SERIAL:=360*UNLOCK+81187

:close_tema:

Hehe, they gen.key file only contains a valid Pass+Unlockkey (And Name, just so it can say "Registered to Name"), though, it checks if it's valid on start.

Should be pretty easy to crack too :)

Hmm. How would the function IntToHex look like in ASM?

Hehe ;)

@Encrypto: Glad you liked it :D

Edited by ante0
Posted
@Ante, i learn keygening when i catch time, i tought your keygenme was a keyfile me, that i did not coded yet so i figured why not trying it.. but it was no keyfile, nice work :)

@Impostor: why not make it simple:

SERIAL:=360*UNLOCK+81187

:close_tema:

um.. i want use asm in delphi .

so other coder (noob like me) see and learn how we can just copy

and pase asm code in delphi then use . :D

Posted (edited)

IMHO its a good idea to add pushad and popad in inline asm statement.

asm
pushad
mov eax,a
ADD EAX, EAX
ADD EAX, $1B3
SHL EAX, $2
ADD EAX, $38
LEA ESI, DWORD PTR DS:[EAX+EAX*4]
LEA ESI, DWORD PTR DS:[ESI+ESI*8]
ADD ESI, $16F
MOV ser,ESI
popad
end;

this way one will awoid possible problems when using more complicated asm codes inline..

@Encrypto: Nice to see you code keygens now.. :punk: Keep it up!

Also its always a good idea to check for boundarie conditions; e.g. 0 as unlock code, or if value that is final result is used in signed or unsigned form.. when i talk about it, i missed last part so i'm reuploading my keygen, as old-one is displaying results in unsigned form, and Ante0's proggy uses signed values as input, so in some cases my keygen wont work allthough hex values are correct ;)

ante_kgn_by_ChupaChu.zip

BR, ChupaChu!

Edited by ChupaChu
Posted
IMHO its a good idea to add pushad and popad in inline asm statement.
asm
pushad
mov eax,a
ADD EAX, EAX
ADD EAX, $1B3
SHL EAX, $2
ADD EAX, $38
LEA ESI, DWORD PTR DS:[EAX+EAX*4]
LEA ESI, DWORD PTR DS:[ESI+ESI*8]
ADD ESI, $16F
MOV ser,ESI
popad
end;

this way one will awoid possible problems when using more complicated asm codes inline..

@Encrypto: Nice to see you code keygens now.. :punk: Keep it up!

Also its always a good idea to check for boundarie conditions; e.g. 0 as unlock code, or if value that is final result is used in signed or unsigned form.. when i talk about it, i missed last part so i'm reuploading my keygen, as old-one is displaying results in unsigned form, and Ante0's proggy uses signed values as input, so in some cases my keygen wont work allthough hex values are correct ;)

ante_kgn_by_ChupaChu.zip

BR, ChupaChu!

Ah, this is good to know :)

Hope my next one will be harder for you to keygen ;)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...