Jump to content
Tuts 4 You

[KeygenMe] .NET KeygenMe


SHADOW_UA
Go to solution Solved by kao,

Recommended Posts

There are crackmes which generate correct serial - I call them "CrapMEs". Any trained monkey can rip the code - and won't learn anything in a process.

If this crackme required me to actually write some code to solve it, I'd happily do that.

I cannot agree with you.

Let's suppose you have a non framework target.

A VC++ packed/protected with Themida.

You have there some packing/obfuscating/VM'ed code.

To keygen that target you must restore code to the original state in debugger otheways you will not understand what the meaning of the code is. All of keygens are based on original code not obfuscated etc. I don't say that you don't know how to deal with obfuscated .net code but is more preferable for a keygen to be nonobfuscated otherwise is not a keygenme anymore. Just a unpackme/deobfuscateme., etc... 

IMHO a coder who protect a keygen with a protector does not trust his code so the hardest part of the protection is obfuscation. 

A "strong" keygenme is based on lots of math and the code itself is hard to follow (lots of calculus, few posiible combinations, brute some values etc) not the unprotection part.

If you make a loader who patch the unpackme and display a good boy (or real serial) that does not mean you keygen that target.

If you code in ASM you can "rip" the code and paste to your keygen (important keygenme functions) because in memory the code is in 90% of cases restored to the preprotected state. If is VM'ed you unvirtualise the code etc...

So 90% IMHO of keygens are in fact code ripping jobs. 10% are cases when you must translate the code to another language for you to code that keygen.

If you have IDA with Hexrays you can translate almost any function into valid c code so all in all is code ripping.

So if you want 99% of us are "trained monkey".

I see no person here who reinvented the "hot water".

;)

  • Like 1
Link to comment
Share on other sites

I personally think if .net keygenmes get coded in any aother language you would find that only 3% of them get a solution!!As for the question on why would one hide his code behind packing/obfuscating/VM and still call it a 'keygenme'? not really sure how to answer that maybe because i know that when one codes a keygenme that offers a challenge and the pleasure for others to solve, he would not hide what he should be proud of knowing that he has achieved his personal contribution to the scene and for that he will be remembered as others before him.This forum offers many skilled reversers/coders and when a challenge comes along that has something to offer, it gets answered. For some (new to coding) it might seem a hard thing to do but with dedication and hardwork anyone can learn to code in whatever language he wants as long as he keeps his focus on learning one language properly rather than learn ten poorly.

 

Just my honest opinion :)

Link to comment
Share on other sites

For me a crackable keygenme is pointless, u can't put a crackable protection on a program in the wild it'd get pirated and distributed fast. All this is just a game though.


 


our friend kao is skilled and if u stop him u stop most threats a program can face. can u stop a skilled reverser though? a deep philosophical question and I dont know but we can still try and just hope he needs to drink muuuch coffee and use many curse words and laugh at the whole process!


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