Jump to content
Tuts 4 You

[Keygenme] Woot332's KeygenMe


woot332

Recommended Posts

Good idea to remove the EP and to break some of the PE in order to avoid debug :)


Serial is easy to find and generate.


 


Thanks


Link to comment
Share on other sites

Such a nice protection - and then you ruin it by calculating correct serial.. :(

 

Keygen attached, relevant source code:

 

private void button1_Click(object sender, EventArgs e){   // get username   byte[] username = Encoding.ASCII.GetBytes(textBox1.Text);    // calc CRC part 1   byte[] part1 = BitConverter.GetBytes(Crc32.CRC32Bytes(username));    // calc CRC part 2   Array.Resize(ref username, 4);   byte[] part2 = BitConverter.GetBytes(Crc32.CRC32Bytes(username));    // show the serial   string serial = "";   foreach (byte b in part1)   {      serial += String.Format("{0:X2}", ;   }   foreach (byte b in part2)   {      serial += String.Format("{0:X2}", ;   }   textBox2.Text = serial;}
EDIT:removed garbage line

kg_woot332.zip

Edited by kao
Link to comment
Share on other sites

Such a nice protection - and then you ruin it by calculating correct serial.. :(

 

Keygen attached, relevant source code:

 

private void button1_Click(object sender, EventArgs e){   // get username   byte[] username = Encoding.ASCII.GetBytes(textBox1.Text);    // calc CRC part 1   byte[] part1 = BitConverter.GetBytes(Crc32.CRC32Bytes(username));    // calc CRC part 2   Array.Resize(ref username, 4);   byte[] part2 = BitConverter.GetBytes(Crc32.CRC32Bytes(username));    // show the serial   string serial = "";   foreach (byte b in part1)   {      serial += String.Format("{0:X2}", ;   }   foreach (byte b in part2)   {      serial += String.Format("{0:X2}", ;   }   textBox2.Text = serial;}
EDIT:removed garbage line

 

Nice job kao :thumbs:

Link to comment
Share on other sites


Generate proc hWnd:HWND

push sizeof pName

push offset pName

push IDC_NAME

push hWnd

call GetDlgItemText

push eax

push offset pName

push 0

call CRC32_

bswap eax

mov ebx,eax

push 4

push offset pName

push 0

call CRC32_

bswap eax

push eax

push ebx

push chr$ ("%X%X")

push offset buffer

call wsprintf

push offset buffer

push IDC_KEY   

push hWnd

call SetDlgItemText

ret

Generate endp

No len checking :prop:

Edited by ragdog
  • Like 1
Link to comment
Share on other sites

I liked this but than I saw the generation algorithm which was simply too easy.


Anyways thanks for the challenge, always appreciated.


As usual nice solution guys.


(Don't think there is a point in showing mine.. same thing in different language).

Link to comment
Share on other sites

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...