downloadbrowseDataBus's DNA Keygenme 1 by DataBus

Download DNA_Keygenme_by_DataBus.zip, 35 kb (password: crackmes.de)
Browse contents of DNA_Keygenme_by_DataBus.zip

Write a keygen for the program. No cracking or brute forcing allowed. There are multiple serial solutions per username.

Your keygen should output the most elegant solution.

Most importantly, have fun!

Difficulty: 2 - Needs a little brain (or luck)
Platform: Windows
Language: C/C++

Published: 02. Jan, 2014
Downloads: 735

Rating

Votes: 5
Crackme is quite nice.

Rate this crackme:

Send a message to DataBus »

View profile of DataBus »

Solutions

Solution by rookie, published 26. mar, 2014; download (13 kb), password: crackmes.de or browse.

rookie has rated this crackme as quite nice.

Submit your solution »

Discussion and comments

evaboy
16. Jan 2014
Olly says Bad or unknown format of 32-bit .exe. Please recode and recompile, or is there any trick behind?
tinqnpro
18. Jan 2014
@evaboy: It's a simple trick. Using StrongOD to fix this or just set a breakpoint at EP.
DataBus
Author
18. Jan 2014
@evaboy:
It's because NumOfRvaAndSizes is set to a value that it should not be. A simple anti-debugging trick that can be fixed by either changing the value or using some kind of plugin for ollydbg.

Looking forward to seeing someone solve this :)
evaboy
18. Jan 2014
Ok. It's perfect on win xp. Then l used it on win 8 pro x64 bit.
khalid12a
05. Feb 2014
i dont understand, how way?
DataBus
Author
05. Feb 2014
I am not sure what your question is khalid12a?

The keygen is based off of a simplistic approach on the transcription and translation of Deoxyribonucleic Acid in eukaryotes- it features post-transcriptional modifications (i.e. capping and tailing, intron removal; alternative splicing) however, not all of said features are implemented as it would not be appropriate for a level 1 keygenme if they were.

A magic value is generated from the username and then a simple math algorithm must be solved based on said magic value for the serial
murom
07. Feb 2014
It was not easy.
1. Length username 8 symbols
2. Length serial 12 symbols
3. The serial should be used only letters: A, T, C, G
4. Start serial: TAC
5. End serial: ACT or ATC or ATT
6. Username code = sum all symbols-fmod(sum all symbols/11), wherein symbols=ASCII code
7. Serial code = sum all symbols, except first 3 and last 3 symbols serial, wherein A=00, T=00, C=10, G=11
8. Username code = Serial code

Example.
Username:CCCCCCCC
Serial:TACATAACAATT
DataBus
Author
07. Feb 2014
You are correct murom. It is a simple approach that behaves theoretically just like DNA transcription and translation.

I hope you enjoyed it and learned something from it.

I thought it was appropriate for a level 1 keygen me because it uses very basic math and is really nothing math intensive. Additionally, it doesn't use libraries for hashing that will add tons of code to the executable.
Jayvic
15. Feb 2014
@DataBus
I get a different answer with @murom.
Suppose the length of username = lu. lu >= 8 && lu % 4 == 0.
Suppose the length of serial = ls. ls >= 12 && ls % 3 == 0.
Before calculate the "Serial code", "DNA Keygenme 1 by DataBus" will delete the last x symbols from the serial. I don't know how to calculate x. I only know that x = 0, 3 or 6.
Then "DNA Keygenme 1 by DataBus" will delete all the letters after the "End serial(ACT or ATC or ATT)".
And I find that the example @murom gives is wrong. But Username:CCCCCCCC,Serial:TACATAACAATTAAAAAA is right.
DataBus
Author
16. Feb 2014
@Jayvic: I didn't actually test his solution, but what he was saying seemed right.

The keygen technically behaves like DNA transcription and translation

in DNA translation only the codons between the start codon and the stop codon are used to produce the protein.

Therefore, in my keygen, only the values between the start codon and the stop codon are used.


0, 3, or 6 nucleotides can be removed from the end of the chain due to degradation once it leaves the nucleus

Hopefully this answers your question; but if it doesn't feel free to reply and I will answer it as soon as I see it
DataBus
Author
16. Feb 2014
Also, if you are interested in the source code of this keygen (to compare it to your analysis) I'll happily upload it to pastebin and PM it to you. Just let me know.
Jayvic
17. Feb 2014
@DataBus: Got it. Thank you very much for your answer.
albertus
19. Feb 2014
here is my keygen in python and tutorial, which were rejected
http://pastebin.com/j5M4WwKW
http://pastebin.com/tGDuHmWD
cr00k3dc0d3r
28. Mar 2014
Hi DataBus,

Just wanted to say this is a very creative and unique crack me! Nice Work!
bill xiao
04. Apr 2014
AAAAAAAA
TACACTACTACT
It's a interesting crackme!
Nephron
16. Apr 2014
ABABABAB
TACATTTAGCTAGCT

Was quite fun!
DataBus
Author
19. May 2014
I'm happy that you guys all enjoyed my keygen. I would just like to say that it was inspired by some basic biochemistry (specifically DNA)

The keygen is based off of a simplistic approach on the transcription and translation of Deoxyribonucleic Acid in eukaryotes- it features post-transcriptional modifications (i.e. capping and tailing, intron removal; alternative splicing) however, not all of said features are implemented as it would not be appropriate for a level 1 keygenme if they were.

You may leave your comment, thoughts and discuss this crackme with other reversers here.
Acting childish will not be tolerated.
HTML and such will be left as-is, so don't try.