Software cracking - Software cracking

Softwarové crackování (známé jako „lámání“, většinou v 80. letech) je modifikace softwaru za účelem odstranění nebo deaktivace funkcí, které jsou osobou, která software prolomila, považovány za nežádoucí, zejména funkce ochrany proti kopírování (včetně ochrany proti manipulaci se softwarem, sériového čísla, hardwarový klíč, kontroly data a kontrola disku) nebo softwarové nepříjemnosti, jako jsou nag obrazovky a adware .

Trhlina se týká prostředku k dosažení, například ukradené sériové číslo nebo nástroje, který vykonává, že akt praskání. Některé z těchto nástrojů se nazývají keygen , patch nebo loader . Keygen je ručně vyráběný generátor sériových čísel produktů, který často nabízí možnost generování funkčních sériových čísel vlastním jménem. Oprava je malý počítačový program, který upravuje strojový kód jiného programu. To má tu výhodu, že cracker nezahrnuje velký spustitelný soubor ve verzi, když se změní jen několik bajtů. Zavaděč upravuje spouštěcí tok programu a neodstraňuje ochranu, ale obchází ji. Známým příkladem zavaděče je trenér sloužící k podvádění ve hrách. Fairlight v jednom ze svých souborů .nfo poukázal na to, že tyto typy trhlin nejsou povoleny pro vydání hry warez scene . Nukewar ukázalo, že ochrana nemusí účinkovat na jakémkoli místě, aby mohla být platný prasklina.

Distribuce popraskaných kopií je ve většině zemí nezákonná. Byly vedeny soudní spory kvůli prolomení softwaru. Za určitých okolností může být legální používat cracknutý software. Vzdělávací zdroje pro reverzní inženýrství a softwarové krakování jsou však legální a jsou k dispozici ve formě programů Crackme .

Dějiny

První ochrana proti kopírování softwaru byla aplikována na software pro počítače Apple II , Atari 800 a Commodore 64 .. Vydavatelé softwaru implementovali stále složitější metody ve snaze zastavit neoprávněné kopírování softwaru.

Na Apple II, na rozdíl od moderních počítačů, které ke správě komunikace zařízení používají standardizované ovladače zařízení, operační systém přímo řídil krokový motor, který pohybuje hlavou disketové mechaniky , a také přímo interpretoval nezpracovaná data, zvaná nibbles , načtená z každé stopy k identifikaci datových sektorech. To umožnilo komplexní ochranu proti kopírování softwaru založenou na disku ukládáním dat na poloviční stopy (0, 1, 2,5, 3,5, 5, 6 ...), čtvrtinové stopy (0, 1, 2,25, 3,75, 5, 6 ... ) a jakoukoli jejich kombinaci. Stopy navíc nemusely být dokonalé prsteny, ale mohly být rozřezány tak, aby sektory mohly být rozloženy přes překrývající se offsetové dráhy, přičemž nejextrémnější verze byla známá jako spirálové sledování. Bylo také zjištěno, že mnoho disketových pohonů nemělo pevnou horní mez pohybu hlavy a někdy bylo možné napsat dalších 36 stop nad normálních 35 stop. Standardní kopírovací programy Apple II nemohly číst takto chráněné diskety, protože standardní DOS předpokládal, že všechny disky mají jednotné rozložení 35 stop, 13 nebo 16 sektorů. Speciální programy pro kopírování kopií, jako jsou Locksmith a Copy II Plus, mohou někdy tyto disky duplikovat pomocí referenční knihovny známých metod ochrany; když byly chráněné programy prolomeny, byly by úplně zbaveny systému ochrany proti kopírování a přeneseny na disk standardního formátu, který by dokázal přečíst jakýkoli normální kopírovací program Apple II.

Jednou z hlavních cest, jak hacknout tyto rané ochrany proti kopírování, bylo spustit program, který simuluje normální provoz CPU. Simulátor CPU poskytuje hackerům řadu dalších funkcí, jako je například schopnost postupovat jednotlivými instrukcemi procesoru a zkoumat registry procesoru a upravené paměťové prostory během běhu simulace (může to udělat jakýkoli moderní disassembler/debugger). Apple II poskytl vestavěný disassembler operačního kódu, který umožňoval dekódování surové paměti do CPU kódů, a to by bylo využito k prozkoumání toho, co ochrana proti kopírování měla dělat dále. Systém ochrany proti kopírování měl obecně k dispozici jen malou nebo žádnou obranu, protože všechna jeho tajemství jsou viditelná prostřednictvím simulace. Protože však samotná simulace musí běžet na původním CPU, kromě hacknutého softwaru by simulace často běžela extrémně pomalu i při maximální rychlosti.

Na 8bitových počítačích Atari byla nejběžnější metodou ochrany „špatné sektory“. Jednalo se o sektory na disku, které byly záměrně nečitelné diskovou jednotkou. Software by tyto sektory vyhledával při načítání programu a zastavil by načítání, pokud by při přístupu k těmto sektorům nebyl vrácen chybový kód. Byly k dispozici speciální kopírovací programy, které zkopírují disk a zapamatují si všechny vadné sektory. Uživatel pak mohl použít aplikaci k roztočení disku neustálým čtením jednoho sektoru a zobrazováním otáček disku. Po odstranění horní části diskové jednotky lze použít malý šroubovák ke zpomalení otáček disku pod určitý bod. Jakmile byl disk zpomalen, aplikace mohla jít a zapisovat „špatné sektory“ tam, kde bylo potřeba. Po dokončení se otáčky disku zrychlily zpět do normálu a byla vytvořena nekrápaná kopie. Samozřejmě prasknutí softwaru, aby očekával dobré sektory vytvořené pro snadno kopírované disky bez nutnosti zasahovat do diskové jednotky. Jak šel čas, byly vyvinuty sofistikovanější metody, ale téměř všechny zahrnovaly nějakou formu chybně tvarovaných dat na disku, například sektor, který by mohl vracet různá data při odděleném přístupu kvůli špatnému zarovnání dat. Byly k dispozici produkty (od společností, jako jsou Happy Computers ), které nahradily BIOS řadiče v „chytrých“ jednotkách Atari. Tyto upgradované jednotky umožňovaly uživateli vytvářet přesné kopie původního programu s ochranou proti kopírování na novém disku.

Na Commodore 64 bylo k ochraně softwaru použito několik metod. U softwaru distribuovaného na ROM kartách byly zahrnuty podprogramy, které se pokoušely zapsat kód programu. Pokud by byl software na ROM, nic by se nestalo, ale pokud by byl software přesunut do RAM , software by byl deaktivován. Kvůli provozu disketových jednotek Commodore by jedno schéma ochrany proti zápisu způsobilo, že by hlava disketové jednotky narazila na konec její kolejnice, což by mohlo způsobit nesprávné zarovnání hlavy pohonu. V některých případech byly žádoucí popraskané verze softwaru, aby se tomuto výsledku zabránilo. Nesprávně zarovnaná hlava pohonu byla vzácná, obvykle se upevňovala nárazem o kolejové dorazy. Další brutální schéma ochrany bylo několikrát broušení ze stopy 1 na 40 a zpět.

Většina raných softwarových krekerů byli počítačoví nadšenci, kteří často vytvářeli skupiny, které mezi sebou soupeřily v rozbíjení a šíření softwaru. Prolomení nového schématu ochrany proti kopírování co nejrychleji bylo často považováno spíše za příležitost prokázat technickou převahu než za možnost vydělávání peněz. Někteří málo zdatní fandové by vzali již prasklý software a upravovali v něm různé nešifrované řetězce textu, aby změnili zprávy, které by hra řekla hernímu hráči, často něco považovaného za vulgární. Nahrávání pozměněných kopií do sítí pro sdílení souborů bylo zdrojem smíchu pro dospělé uživatele. Crackerské skupiny osmdesátých let začaly inzerovat sebe a své dovednosti připojením animovaných obrazovek známých jako crack introso softwarových programů, které spustili a vydali. Jakmile se technická soutěž rozšířila z výzev praskání na výzvy vytváření vizuálně ohromujících úvodů, byly založeny základy nové subkultury známé jako demoscéna . Demoscéna se začala oddělovat od nelegální „warezové scény“ v průběhu devadesátých let a nyní je považována za úplně jinou subkulturu. Mnoho softwarových krekrů později vyrostlo v extrémně schopné softwarové reverzní inženýry; hluboké znalosti o montáži nutné k prolomení ochran jim umožňují převést zpětné inženýrské ovladače a přenést je z binárních ovladačů pro Windows na ovladače se zdrojovým kódem pro Linux a další bezplatné operační systémy. Také proto, že hudební a herní intro bylo tak nedílnou součástí hraní her, hudební formát a grafika se staly velmi populární, když se hardware stal cenově dostupným pro domácího uživatele.

S rozmachem internetu vyvinuly softwarové krekry tajné online organizace. V druhé polovině devadesátých let byl jedním z nejrespektovanějších zdrojů informací o „obrácení ochrany softwaru“ web Fravia .

Většina známých nebo „elitních“ krakovacích skupin dělá softwarové trhliny zcela kvůli respektu ve „ scéně “, nikoli kvůli zisku. Odtamtud jsou trhliny nakonec proniknuty na veřejné internetové stránky lidmi/crackery, kteří používají dobře chráněné/zabezpečené archivy vydání FTP, z nichž se dělají úplné kopie a někdy je nelegálně prodávají jiné strany.

Dnešní scéna je tvořena malými skupinami kvalifikovaných lidí, kteří neformálně soutěží o nejlepší krekry, metody krakování a reverzní inženýrství .

+HCU

High Cracking University (+ HCU) byl založen starý červený Cracker (+ ORC), považován za génia reverzního inženýrství a legendární postava v RCE, aby předem výzkumu Reverse Code Engineering (RCE). On také učil a napsal mnoho článků na toto téma a jeho texty jsou považovány za klasiku v oboru a jsou povinnou četbou pro studenty RCE.

Přidání znaku „ +“ před přezdívku obraceče znamenalo členství v +HCU. Mezi studenty +HCU patřila špičková elitní obraceče Windows na celém světě. +HCU každoročně publikovalo nový problém reverzního inženýrství a malý počet respondentů s nejlepšími odpověďmi se kvalifikoval na vysokoškolské místo na univerzitě.

+Fravia byl profesorem na +HCU. Web Fravia byl znám jako „+Fravia's Pages of Reverse Engineering“ a použil ho k vyzývání programátorů i širší společnosti k „zpětnému inženýrství“ „vymývání mozků zkorumpovaného a nekontrolovatelného materialismu“. V dobách největší slávy jeho webové stránky přijímaly miliony návštěvníků ročně a jeho vliv byl „rozšířený“.

V současné době většina absolventů +HCU přešla na Linux a jen málo z nich zůstalo jako obraceči Windows. Informace na univerzitě znovu objevila nová generace výzkumníků a praktiků RCE, kteří zahájili nové výzkumné projekty v této oblasti.

Metody

Nejběžnějším softwarovým crackem je modifikace binárního souboru aplikace, která má způsobit nebo zabránit konkrétní větvi klíče při provádění programu. Toho je dosaženo reverzním inženýrstvím zkompilovaného programového kódu pomocí debuggeru, jako je SoftICE , x64dbg , OllyDbg , GDB nebo MacsBug, dokud software cracker nedosáhne podprogramu, který obsahuje primární způsob ochrany softwaru (nebo rozebráním spustitelného souboru pomocí program, jako je IDA ). Binární soubor je poté upraven pomocí debuggeru nebo hexadecimálního editoru nebo monitoru způsobem, který nahrazuje předchozí rozvětvený operační kód jeho komplementem nebo NOP operačním kódem, takže klíčová větev buď vždy provede konkrétní podprogram, nebo jej přeskočí. Variací tohoto typu jsou téměř všechny běžné softwarové trhliny. Vývojáři proprietárního softwaru neustále vyvíjejí techniky, jako je obfuskace kódu , šifrování a samočinně upravující kód, aby byla tato modifikace stále obtížnější. I když jsou tato opatření přijata, vývojáři bojují proti praskání softwaru. Je to proto, že je velmi běžné, že profesionál veřejně vydá jednoduchý popraskaný EXE nebo Retrium Installer k veřejnému stažení, což eliminuje potřebu nezkušených uživatelů rozbít software sami.

Specifickým příkladem této techniky je crack, který odstraní dobu vypršení platnosti z časově omezené zkoušky aplikace. Tyto trhliny jsou obvykle programy, které mění spustitelný program a někdy jsou propojeny s aplikací .dll nebo .so . Podobné trhliny jsou k dispozici pro software, který vyžaduje hardwarový klíč . Společnost může také porušit ochranu proti kopírování programů, které si zakoupila legálně, ale které jsou licencovány na konkrétní hardware, takže nehrozí žádné prostoje kvůli selhání hardwaru (a samozřejmě není nutné omezovat se na provozování softwaru) pouze na zakoupeném hardwaru).

Další metodou je použití speciálního softwaru, jako je CloneCD, ke skenování pro použití komerční aplikace na ochranu proti kopírování. Po zjištění softwaru používaného k ochraně aplikace lze k odstranění ochrany proti kopírování ze softwaru na disku CD nebo DVD použít jiný nástroj . To může umožnit jinému programu, jako je Alcohol 120% , CloneDVD , Game Jackal nebo Daemon Tools , kopírovat chráněný software na pevný disk uživatele. Mezi populární aplikace na ochranu proti kopírování, které lze skenovat, patří SafeDisc a StarForce.

V jiných případech může být možné dekompilovat program za účelem získání přístupu k původnímu zdrojovému kódu nebo kódu na úrovni vyšší než strojový kód . To je často možné u skriptovacích jazyků a jazyků využívajících kompilaci JIT . Příkladem je praskání (nebo ladění) na platformě .NET, kde by člověk mohl zvážit manipulaci s CIL, aby dosáhl svých potřeb. Bajtový kód Javy také funguje podobným způsobem, ve kterém existuje přechodný jazyk před tím, než je program zkompilován tak, aby běžel na strojově závislém kódu platformy .

Pokročilé reverzní inženýrství pro ochrany jako SecuROM , SafeDisc , StarForce nebo Denuvo vyžaduje cracker nebo mnoho crackerů, aby strávili mnohem více času studováním ochrany, případně vyhledáním každé chyby v ochranném kódu a poté kódováním vlastních nástrojů k „rozbalení“ ochrana automaticky ze spustitelných (.EXE) a knihovních (.dll) souborů.

Na internetu existuje řada stránek, které umožňují uživatelům stahovat trhliny vytvořené warez skupinami pro populární hry a aplikace (i když s nebezpečím získání škodlivého softwaru, který je někdy distribuován prostřednictvím takových stránek). Přestože tyto trhliny používají legální kupující softwaru, mohou je používat také lidé, kteří si stáhli nebo jinak získali neautorizované kopie (často prostřednictvím sítí P2P ).

Zkušební reset

Mnoho komerčních programů, které lze stáhnout z internetu, má zkušební dobu (často 30 dní) a je nutné ji po jejím uplynutí zaregistrovat (tj. Koupit), pokud je chce uživatel nadále používat. Chcete -li resetovat zkušební dobu, položky registru a/nebo skryté soubory, které obsahují informace o zkušební době, se upraví a/nebo odstraní. Za tímto účelem crackery vyvíjejí „ zkušební resetery “ pro konkrétní program nebo někdy také pro skupinu programů stejného výrobce.
Způsob, jak omezit atraktivitu zkušebních resetů, je omezení softwaru během zkušebního období (např. Některé funkce jsou k dispozici pouze v registrované verzi; obrázky/videa/kopie vytvořené pomocí programu získají vodoznak ; program běží pouze 10 –20 minut a poté se automaticky zavře). Některé programy mají neomezenou zkušební dobu, ale jsou omezené až do jejich registrace.

Viz také

Reference