Tuts 4 You

[keygenme] keyGenMe

Go to solution Solved by DE!,

Recommended Posts

• Solution

Solution with source in Lazarus/Free Pascal

Thanks Raham for pointing the bug out. The format string was wrong...

Fixed it and uploaded a new keygen + source

KeyGenMe2.rar

Edited by DE!
• 1

Share on other sites

Hi.

So Easy.

@DE!

you keygen seems have some bug, for example give it: "3431" as user it give us: "043 B78B" but answer is "0430B78B"

KinD Regards

Keygen.rar

Edited by Raham
Share on other sites

`var  i,j:Cardinal;  dwBuf:DWORD;  szName,Key,P1:string;const Fix = 'IP-POWERARC';begin  szName := Edit1.Text;  if (length(szName) < 2) or (length(szName) > 30) then  begin	edit2.text := 'Length of Name between 2..30';  end else  begin	j := 1;	P1 := '';	dwBuf := \$1403;	for i := 1 to Length(szName) do	begin	  dwBuf := (dwBuf + ord(szName[i])) mod \$0FF;	  dwBuf := dwBuf xor ord(Fix[j]);	  inc(j);	  if j > 11 then		j := 1;	  P1 := P1 + IntToHex(dwBuf,2);	end;	P1 := '1403' + P1 ;	i:= Length(P1);	j := (i shr 2) or ((\$FFFFFFFF * (i shr 31)) shl (31 - 2));	i:= 1;	while i < 5 do	begin	  Key := Key + P1[j*i]+P1[j*i-1];	  inc(i);	end;	Edit2.Text := Key;  end;end;`

to easy

Share on other sites

Hi.

So Easy.

@DE!

you keygen seems have some bug, for example give it: "3431" as user it give us: "043 B78B" but answer is "0430B78B"

KinD Regards

Thank you @DE. It was not that hard, was it?

Share on other sites

Hi.

So Easy.

@DE!

you keygen seems have some bug, for example give it: "3431" as user it give us: "043 B78B" but answer is "0430B78B"

KinD Regards

Hi.

So Easy.

@DE!

you keygen seems have some bug, for example give it: "3431" as user it give us: "043 B78B" but answer is "0430B78B"

KinD Regards

Reham thank you for your try, But where is the source code?

Share on other sites

`var  i,j:Cardinal;  dwBuf:DWORD;  szName,Key,P1:string;const Fix = 'IP-POWERARC';begin  szName := Edit1.Text;  if (length(szName) < 2) or (length(szName) > 30) then  begin	edit2.text := 'Length of Name between 2..30';  end else  begin	j := 1;	P1 := '';	dwBuf := \$1403;	for i := 1 to Length(szName) do	begin	  dwBuf := (dwBuf + ord(szName[i])) mod \$0FF;	  dwBuf := dwBuf xor ord(Fix[j]);	  inc(j);	  if j > 11 then		j := 1;	  P1 := P1 + IntToHex(dwBuf,2);	end;	P1 := '1403' + P1 ;	i:= Length(P1);	j := (i shr 2) or ((\$FFFFFFFF * (i shr 31)) shl (31 - 2));	i:= 1;	while i < 5 do	begin	  Key := Key + P1[j*i]+P1[j*i-1];	  inc(i);	end;	Edit2.Text := Key;  end;end;`

to easy

`var  i,j:Cardinal;  dwBuf:DWORD;  szName,Key,P1:string;const Fix = 'IP-POWERARC';begin  szName := Edit1.Text;  if (length(szName) < 2) or (length(szName) > 30) then  begin	edit2.text := 'Length of Name between 2..30';  end else  begin	j := 1;	P1 := '';	dwBuf := \$1403;	for i := 1 to Length(szName) do	begin	  dwBuf := (dwBuf + ord(szName[i])) mod \$0FF;	  dwBuf := dwBuf xor ord(Fix[j]);	  inc(j);	  if j > 11 then		j := 1;	  P1 := P1 + IntToHex(dwBuf,2);	end;	P1 := '1403' + P1 ;	i:= Length(P1);	j := (i shr 2) or ((\$FFFFFFFF * (i shr 31)) shl (31 - 2));	i:= 1;	while i < 5 do	begin	  Key := Key + P1[j*i]+P1[j*i-1];	  inc(i);	end;	Edit2.Text := Key;  end;end;`

to easy

Share on other sites

Thank you @DE. It was not that hard, was it?

Not really, but the IP-POWERARC... hmmm.. Algo looks familiar now..

Edited by DE!
Share on other sites

• 3 weeks later...

Just try to melting my frozen brain. Hope it still work normally...

Solution is keygen with source compiled with Lazarus/Free Pascal.

Thanks for the challenge mate.

Solution for KeyGenMe by tarequl.rar

Share on other sites

Good to see ya here!

Edited by Silence