xDECiPHERx Posted June 10, 2011 Posted June 10, 2011 Hello, This is my first KGM on this board. I hope you guys will enjoy it! --- Information --- Protection: MD5 Difficuly: Easy Valid Solution: Keygen only! Just in case something goes wrong with the attachment: DECiPHER -> KeyGenMe #1 I wish you guys all the best with it! DECiPHER KGM #1.rar
sama Posted June 10, 2011 Posted June 10, 2011 assume we enter a name with 4 charthen where would point this:00454F68 |. BB 05000000 MOV EBX,500454F6D |> 8B45 F4 /MOV EAX,[LOCAL.3] ; kernel32.7C839AD800454F70 |. 0FB67418 FF |MOVZX ESI,BYTE PTR DS:[EAX+EBX-1](LOCAL.3 = pointer to the name)in the other loops is same.if this is a feature, then take my apologizeif it is not a feature, then you should rethink on your keygenme.reguards
xDECiPHERx Posted June 10, 2011 Author Posted June 10, 2011 (edited) assume we enter a name with 4 char then where would point this: 00454F68 |. BB 05000000 MOV EBX,500454F6D |> 8B45 F4 /MOV EAX,[LOCAL.3] ; kernel32.7C839AD800454F70 |. 0FB67418 FF |MOVZX ESI,BYTE PTR DS:[EAX+EBX-1] (LOCAL.3 = pointer to the name) in the other loops is same. if this is a feature, then take my apologize if it is not a feature, then you should rethink on your keygenme. reguards It's a features yes. @Saduff, Good work, as always! Edited June 10, 2011 by xDECiPHERx
Saduff Posted June 10, 2011 Posted June 10, 2011 @sama: It always points to null byte. That's why I ZeroMemory in my keygen. @DECiPHER: All loops always run once, so no need for loops at all.
Teddy Rogers Posted June 11, 2011 Posted June 11, 2011 The [keygenme] tag has been added to your topic title. Please remember to follow and adhere to the topic title format - thankyou! [This is an automated reply]
sama Posted June 11, 2011 Posted June 11, 2011 @saduffsure there is almost always a way.@xDECiPHERxhere my keygen src:var i:Integer; Name: array of Byte; buffer:string;begin if (Length(Edit1.Text)< 4) or (Length(Edit1.Text)>10) then Edit2.Text := 'Namelength must be > 3 and < 10' else begin SetLength(Name,11); for i := 0 to Length(Edit1.Text)-1 do Name[i]:= Ord(Edit1.text[i+1]); buffer := 'UnderGround' + IntToHex(Name[4]+ $60,4)+IntToHex((Name[6] shl 3)*3,4)+ '-'; buffer := buffer + IntToHex(Name[3]* $70,4)+ IntToHex(Name[5]* $2012,4)+'-' ; buffer := buffer + IntToHex(Name[5]+ $450,4)+ GetCurrentUserName; Edit2.Text := StrMD5(buffer); end;end;
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now