Content deleted Content added
Rescuing 15 sources and tagging 0 as dead.) #IABot (v2.0.9.3 |
Allforrous (talk | contribs) →References: Cat main. |
||
(40 intermediate revisions by 29 users not shown) | |||
Line 1:
{{Short description|Modification of software, often to use it for free}}
[[File:Software crack illustration 20170116.jpg|thumb|Software crack illustration]]
{{Use American English|date = February 2019}}
{{Use mdy dates|date = February 2019}}
Line 7 ⟶ 8:
}}
'''Software cracking''' (known as "breaking" mostly in the 1980s<ref name="kevelson198510">{{cite news | url=https://archive.org/stream/Ahoy_Issue_22_1985-10_Ion_International_US#page/n71/mode/2up |title=Isepic |work=Ahoy! |date=October 1985 |access-date=27 June 2014 |first=Morton |last=Kevelson |pages=71–73 |quote=The origin of the term probably lies in the activity burglars in the still of the night.}}</ref>) is an act of removing [[copy protection]] from a software.<ref name="Goode 2006"/>
</ref> A well-known example of a loader is a [[Trainer (games)|trainer]] used to cheat in games.<ref name="cbm-oraculums">
{{cite journal |title=Guide on how to play with processes memory, writing loaders, and Oraculumns |first=Shub |last=Nigurrath |date=May 2006 |journal=CodeBreakers Magazine |publisher=Universitas-Virtualis Research Project |volume=1 |issue=2}}
Line 18 ⟶ 19:
==History==
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. Software crackers usually did not benefit materially from their actions and their motivation was the challenge itself of removing the protection.<ref name="Goode 2006"/> Some low skilled hobbyists would take already cracked software and edit various unencrypted strings of text in it to change messages a game would tell a game player, often something considered vulgar. Uploading the altered copies on file sharing networks provided a source of laughs for adult users. The cracker groups of the 1980s started to advertise themselves and their skills by attaching animated screens known as [[crack intro]]s in the software programs they cracked and released.<ref>{{Cite journal |last1=Reunanen |first1=Markku |last2=Wasiak |first2=Patryk |last3=Botz |first3=Daniel |date=2015-03-26 |title=Crack Intros: Piracy, Creativity and Communication |url=https://ijoc.org/index.php/ijoc/article/view/3731/1345 |journal=International Journal of Communication |language=en |volume=9 |pages=20 |issn=1932-8036 |access-date=June 17, 2022 |archive-date=June 17, 2022 |archive-url=https://web.archive.org/web/20220617173355/https://ijoc.org/index.php/ijoc/article/view/3731/1345 |url-status=live }}</ref> 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. 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 to [[reverse engineering|reverse engineer]] [[device driver|drivers]] in order to port them from binary-only drivers for [[Microsoft Windows|Windows]] to drivers with source code for [[Linux]] and other [[Free software|free]] operating systems. Also because music and game intro was such an integral part of gaming the music format and graphics became very popular when hardware became affordable for the home user.
Line 24 ⟶ 25:
With the rise of the [[Internet]], software crackers developed secretive online organizations. In the latter half of the nineties, one of the most respected sources of information about "software protection reversing" was [[Fravia]]'s website.
In 2017, a group of software crackers started a project to preserve [[Apple II]]
==+HCU==
The ''High Cracking University'' (+HCU) was founded by [[Old Red Cracker]] (+ORC), considered a genius of reverse engineering and a legendary figure in
The addition of the "+" sign in front of the nickname of a reverser signified membership in the +HCU. Amongst the students of +HCU were the top of the elite Windows reversers worldwide.<ref name="PeikariChuvakin2004">{{cite book|author1=Cyrus Peikari|author2=Anton Chuvakin|author2-link=Anton Chuvakin|title=Security Warrior|url=https://archive.org/details/securitywarrior0000peik|url-access=registration|date=12 January 2004|publisher="O'Reilly Media, Inc."|isbn=978-0-596-55239-8|page=[https://archive.org/details/securitywarrior0000peik/page/31 31]}}</ref> +HCU published a new reverse engineering problem annually and a small number of respondents with the best replies qualified for an undergraduate position at the university.<ref name="PeikariChuvakin2004"/>
Line 36 ⟶ 37:
==Methods==
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]],<ref>{{cite journal|last1=Ankit|first1=Jain|last2=Jason|first2=Kuo|last3=Jordan|first3=Soet|last4=Brian|first4=Tse|title=Software Cracking (April 2007)|date=April 2007|url=https://courses.ece.ubc.ca/cpen442/previous_years/2007_1_spring/modules/term_project/reports/2007/software_cracking.pdf|access-date=27 January 2018|publisher=The University of British Columbia - Electrical and Computer Engineering|archive-date=March 19, 2018|archive-url=https://web.archive.org/web/20180319101416/http://courses.ece.ubc.ca/cpen442/previous_years/2007_1_spring/modules/term_project/reports/2007/software_cracking.pdf|url-status=live}}</ref> [[OllyDbg]], [[GDB]], or [[MacsBug]] until the software cracker reaches the [[subroutine]] that contains the primary method of protecting the software (or by [[disassembler|disassembling]] an executable file with a program such as [[Interactive Disassembler|IDA]]).<ref>{{cite book |last=Cerven |first=Pavol |date=2002 |isbn=1-886411-79-4 |title=Crackproof Your Software: Protect Your Software Against Crackers|publisher=No Starch Press }}</ref> The binary is then modified using the [[debugger]] or a [[hex editor]] such as [[HIEW]]<ref>{{cite web| url = https://www.cerias.purdue.edu/assets/pdf/bibtex_archive/bibtex_archive/2001-49.pdf| title = Protecting Software Codes By Guards| publisher = Hoi Chang, Mikhail J. Atallah, CERIAS, Purdue University (2001)| access-date = June 6, 2022| archive-date = March 10, 2023| archive-url = https://web.archive.org/web/20230310072122/https://www.cerias.purdue.edu/assets/pdf/bibtex_archive/bibtex_archive/2001-49.pdf| url-status = live}}</ref> or [[Machine code monitor|monitor]] in a manner that replaces a prior branching [[opcode]] with its complement or a [[NOP (code)|NOP]] [[opcode]] so the key branch will either always execute a specific [[subroutine]] or skip over it. Almost all common software cracks are a variation of this type. A region of code that must not be entered is often called a "bad boy" while one that should be followed is a "good boy".<ref name="Megabeets 2018 z717">{{cite web | title=Reversing a Self-Modifying Binary with radare2 | website=Megabeets | date=2018-01-14 | url=https://www.megabeets.net/reversing-a-self-modifying-binary-with-radare2/ | access-date=2023-06-29}}</ref>
[[Proprietary software]] developers are constantly developing techniques such as [[code obfuscation]], [[encryption]], and [[self-modifying code]] to make 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 alter the program executable and sometimes the [[Library (computing)|.dll or .so]] linked to the application and the process of altering the original binary files is called patching.<ref name=":0">{{Cite book |last=Eilam |first=Eldad |url=https://www.worldcat.org/oclc/80242141 |title=Reversing : secrets of reverse engineering |date=2005 |publisher=Wiley |others=Elliot J. Chikofsky |isbn=0-7645-9768-X |location=Indianapolis, IN |oclc=80242141}}</ref> Similar cracks are available for software that requires a hardware [[dongle]]. A company can also break the copy protection of programs that they have legally purchased but that are [[software license|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).
Another method is the use of special software such as [[CloneCD]] to scan for the use of a commercial copy protection application. After discovering the software used to protect the application, another tool may be used to remove the copy protection from the software on the [[CD]] or [[DVD]]. This may enable another program such as [[Alcohol 120%]], [[CloneDVD]], [[Game Jackal]], or [[Daemon Tools]] to copy the protected software to a user's hard disk. Popular commercial copy protection applications which may be scanned for include [[SafeDisc]] and [[StarForce]].<ref>{{cite web| url = http://m0001.gamecopyworld.com/games/gcw_cd-backup.shtml|
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 [[High level programming language|level higher]] than [[machine code]]. This is often possible with [[scripting language]]s and languages utilizing [[Just-in-time compilation|JIT]] compilation. An example is cracking (or debugging) on the .NET platform where one might consider manipulating [[Common Intermediate Language|CIL]] to achieve one's needs. [[Java (programming language)|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]].<ref>{{cite web| url = https://www.cs.drexel.edu/~spiros/teaching/CS675/asmrceFINAL.pdf| title = A Survey of Reverse Engineering Tools for the 32-Bit Microsoft Windows Environment|
Advanced reverse engineering for protections such as [[SecuROM]], [[SafeDisc]], [[StarForce]], or [[Denuvo]] requires a cracker, or many crackers to spend much more time studying the protection, eventually finding every flaw within the protection code, and then coding their own tools to "unwrap" the protection automatically from executable (.EXE) and library (.DLL) files.
There are a number of sites on the Internet that let users download cracks produced by [[warez groups]] for popular games and applications (although at the danger of acquiring malicious software that is sometimes distributed via such sites).<ref>{{Cite magazine|url=https://www.wired.com/1997/04/ff-warez/|title=Warez Wars|last=McCandless|first=David|date=1997-04-01|magazine=Wired|access-date=2020-02-04|issn=1059-1028|archive-date=September 16, 2021|archive-url=https://web.archive.org/web/20210916043855/https://www.wired.com/1997/04/ff-warez/|url-status=live}}</ref> Although these cracks are used by legal buyers of software, they can also be used by people who have downloaded or otherwise obtained unauthorized copies (often through [[Peer-to-peer|P2P]] networks).
==Software piracy==
Software cracking led to the distribution of pirated software around the world (software piracy). It was estimated that the United States lost US$2.3 billion in business application software in 1996. Software piracy rates were especially prevalent in African, Asian, East European, and Latin American countries. In certain countries such as Indonesia, Pakistan, Kuwait, China, and El Salvador,<ref>{{Cite journal |last1=Gopal |first1=Ram D. |last2=Sanders |first2=G. Lawrence |date=September 2000 |title=Global software piracy: you can't get blood out of a turnip |journal=Communications of the ACM |language=en |volume=43 |issue=9 |pages=82–89 |doi=10.1145/348941.349002 |s2cid=6706490 |issn=0001-0782|doi-access=free }}</ref> 90% of the software used was pirated.<ref>{{Cite journal |last1=Gopal |first1=Ram D. |last2=Sanders |first2=G. Lawrence |date=1998 |title=International Software Piracy: Analysis of Key Issues and Impacts |url=https://www.jstor.org/stable/23011033 |journal=Information Systems Research |volume=9 |issue=4 |pages=380–397 |doi=10.1287/isre.9.4.380 |jstor=23011033 |issn=1047-7047}}</ref>
==See also==
*[[Reverse engineering]]
*[[System Reconfiguration Attacks]]
==References==
{{Reflist
{{Independent production}}
{{Digital rights management software}}
{{Authority control}}
[[Category:Software cracking| ]]
|