Бағдарламалық қамтамасыздықты бұзу және тікелей қосылулар
Software cracking
Бағдарламалық қамтамасыздыруды бұзу – төлемсіз пайдалану үшін қорғауды алып тастау. Патчтар, кейгендер, лоадерлер арқылы жасалады. Пираттыққа себеп болады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Бағдарламалық жасақтаманы өзгерту, көбінесе оны тегін пайдалану үшін.
Modification of software, often to use it for free
Бағдарламалық жасақтаманы бұзу (1980-ші жылдары көбінесе "брейкинг" деп аталған) – бағдарламалық жасақтамадан авторлық құқықты қорғауды жою әрекеті. Бұзудың мысалдары: түзетулерді қолдану немесе кері инженерия арқылы жасалған тізбек нөмірлерін (кейгендер) құру, осылайша бағдарламаны тіркеуден және төлемдерден қашып құтылуға немесе бағдарламаның сынақ/демо нұсқасын толыққанды жұмыс істейтін нұсқаға айналдыру. Бағдарламалық жасақтаманы бұзу онлайн-пираттықтың кеңеюіне әкеледі, онда пираттық бағдарламалар соңғы пайдаланушыларға таратылады. Жүктеуші (loader) бағдарламаның басталу процесін өзгертеді, қорғанысты жоймайды, бірақ оны айналып өтеді. Ойын ішінде алдау үшін қолданылатын трейнерлер жүктеушінің кең таралған мысалы. Fairlight өздерінің NFO файлдарының бірінде осындай бұзулар warez сахнасының ойын шығарылымдарында рұқсат етілмейтінін көрсетті. Ядролық соғыс (nukewar) көрсеткендей, қорғаныс жарамды бұзу үшін ешқашан іске қосылмауы мүмкін. Бағдарламалық жасақтаманы бұзу кері инженериямен тығыз байланысты, себебі авторлық құқықты қорғау технологиясына шабуыл жасау процесі кері инженерия процесіне ұқсас. Белгілі бір жағдайларда бұзылған бағдарламаларды пайдалану заңды болуы мүмкін. Кері инженерия және бағдарламалық жасақтаманы бұзу бойынша оқу ресурстары заңды және Crackme бағдарламалары түрінде қолжетімді.
Software cracking (known as "breaking" mostly in the 1980s) is an act of removing copy protection from a software. Examples of cracks are: applying a patch or by creating reverse engineered serial number generators known as keygens, thus bypassing software registration and payments or converting a trial/demo version of the software into fully functioning software without paying for it. Software cracking contributes to the rise of online piracy where pirated software is distributed to end users A loader modifies the startup flow of a program and does not remove the protection but circumvents it. A well known example of a loader is a trainer used to cheat in games. Fairlight pointed out in one of their nfo files that these type of cracks are not allowed for warez scene game releases. A nukewar has shown that the protection may not kick in at any point for it to be a valid crack. Software cracking is closely related to reverse engineering because the process of attacking a copy protection technology, is similar to the process of reverse engineering. It might be legal to use cracked software in certain circumstances. Educational resources for reverse engineering and software cracking are, however, legal and available in the form of Crackme programs.
Тарих
Бағдарламалық құралдар жасау өте қымбат, бірақ көшіру және тарату арзан. Сондықтан бағдарламалық құрал өндірушілер оны нарыққа шығару алдында көшірмеден қорғаудың бір түрін енгізуге тырысты. 1984 жылы бағдарламалық қамтамасыз етуді қорғау компаниясы Formaster-дың бағдарламалық қамтамасыз етуді дамыту бөлімінің басшысы Лэйн Хантсман: «Кез келген қорғау жүйесін тапқыр бағдарламашылар бірнеше айдан астам уақытқа бұза алмайды» деді. 2001 жылы Райс университетінің профессоры Дэн С. Уоллах: «Көшірмеден қорғауды айналып өтуге бейілділер әрқашан оны іске асырудың жолын тапты – және әрқашан табады» деді. Бастапқы бағдарламалық құралдарды бұзушылар көбінесе компьютер хоббишілері болды, олар бағдарламалық құралды бұзып, таратуда бір-бірімен бәсекелесетін топтар құрды. Жаңа көшірмеден қорғау схемасын мүмкіндігінше жылдам бұзу, ақша табу мүмкіндігінен гөрі, техникалық басымдығын көрсету мүмкіндігі ретінде қарастырылды. Бағдарламалық құралдарды бұзушылар әдетте өз әрекеттерінен материалдық пайда көре алмады және олардың мотивациясы қорғанысты жоюдың өзі болды. Техникалық бәсекелестік бұзудың қиындықтарынан визуалды түрде әсерлі интроларды жасаудың қиындықтарына дейін кеңейгеннен кейін, демосцен деп аталатын жаңа субмәдениеттің негізі қаланды. Demoscene 1990-шы жылдары заңсыз «warez сахнасынан» бөлініп шыға бастады және қазір мүлдем басқа субмәдениет ретінде қарастырылады. Көптеген бағдарламалық құралдарды бұзушылар кейін өте қабілетті бағдарламалық құралдарды кері инженерияға айналды. Қорғанысты бұзу үшін қажетті құрастыру туралы терең білім оларға Windows үшін тек бинарлық драйверлерден Linux және басқа да ашық операциялық жүйелер үшін бастапқы коды бар драйверлерге порттау үшін драйверлерді кері инженерия жасауға мүмкіндік берді. Сондай-ақ, музыка мен ойынның кіріспесі ойынның ажырамас бөлігі болғандықтан, музыка форматы мен графика үй пайдаланушысы үшін қолжетімді болған кезде өте танымал болды. Интернет пайда болғаннан кейін бағдарламалық құралдарды бұзушылар құпия онлайн ұйымдар құрды. 1990-шы жылдардың соңында «бағдарламалық қорғанысты кері инженериялау» туралы ақпараттың ең беделді көздерінің бірі Fravia веб-сайты болды. 2017 жылы бағдарламалық құралдарды бұзушылар тобы Apple II бағдарламалық құралын Apple II-нің көшірмеден қорғауын алып тастау арқылы сақтау жобасын бастады.
Software are inherently expensive to produce but cheap to duplicate and distribute. Therefore, software producers generally tried to implement some form of copy protection before releasing it to the market. In 1984, Laind Huntsman, the head of software development for Formaster, a software protection company, commented that "no protection system has remained uncracked by enterprising programmers for more than a few months". In 2001, Dan S. Wallach, a professor from Rice University, argued that "those determined to bypass copy protection have always found ways to do so – and always will". 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. 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 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. 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. 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 software by removing the inherent Apple II copy protection.
+ HCU
Жоғары Крейкинг Университеті (+HCU) Реверс Код Инженериясы (RCE) саласындағы зерттеулерді дамыту мақсатымен, кері инженерия шебері және RCE-нің легендарлы тұлғасы саналатын Ескі Қызыл Крейкер (+ORC) құрған. Ол сонымен қатар бұл тақырып бойынша көптеген еңбектер оқытып, жазған, ал оның мәтіндері саладағы классика болып есептеледі және RCE студенттері үшін міндетті оқу материалы болып табылады. +HCU жыл сайын жаңа кері инженериялық есеп жариялап, ең жақсы жауап бергендердің шағын тобы университетте бакалаврлық позицияға ие болатын. Бүгінде +HCU түлектерінің көпшілігі Linux-қа көшкен, ал қалғандары Windows-ты кері инженериялаумен айналысып келеді. Университеттегі ақпаратты RCE саласындағы жаңа буын зерттеушілер мен тәжірибелі мамандар қайта ашты және жаңа ғылыми жобаларды бастады. Бағдарламалық қамтамасыздыруды бұзушылар OllyDbg, GDB немесе MacsBug құралдарын қолданып, бағдарламаны қорғаудың негізгі әдісі сақталған кіші бағдарламаға жеткенше (немесе IDA сияқты бағдарламамен орындалатын файлды талдау арқылы) іздейді. Содан кейін екілік файлды дебьюгер немесе HIEW немесе монитор сияқты гекса-редакторды пайдаланып өзгертіді, бұрынғы тармақталу опкодын оның толықтырғышымен немесе NOP опкодымен алмастырады, осылайша негізгі тармақ белгілі бір кіші бағдарламаны әрқашан орындайды немесе оны өткіріп жібереді. Көптеген бағдарламалық жасақтамалардың бұзылулары осы типтің вариациялары болып табылады. Кодтың ішке кірмеуі керек бөлігін "жаман бала" деп, ал орындалуы керек бөлігін "жақсы бала" деп атайды. Бағдарламалық жасақтаманы жасаушылар екілік кодты өзгертуді қиындату үшін кодты жасыру, шифрлау және өзін-өзі өзгерту коды сияқты әдістерді үздіксіз жетілдіріп келеді. Осы шаралар қабылданғанмен, бағдарлама жасаушылар бағдарламалық жасақтаманы бұзумен күресуде. Себебі, кәсіби маман үшін қарапайым бұзылған EXE немесе Retrium Installer-ді жалпыға қолжетімді жүктеуге жариялау жиі кездеседі, бұл тәжірибесіз пайдаланушылардың бағдарламалық жасақтаманы өздері бұзу қажеттілігін жояды. Бұл техниканың нақты мысалы – қолданбаның уақыт бойынша шектеулі сынақ нұсқасынан мерзімдік шектеуді алып тастайтын бұзу. Бұл бұзулар әдетте бағдарламаның орындалатын файлын өзгертетін бағдарламалар болып табылады, кейде DLL немесе қолданбамен байланысты файлдарды және бастапқы екілік файлдарды өзгерту процесі "жамау" деп аталады. Дәл осындай бұзулар аппараттық донглді қажет ететін бағдарламалық жасақтама үшін де қолжетімді. Компания заңды түрде сатып алынған, бірақ белгілі бір аппараттық құралға лицензияланған бағдарламалардың көшірмелерін қорғауды бұзуға болады, осылайша аппараттық ақаулықтан туындаған жұмыстың тоқтауының қаупі болмайды (әрине, бағдарламаны тек сатып алынған аппараттық құралда ғана пайдаланумен шектелудің қажеті жоқ). Тағы бір әдіс – CloneCD сияқты арнайы бағдарламалық жасақтаманы пайдаланып, коммерциялық көшірмеден қорғау бағдарламасын анықтау. Қолданбаны қорғау үшін пайдаланылған бағдарламалық жасақтаманы анықтағаннан кейін, CD немесе DVD-дегі бағдарламалық жасақтамадан көшірмеден қорғауды жою үшін басқа құрал қолданылуы мүмкін. Бұл Alcohol 120%, CloneDVD, Game Jackal немесе Daemon Tools сияқты басқа бағдарламаларға қорғалған бағдарламаны пайдаланушының қатты дискісіне көшіруге мүмкіндік береді. Көшірмеден қорғауды анықтауға болатын танымал коммерциялық қосымшаларға SafeDisc және StarForce кіреді. Кейде бағдарламаны бастапқы бастапқы кодқа немесе машиналық кодтан жоғары деңгейдегі кодқа қол жеткізу үшін декомпиляциялау мүмкін болады. Бұл көбінесе скрипт тілдерімен және JIT компиляциясын пайдаланатын тілдермен мүмкін. Мысалы, NET платформасында CIL-ді өз қажеттіліктеріне сәйкес өңдеуге болатын бұзу (немесе жөндеу). Java-ның байт-коды да осыған ұқсас жұмыс істейді, онда бағдарлама платформаға тәуелді машиналық кодқа компиляцияланбастан бұрын аралық тіл бар. SecuROM, SafeDisc, StarForce немесе Denuvo сияқты қорғанысқа қарсы озық кері инженерияға крекер немесе көптеген крекерлер қорғанысты зерттеуге көп уақыт жұмсауы керек, содан кейін қорғаныс кодындағы барлық кемшіліктерді тауып, қорғанысты орындалатын (.EXE) және кітапхана (.DLL) файлдарынан автоматты түрде ажырату үшін өз құралдарын жасайды. Интернетте көптеген сайттар бар, олар пайдаланушыларға танымал ойындар мен қосымшалар үшін warez топтары жасаған бұзуларды жүктеуге мүмкіндік береді (бірақ мұндай сайттар арқылы таралатын зиянды бағдарламалық жасақтаманы алу қаупі бар). Бұл бұзулар бағдарламалық жасақтаманың заңды сатып алушылары тарапынан қолданылса да, оларды заңсыз көшірмелерді жүктеген немесе басқа жолмен алған адамдар да пайдалана алады (көбінесе P2P желілері арқылы).
The High Cracking University (+HCU) was founded by Old Red Cracker (+ORC), considered a genius of reverse engineering and a legendary figure in Reverse Code Engineering (RCE), to advance research into RCE. He had also taught and authored many papers on the subject, and his texts are considered classics in the field and are mandatory reading for students of RCE. +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. Nowadays most of the graduates of +HCU have migrated to Linux and few have remained as Windows reversers. The information at the university has been rediscovered by a new generation of researchers and practitioners of RCE who have started new research projects in the field. 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). The binary is then modified using the debugger or a hex editor such as HIEW or monitor 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. 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". Proprietary software developers are constantly developing techniques such as code obfuscation, encryption, and self modifying code to make binary modification increasingly difficult. Even with these measures being taken, developers struggle to combat software cracking. This is because it is very common for a professional to publicly release a simple cracked EXE or Retrium Installer for public download, eliminating the need for inexperienced users to crack the software themselves. 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 dll or so linked to the application and the process of altering the original binary files is called patching. 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 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. 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. This is often possible with scripting languages and languages utilizing JIT compilation. An example is cracking (or debugging) on the NET platform where one might consider manipulating CIL to achieve one's needs. 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. 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). 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 P2P networks).
Бағдарламалық жасақтамалардың пираттығы
Бағдарламалық жасақтаманы бұзу бүкіл әлемде пираттық бағдарламалық жасақтаманың таралуына әкелді (бағдарламалық жасақтама пираттығы). 1996 жылы АҚШ бизнес-қолданбалы бағдарламалық жасақтамадан 2,3 миллиард АҚШ долларына шығын келтірді деп есептелді. Бағдарламалық жасақтаманың пираттық деңгейі Африка, Азия, Шығыс Еуропа және Латын Америка елдерінде ерекше жоғары болды. Индонезия, Пәкістан, Кувейт, Қытай және Сальвадор сияқты елдерде қолданылатын бағдарламалық жасақтаманың 90 пайызы пираттық еді.
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, 90% of the software used was pirated.