Posts: 30 Location: the Internet Joined: 01.05.11 Rank: Moderate
Posted on 06-06-11 08:58
I have completed this challenge, but I don't have a good understanding of how the key is being generated from the username that you put in because I just changed a jump instruction to get the password.
I read the article about creating a keygen and have gathered that there's a sequence of code that I need to understand, but I haven't had much success deciphering that code because I'm not very good with assembly. I'm not looking for someone to explain the code to me outright. I'm looking for someone that I can PM to give me hints to make me think and understand the code on my own.
Posts: 161 Location: Your Computer Joined: 12.12.07 Rank: God
Posted on 06-06-11 12:52
Congrats on completing the challenge. If you want to make a keygen for this challenge you will need to find the block that creates the serial. You can either, take that block and make a few changes to it and recompile it through a assembler; or sit down and rewrite it out in laymen terms in order to code it in your language of choice. I am, by no means, not an expert on asm but sitting there with the code and some references usually helps. If you have gotten this far with app cracking then you should have a few asm references available to you.
The philosophy of one century is the common sense of the next. -Fortune Cookie
I would like to thank a few friends that I have made here that helped me and deserve to be mentioned:
System_Meltdown, Futility, nvrlivenvrdie, Mastergamer, TrueHacker, S1L3NTKn1GhT, Reelix, ynori7, Demons Halo, kryptor
Well, if you understand the code as a whole, you can make a better and simpler keygen by using your languages functions and stuff like that.
That said, you could port the code line by line, but you would need to understand exactly what part of code is doing what. IMO if you understand what each line's function is, it's easy to understand the code as a whole as well.
There is however a technique called code ripping which uses inline assembly in C++ code using the __asm keyword. That makes keygenning much easier to do if you don't understand the code. You can just copy the asm, modify it slightly and use it in your program.
Hellbound Hackers is the collective work of the staff and the community and is therefore licensed under the CC BY-NC-SA license.