What is Cracking

A Brief History of Cracking from DOS to Windows

To help beginners grasp some concepts more quickly, I've found some articles that I hope will help beginners improve after reading. This article isn't about teaching cracking - it's about discussing various related topics (but related to cracking).

The DOS Era

I wonder if any of you experienced the DOS era? The DOS era didn't have as much shareware as we have now in the WIN era. In other words, software back then was either full versions or feature-limited DEMO versions[Note 1], with very little so-called shareware. Even if there was any, it wasn't the type where you could just enter a "registration code" to get the registered version (though there were some, like the famous Silver Express).

So cracking in the DOS era involved giving you some characters from 0-9, A-B, then using Pctools to change them to 9090 or EB[Note 2], to disable restrictions in programs or skip original disk checks. Then spreading them through vast amateur BBS networks. (Once upon a time, phone line BBS has been replaced by the terrifying Internet BBS... Those who shared the same experience should feel as nostalgic as I do, right?)

Early WIN95

I'm not kidding - back then, I was a BASIC language expert under DOS. But during my senior year of high school, undercurrents began surging in the computer world, with a storm brewing... While the situation was in chaos, I buried myself in books and ignored external affairs... When I looked back, I was already in university, and the computer world had changed dramatically - Windows95 ruled the world! The DOS I was familiar with vanished like a dream, all becoming memories! My BASIC skills were like being crippled...

When I first entered Windows95, like other newbies, I didn't understand anything - not even what a "registration code" was or why we needed to "register". But gradually, due to the popularity of shareware, more and more software adopted registration code protection. After being brainwashed by massive amounts of software, I finally understood the meaning of "registration"...

At this time, many programmers were also at a loss because the world had just shifted to Windows95, so registration codes back then were particularly easy to crack. Because programmers conventionally used APIs like MessageBoxA[Note 3]... Perhaps it was during this period that many users developed the habit of seeking "registration codes".

In the WIN95 era, so-called cracking involved giving an ID and a PW. No modification needed - just enter them correctly and you'd get the registered version.

Late WIN95

What's the late WIN95 era? It's actually the transitional period between WIN98 and WIN2000. As mentioned earlier, programmers' confusion when entering Windows95 had completely disappeared by this period. Programmers already knew the Windows95 monster inside out - don't you see software like Ghost and Vopt that require lots of programming skills and low-level knowledge popping up? These software must be built on a thorough understanding of the operating system.

Indeed, that's right. Because Win95 has developed to the point where it no longer simply uses MessageBoxA. Even if it does simply use MessageBoxA, registration codes are usually specially encoded, making it hard to trace like winzip - you can't just use S-Ice to trace and get the registration code...

Registration codes from this period became increasingly difficult to obtain (Don't believe it? Try tracing the Nero burning software, or crack Dial-up Manager, or try Vopt99 - you'll understand what despair means!). Software companies certainly knew about the terrifying flow of registration codes on the internet, so... Late WIN95 era software often required new registration codes with even minor upgrades to suppress the circulation of codes. Or they used very difficult algorithms to calculate registration codes, making them uncrackable!

This is also why the cracks I've released recently use "crack files" rather than publishing "registration codes" - because my skills are too poor to calculate registration codes, so I have to go back to the DOS method and "modify" them[Note 4].

However, because too many people don't know how to use 16-bit editing software, I'm forced to solve this by providing Patch files[Note 5]!


Notes

[Note 1] These are versions with completely limited functionality, only allowing you to see what the software looks like, similar to today's game software "demo versions": you can only look, not use.

[Note 2] These 9090 or EB are what we call "machine code" - they're meant for computers to read! Data stored in hard drives, memory, and CPUs uses this kind of hexadecimal "text" (of course, executable files are stored in this format). When cracking, we use tools like S-Ice to translate this machine code into "assembly language" that humans can understand.

[Note 3] API refers to the "functions" called when Win programs execute, similar to INT (interrupts) under DOS, mainly to save software development time and make the system stable! For something as massive as Win95, if you had to write programs for even drawing a window frame, wouldn't that be exhausting? So Windows provides many formulas for programmers to use. Like MessageBoxA - as the name suggests, calling it will display a "message box" on screen!

[Note 4] Just like Win98's NotePad, except NotePad can only edit "plain text files", while executable files must rely on "16-bit" editing software like Pctools or UltraEdit32 to "modify".

[Note 5] Patch files ("Patch" means to "mend" in English, like patching worn clothes) were originally used in UNIX software for "reinforcement" when there were errors, instability, or updates. However, because they're simple and convenient - just execute to modify files without needing other software to edit - they became widely used. Especially in cracking, once executed, they modify the protected parts of software, so why not?