Software cracking is the modification of software to remove protection methods: copy prevention, trial/demo version, serial number, hardware key, CD check or software annoyances like nag screens and adware. Copy protection, also known as content protection, copy prevention, or copy restriction, is a technology for preventing the unauthorised reproduction A No-CD crack is a modified Executable file or a special "byte patcher" program that removes built-in CD check mechanisms allowing the user to run Computer software Adware or advertising-supported software is any software package which automatically plays displays or downloads advertisements
The distribution and use of cracked copies is illegal in almost every developed country. Economic development is the development of economic wealth of countries or regions for the well-being of their inhabitants There have been many lawsuits over cracking software, but most have been to do with the distribution of the duplicated product rather than the process of defeating the protection, due to the difficulty of constructing legally sound proof of individual guilt in the latter instance. In law a lawsuit is a civil action brought before a Court in which the party commencing the action the Plaintiff, seeks a legal or equitable remedy In the United States, the passing of the Digital Millennium Copyright Act (DMCA) legislation made software cracking, as well as the distribution of information which enables software cracking, illegal. The United States of America —commonly referred to as the The Digital Millennium Copyright Act (DMCA is a United States Copyright Law which implements two 1996 treaties of the World Intellectual Property However, the law has hardly been tested in the U. S. judiciary in cases of reverse engineering for personal use only. In Law, the judiciary or judicial system is the system of Courts which administer Justice in the name of the sovereign or State Reverse engineering (RE is the process of discovering the technological principles of a device object or system through analysis of its structure function and operation The European Union passed the European Union Copyright Directive in May 2001, making software copyright infringement illegal in member states once national legislation has been enacted pursuant to the directive. The European Union ( EU) is a political and economic union of twenty-seven member states, located primarily in The Directive 2001/29/EC of the European Parliament and of the Council of 22 May 2001 on the harmonisation of certain aspects of copyright and related rights in the information society
Contents |
The first software copy protection was on early Apple II, Atari 800 and Commodore 64 software. The Atari 8-bit family is a series of 8-bit Home computers manufactured from 1979 to 1992 Game publishers, in particular, carried on an arms race with software crackers. More recently, publishers have resorted to increasingly complex countermeasures to try to stop unauthorized copying of their software.
Unlike modern computers that use standardized drivers to manage device communications, the Apple II DOS directly controlled the step motor that moves the floppy drive head, and also directly interpreted the raw data (known as nibbles) read from each track to find the data sectors. In computing a device driver or software driver is a Computer program allowing higher-level computer programs to interact with a Hardware device A nibble (often nybble) is the Computing term for a four- Bit aggregation or half an octet (an octet being an 8-bit Byte This allowed complex disk-based software copy protection, by storing data on half tracks (0 1 2. 5 3. 5 5 6. . . ), quarter tracks (0 1 2. 25 3. 75 5 6. . . ), and any combination thereof. In addition tracks did not need to be perfect rings, but could be sectioned so that sectors could be staggered across overlapping offset tracks, the most extreme version being known as spiral tracking. It was also discovered that many floppy drives do not have a fixed upper limit to head movement, and it was sometimes possible to write an additional 36th track above the normal 35 tracks. The standard Apple II DOS copy programs could not read such protected floppy disks, since the standard DOS assumed all disks had a uniform 35 track, 13 or 16 sector layout. Special nibble-copy programs such as Locksmith and Copy II Plus could sometimes duplicate these disks by using a reference library of known protection methods, but when protected programs were cracked they would be completely stripped of the copy protection system, and transferred onto a standard DOS disk that any normal Apple II DOS copy program could read.
One of the primary routes to hacking these early copy protections, was to run a program that simulates the normal CPU operation. The CPU simulator provides a number of extra features to the hacker, such as the ability to single-step through each processor instruction, and to examine the CPU registers and modified memory spaces as the simulation runs. The Apple II provided a built-in opcode disassembler, allowing raw memory to be decoded into CPU opcodes, and this would be utilized to examine what the copy-protection is about to do next. Generally there was little to no defense available to the copy protection system, since all its secrets are made visible through the simulation. But because the simulation itself must run on the original CPU, in addition to the software being hacked, the simulation would often run extremely slowly even at maximum speed.
The most common protection method on the Atari computers were "bad sectors". These were sectors on the disk that were intentionally unreadable by the disk drive. The software would look for these sectors when the program was loading and would stop loading if an error code was not returned when accessing these sectors. Special copy programs were available that would copy the disk and remember any bad sectors. The user could then use an application to spin the drive by constantly reading a single sector and display the drive RPM. With the disk drive top removed a small screwdriver could be used to slow the drive RPM below a certain point. Once the drive was slowed down the application could then go and write "bad sectors" where needed. When done the drive RPM was sped up back to normal and an uncracked copy was made. Of course cracking the software to expect good sectors made for readily copied disks without the need to meddle with the disk drive. As time went on more sophisticated methods were developed, but almost all involved some form of malformed disk data, such as a sector that might return different data on separate accesses due to bad data alignment. Products such as the "Happy Chip" become available that were hardware add-on similar to today's game console "Mod chips". However, the "Happy Chip" would allow the user to make exact copies of the original program with copy protections in place on the new disk. "Happy Chip" owners quickly became popular in game trading circles.
On the Commodore 64 several methods were used. For ROM Cartridges routines were written to "WRITE" to the ROM, if there was a ROM Cartridge nothing would happen as this was impossible. If the software was moved to RAM. this would disable the software. For floppy drives at first errors to the floppy were intentionally written to the floppy and the software would look for the errors. Because of the operational of Commodore Floppy Drives this would cause the floppy drive heard to bang against the edge and could cause the drive head to become misaligned.
Cracked versions were desirable just for that reason. As that became easy to crack. Protection included writing to disk drives tracks 36-40 (Commodore only used tracks 0-35). Commodore floppy drives allowed programming the floppy drives. Some common disk copying software for the Commodore 64 was Disk Mimic , 1541 Backup , and more.
Most of the early software crackers were computer hobbyists who often formed groups that competed against each other in the cracking and spreading of software. Breaking a new copy protection scheme as quickly as possible was often regarded as an opportunity to demonstrate one's technical superiority rather than a possibility of money-making. The cracker groups of the 1980s started to advertise themselves and their skills by attaching animated screens known as crack intros in the software programs they cracked and released. A crack intro, also known as a cracktro, loader, or just intro, is a small introduction sequence added to cracked software, designed to Once the technical competition had expanded from the challenges of cracking to the challenges of creating visually stunning intros, the foundations for a new subculture known as demoscene were established. The demoscene is a Computer art Subculture that specializes in producing demos, which are non-interactive audio-visual presentations that run in Demoscene started to separate itself from the illegal "warez scene" during the 1990s and is now regarded as a completely different subculture. Many software crackers have later grown into (extremely) capable software reverse engineers; The deep knowledge of assembly required in order to crack protections enables them - inter alia - to reverse engineer drivers in order to port them from binary-only drivers for Windows to drivers with source code for Linux and other Free operating systems. Linux (commonly pronounced ˈlɪnəks Free software or software libre is Software that can be used studied and modified without restriction and which can be copied and redistributed in modified or unmodified
Software crackers have their secretive organizations on the Internet. Similar to other "grey area" Internet activities, there are also various detector, legal and other specialists on the subject.
The most common software crack is the modification of an application's binary to cause or prevent a specific key branch in the program's execution. This is accomplished by reverse engineering the compiled program code using a debugger such as SoftICE, OllyDbg, GDB, or MacsBug until the software cracker reaches the subroutine that contains the primary method of protecting the software (or by disassembling an executable file with a program such as IDA). Reverse engineering (RE is the process of discovering the technological principles of a device object or system through analysis of its structure function and operation A debugger is a Computer program that is used to test and Debug other programs SoftICE is a Kernel mode Debugger for Microsoft Windows. Crucially it is designed to run underneath Windows such that the Operating system is OllyDbg is a Debugger that emphasizes binary code analysis which is useful when source code is not available The GNU Debugger, usually called just GDB, is the standard Debugger for the GNU software system MacsBug is a low-level ( Assembly language /machine-level Debugger for pre- Mac OS X Apple Macintosh computers In Computer science, a subroutine ( function, method, procedure, or subprogram) is a portion of code within a larger A disassembler is a Computer program that translates Machine language into Assembly language —the inverse operation to that of an assembler. The Interactive Disassembler, more commonly known as simply IDA, is a commercial Disassembler widely used for Reverse engineering. The binary is then modified using the debugger or a hex editor in a manner that replaces a prior branching opcode with its complement or a NOP opcode so the key branch will either always execute a specific subroutine or skip over it. A debugger is a Computer program that is used to test and Debug other programs A hex editor (or binary file editor or byte editor) is a type of Computer program that allows a user to manipulate binary (normally non-plain In computer technology an opcode ( op eration code) is the portion of a Machine language instruction that specifies the operation to be performed In Computer science NOP or NOOP (short for N o OP eration) is an Assembly language instruction sequence of programming In computer technology an opcode ( op eration code) is the portion of a Machine language instruction that specifies the operation to be performed In Computer science, a subroutine ( function, method, procedure, or subprogram) is a portion of code within a larger Almost all common software cracks are a variation of this type. Proprietary software developers are constantly developing techniques such as code obfuscation, encryption, and self-modifying code to make this modification increasingly difficult. Proprietary software is Computer software on which the producer has set restrictions on use private modification copying, or republishing. Obfuscated code is Source code or Intermediate language that is very hard to read and understand often intentionally In Computer science, self-modifying code is code that alters its own instructions, intentionally or otherwise while it is executing.
Another (simpler) method is the use of special software to scan for the copy protection used (eg by programs as ClonyXXL, A-Ray Scanner, SafeDisc Analyser, Yet Another Protection Scanner (Yaps), Protection ID, . CloneCD is a proprietary Optical disc authoring software that makes exact 11 copies of music and data CDs and DVDs regardless of any . . ) and then using another tool to remove the copy protection and copy the CD/DVD-contents. [1] Popular copy protections are lately Safe Disk, StarForce, CD Lock and some others, yet the programs described are continuously updated so that they can keep beating the copy protection. StarForce is a software Copy prevention mechanism developed by Protection Technology. CD/DVD contents can be copied by transforming it into a CD image (and storing it on the harddrive or alternatively CD or DVD) or by simply placing it on a virtual drive. An ISO image is an Archive file (aka Disk image) of an Optical disc using a conventional ISO ( International Organization for Standardization A hard disk drive ( HDD) commonly referred to as a hard drive, hard disk, or fixed disk drive, is a Non-volatile storage device A Compact Disc (also known as a CD) is an Optical disc used to store digital data, originally developed for storing digital audio DVD (also known as " Digital Versatile Disc " or " Digital Video Disc " - see Etymology)is A virtual drive is a term used with respect to computers when a drive is emulated in some fashion Popular programs used for copying are Alcohol 120%, CloneDVD, Game Jackal, Daemon Tools and some others. Alcohol 120% is an optical disc authoring program and Disk image emulator created by Alcohol Soft CloneDVD is a proprietary DVD cloning software developed by Elaborate Bytes, that can be used to make backup copies of any DVD movie not Game Jackal is a PC application developed by Antiguan -based company SlySoft that allows users to play PC game titles without the need for the game's Daemon Tools (styled DAEMON Tools by its creators is a Disk image emulator and optical disc authoring program for Microsoft Windows. Also, some regular CD-burning software as Nero Burning Rom and BlindWrite, DiscJuggler, CDRWIN, CD Mate, . Nero Claudius Caesar Augustus Germanicus ( December 15, 37 – June 9, 68) born Lucius Domitius Ahenobarbus, also called Blindwrite, the successor to Blindread is a computer program that writes to recordable CDs DiscJuggler is a professional CD / DVD recording software program able to duplicate multiple CDs at once with its ability to simultaneously drive multiple CDRWIN is a CD/DVD burning software for Microsoft Windows developed by Golden Hawk Technology company . . is sometimes used. [2]
A specific example of this technique is a crack that removes the expiration period from a time-limited trial of an application. These cracks are usually programs that patch the program executable and sometimes the .dll or .so linked to the application. In Computer science, a library is a collection of Subroutines used to develop Software. Similar cracks are available for software that requires a hardware dongle. A dongle is a small piece of hardware that connects to a Computer. A company can also break the copy preventions of programs that they have legally purchased but that are licensed to particular hardware, so that there is no risk of downtime due to hardware failure (and, of course, no need to restrict oneself to running the software on bought hardware only). A software license (or software licence in commonwealth usage is a Legal instrument governing the usage or redistribution of copyright protected software
In other cases, it might be possible to decompile a program in order to get access to the original source code or code on a level higher than machine code. A decompiler is the name given to a Computer program that performs the reverse operation to that of a Compiler. In Computer science, source code (commonly just source or code) is any sequence of statements or declarations written in some Human-readable In computing a high-level programming language is a Programming language with strong abstraction from the details of the computer Machine code or machine language is a system of instructions and data executed directly by a Computer 's Central processing unit. This is often possible with scripting languages and languages utilizing JIT compilation. "Scripting" redirects here For other uses see Script. In Computing, just-in-time compilation ( JIT) also known as dynamic translation, is a technique for improving the runtime performance of a Computer An example is cracking (or debugging) on the . NET platform where one might consider manipulating CIL to achieve one's needs. Common Intermediate Language (CIL pronounced either "sil" or "kil" (formerly called Microsoft Intermediate Language or MSIL is the lowest-level Human-readable Java's bytecode also works in a similar fashion in which there is an intermediate language before the program is compiled to run on the platform dependent machine code. Bytecode is a term which has been used to denote various forms of Instruction sets designed for efficient execution by a software interpreter as well as being suitable Machine code or machine language is a system of instructions and data executed directly by a Computer 's Central processing unit.
There are a number of sites on the Internet (eg gamecopyworld) that let users download cracks for popular games and applications (although at the danger of acquiring malicious software that is sometimes distributed via such sites). Although these cracks are used by legal buyers of software they can also be used by people who have downloaded or otherwise obtained pirated software (often through P2P networks). For other uses of the term see Peer-to-peer (disambiguation For peer-to-peer networks used for file sharing see File sharing
The most visible and controversial effect of software cracking is the releasing of fully operable proprietary software without any copy protection. The word proprietary indicates that a party or proprietor exercises private Ownership, control or use over an item of Property. Software companies represented by the Business Software Alliance estimate and claim losses due to piracy. The Business Software Alliance ( BSA) is a Trade group established in 1988 and representing a number of the world's largest Software makers "Warez" refers primarily to Copyrighted works traded in violation of Copyright law.
Cracking has also been a significant factor in the domination of companies such as Adobe Systems and Microsoft, all of whom have benefited from piracy since the 1980s. Vast numbers of college and high school students adopted readily available applications from these companies. Many of these students would then go on to use them in their professional lives, purchasing legitimate licenses for business use and introducing the software to others until the programs became ubiquitous. [3]
Due to the potential legal repercussions, many individuals who release cracks to the public for commercially available software choose to remain anonymous. This can often create confusion as the available documentation is often sparse. It is beyond the ability of most to determine the exact operations the crack will execute.
As an example, several spyware removal utilities have rules in place that regard certain cracks as having a malicious payload such as a hidden DDOS daemon. However, anti-virus utilities have also been known to frequently report crack application programs as false positives, since the programs alter the program code of other executables similarly to how viruses often spread. In Statistics, the terms Type I error (also α error, or false positive) and type II error ( β error, or a false negative
Some forms of software protection can include subtle countermeasures against cracking that do not prevent the cracked program from running, but can eventually lead to long-term damage of data created and used with the cracked program.
An example of this could be an expensive engineering software that requires a dongle to operate. The program may be specifically designed to incorporate certain minor math errors and design flaws into all documents, but the dongle stores the particular dimensional metrics needed to cancel out these cumulative intentional data errors. Once cracked, the corrective metrics from the dongle are no longer available, and over time as documents are edited with the cracked software, object dimensions move and distort until the document is so corrupted that it is unusable. The company may provide a method to undo the damage, provided the customer pays a fee for the correction and obtains a properly licensed uncracked program. This type of protection is often seen in video games; for example, Donkey Kong 64 will delete the player's save data upon reaching a certain point in the game if it detects a crack. (abbreviated as DK 64) is a platformer Video game developed by Rare for the Nintendo 64.
Apple Computer has begun incorporating a Trusted Platform Module into their Apple Macintosh line of computers, and making use of it in such applications as Rosetta. Apple Inc, ( formerly Apple Computer Inc, is an American Multinational corporation with a focus on designing and manufacturing Consumer electronics In Computing, Trusted Platform Module (TPM is both the name of a published Specification detailing a Secure cryptoprocessor that can store cryptographic Macintosh, commonly nicknamed Mac is a Brand name which covers several lines of Personal computers designed developed and marketed by Apple Inc Rosetta is a lightweight dynamic translator for Mac OS X distributed by Apple. Parts of the operating system not fully x86-native run through the Rosetta PowerPC binary translator, which in turn requires the Trusted Platform Module for proper operation. An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination See also X86 assembly language The generic term x86 refers to the most commercially successful Instruction set architecture in the history of Personal Rosetta is a lightweight dynamic translator for Mac OS X distributed by Apple. PowerPC is a RISC Instruction set architecture created by the 1991 Apple – IBM – Motorola alliance known as AIM (This description applies to the developer preview version, but the mechanism differs in the release version. ) Recently, the OSx86 project has been releasing patches to circumvent this mechanism. OSx86 (a Portmanteau of OS X and x86) is a collaborative hacking project to run the Mac OS X computer Operating system There are also industrial solutions available like Matrix Software License Protection System. Matrix Software License Protection System is a Brand that provides solutions for software license protection and internet login with the headquarters in Germany and
Microsoft is planning to reduce common Windows based software cracking with the release of the NGSCB initiative in future versions of their operating system. Microsoft Corporation is an American multinational Computer technology Corporation, which rose to dominate the Home computer Microsoft Windows is a series of Software Operating systems and Graphical user interfaces produced by Microsoft. The Next-Generation Secure Computing Base ( NGSCB) formerly known as Palladium, is a software architecture designed by Microsoft which is expected to implement An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination