Posted May 17, 201312 yr Hello! I'm going to post a new keygenme for .NET reversers. Language: Visual Basic .NET Encryption: Maths and Base64 (and your mind) Rules: Only keygen accepted. Valid serial also accepted. Not patching or crack. Level of difficult: 2/10 (but you choose) Packer: me KgMe.rar Edited May 18, 201312 yr by LordCoder
May 17, 201312 yr Have you tried a valid serial? I can't see how a base64 encoded string can have the same end characters as the un-encoded string. Is this a bug or am I missing something?
May 17, 201312 yr hm, i think you're still bugging... int num = Conversions.ToInteger(s.Substring(3, 3)); //takes 3 chars after 3rd character and convert to sting (seems strange, but ok)string str = Encoding.ASCII.GetString(Convert.FromBase64String(s.Replace("$LordCoder", ""))); //convert to base64 and strip "$LordCoder"//some code, all fineif ((int.Parse(str.Substring(0, 3)) + 1000 != num) return false;This is not possible (it's possible to have 3 number characters in a base64 string ("LTk54444JExvcmRDb2Rlcg==") but in this case there is no possibility this test is going to pass:number can be negative, ok. but the max negative is -99 (due to the 3 char limit) so in this case you would get:1000 - 99 = 901then the first num must be 901 (or at least: somewhere in the 9XX range). If we change the base64 string to match this there is a problem: "LTk9" give the string: "-9=" this means, it's not possible to make a valid serial... Edited May 17, 201312 yr by Mr. eXoDia
May 18, 201312 yr Author Yes, it has this bug. I changed the 3 chars to 4 chars. Now a valid serial will be this:LTAwMTk5OVdlbGwgRG9uZSEkTG9yZENvZGVy$LordCoder Thanks for all bugs @NOP and @Mr.eXoDia
May 18, 201312 yr Public Function Check(ByVal s As String, ByVal bool_0 As Boolean) As Boolean Dim str As String = Encoding.ASCII.GetString(Convert.FromBase64String(s.Replace("$LordCoder", ""))) Dim num As Integer = Conversions.ToInteger(str.Substring(4, 3)) If Not s.EndsWith("$LordCoder") Then Return False End If If Not str.EndsWith("$LordCoder") Then Return False End If If ((Integer.Parse(str.Substring(0, 4)) + Integer.Parse(Conversions.ToString(&H3E8))) <> num) Then Return False End If If bool_0 Then Return False End If Return Conversions.ToBoolean(Operators.AndObject(Me.method_0("LordCoder", True), Me.method_2(str.Substring(6)))) End Function 4 checks Edited May 18, 201312 yr by GIV
May 18, 201312 yr Attached my keygen. Contains keygen, source and base64_tool.exe (the tool I use for base64) Greetings, Mr. eXoDia PS your keygenme is still buggy (I did not actually include the "Well done!" string, just "!")LordCoder_keygen.rar
May 18, 201312 yr Here's my solution Lordcoder KgMe - Solution by NOP.rar Edited May 18, 201312 yr by NOP
May 18, 201312 yr And mine. Based on your code.But as eXoDia says your kgm is still buggy.LordCoder Keygen.rar Edited May 18, 201312 yr by GIV
May 18, 201312 yr yay, I was first lol. nice work all I coded in 15 minutes and arranged tha source in 30 so i maybe the first... )
May 18, 201312 yr Author It was easy with all of this bugs fixed! I wanted to make an interesting keygenme. Next time I will make it difficult but first trying to make a keygen before publish Well done everyone!
May 18, 201312 yr @LordCoder: it was an interesting keygenme, but next time check if you can make valid serials yourself before you post it Edited May 18, 201312 yr by Mr. eXoDia
Create an account or sign in to comment