I am bit confused where this question should be placed.
But I think It should be here.

If we go to the youtube/google/torrent etc... and finding the crack we may find many crack, patch, keygen, crack dll files etc.
but how they are created, the owner is not going to share his own compny product crack.

So this is my question HOW THEY CRACKED any program.

And if I want to learn about this online for free, from where should I?
Did they Use any programs to Cracked? if Yes: Then Which Program.

Once i read the topic I get news actually the program can also be cracked by the hexadecimal value.
(that can be changed with HxD) (example with IDM)

But this is half solution or 1/4 solution.
So Can Someone Help me?

I AM NOT DOING THIS AS FOR HACKING PURPOSE, BUT I WANT TO KNOW.
AS TO CREATE THE BEST PROGRAMS WE SHOULD ALSO KNOW HOW TO PROTECT OUR PRODUCT BY HACKING. BUT BEFORE THIS WE SHOULD KNOW HOW HACK IS DONE

Have you tried reading this: http://www.wikihow.com/Hack

I will research this question a bit more, i am a bit curious myself.

Really you give me link but i already read it before.
And that link is for the steps which we should take care before hacking.
and that related to online website.
I am also curious to know all about hack.
Untill now i only know How to hack IDM, But I dont know how to create Crack.
So I am very much curious to know.

@<M/>
If you are also curious then I think you can help me in future: Add me on YouTube/google + I will do same. And This may help us in future. :p

This is a touchy subject and you chould check with forum guidlines before you cross the posted rules.

FYI cracking is generally looked upon as a negative activity while hacking is a quest to understand the operation of things (depending on your interpretation).

If you are interested in how to protect software you write look into things such as pen testing, binary analysis, and encryption.

Fully understanding a piece of software you didn't write really boils down to diving down into the bits and pieces and seeing all the moving parts. From how memory is loaded and managed to how it communicates with the outside world - all the components matter and there are tools that help you understand each of these parts.

If you want to know how it's done, I would start by learning assembly. There are plenty of diassemblers out there, and learning assembly will allow you "reprogram" whatever it is your cracking.

ie, a program might contain something like:

    pop ecx
    pop edx
    cmp ecx, edx
    je equal
        call unlock
    equal:
        call key_error

So, it could be cracked by changing one instruction:

    pop ecx
    pop edx
    cmp ecx, edx
    nop
        call unlock
    equal:
        call key_error

This isn't really a touchy subject. It's something that software developers should understand so they have a change at protecting themselves.

PS: This is the most direct approach that anyone will use for a crack. Keygens are a bit different in that you would disassemble it in order to figure out how the key checking algorithm works, and you create a key generation algorithm that satisfies key checking.

@Hiroshe: Understanding ASM is a good thing and provides important insight to how much abstraction is provided as you move to higher layers.

Using reverse engineering techniques may, in fact, be illegal depending where you are from. Using them to bypass security restrictions almost certainly violates license agreements if not the law.

Generally, before being a great reverse engineer you have to be a great engineer. So, I would advise that you start by trying to become a good programmer before you even consider going down this road, which is the wrong road, btw. For any experienced programmer, there is no real mystery about how these software cracks are made, it's pretty straight forward, such as in Hiroshe's example. Making keygens is more of a matter of how naive the verification function is.

There are some tools that people use, but they are probably not what you expect, i.e., they are not "automatic" cracking software. They are tools like disassemblers and similar tools like in-memory bytecode inspectors. Either way, you end up dealing with machine code or bytecode (almost like machine code), which you then have to comb through to find an opportunity to circumvent the security.

This isn't rocket science, just a lot of patience and bad intentions.

And to that point. The rules of this forum do not permit the discussion or promotion of illegal activities. We cannot condone such activities and I don't expect anyone will (or should) give you any precise instructions on how to crack software. I think that if anyone would go too far beyond the kind of vague explanations I just gave, I, as a moderator, might have to delete that post (and possibly issue an infraction against the rules of this forum site).

I am bit confused where this question should be placed.

Probably in a darker area of the internet. ;)

@Hiroshe: Can You explain in details???

Probably in a darker area of the internet. ;)

Yes, Google software cracking forums

I AM NOT DOING THIS AS FOR HACKING PURPOSE, BUT I WANT TO KNOW.
AS TO CREATE THE BEST PROGRAMS WE SHOULD ALSO KNOW HOW TO PROTECT OUR PRODUCT BY HACKING.

You have to realise that any paid software, if it's something people want, then it will eventually be cracked. All you can really do is make it more difficult and time consuming to RCE.

Personally, I consider that this topic has now gone as far as possible without breaking Daniweb's rules.

I can explain the details. The details are "learn assembler language."

Computer security works by learning the innerworkings of a system, and fighting to protect or to break how it's set up. In the case of programs on the user machine, the "innerworkings" becomes the list of instructions (the program) which are generally manipulated in an assembler language.

It's not like there is some cheat or easy to follow technique that works for any aspect of security (it's not like tv dude). Almost like what Mike said, you wont be able to "crack" anything without first learning how it works. It's a matter of knowing the innerworkings, and being clever about how you design it to be secure or how you manipulate it into doing what you want.

If you want some "premade" technique to do it, your search will be in vein.

hmm, what's up with the flood of "I wanna be a script kiddie" style posts. Must be the school vacations are here and all the kiddos normally posting homework questions now have other things on their mind?

hmm, what's up with the flood of "I wanna be a script kiddie" style posts.

To be fair, script kiddies don't care about how it's done, they just want tools to do it so that they can seem like leet hackers. That's why we call them script kiddies; they run scripts without understanding them. This guy seems to be interested in understanding the details, which is a nice change in the attitude that you usually see.

Peter Ferrie has many interesting papers on anti-(unpacking/debugging/emulation) techniques.
Google for his homepage and Microsoft Malware Protection Center page.

OP, I think you might enjoy the series of challenges at http://microcorruption.com/ . It is a good introduction to this sort of thing.

@jwenting

I dont add here my homework.
I do programming as to learn and enjoyment... (its my hobby)
and how this can my homework, I belongs to mechanical field...
I usually placed thread that i google and where i get interested in.... on daniweb as Daniweb having many professional users....

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.