Softwarové hackování

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 10. července 2022; kontroly vyžadují 12 úprav .

Hacking software ( angl.  software cracking ) - akce zaměřené na odstranění ochrany softwaru (softwaru), vestavěné vývojáři k omezení funkčnosti. To je nezbytné pro stimulaci nákupu takového proprietárního softwaru, po kterém budou omezení zrušena.

Crack (také zdeformovaný crack a extrémně vzácně crack ) ( anglicky  crack ) je program , který umožňuje crackovat software. Zpravidla je crack vhodný pro hromadné použití. Ve skutečnosti je crack ztělesněním jednoho z typů hackování , často je to běžný patch .

Pro slovo crack se používají tyto eufemismy : „droga“, „tabletka“, „aspirin“ atd. [1] Cracker (též zkomoleně cracker ) ( anglicky  cracker ) je člověk, který vytváří trhliny.

Typy hackování

Téměř každý hack spočívá v použití jedné z následujících metod:

Při hackování komplexních ochran a také v případě potřeby pro dosažení maximálního účinku se používá kombinace výše uvedených metod. Ve vzácných případech se to stane, když cracker není dostatečně kvalifikovaný.

Tento seznam není vyčerpávající, ale uvádí pouze nejběžnější metody hackování.

Typ hackování je ve většině případů určen typem ochrany . Pro některé ochrany je možné použít různé druhy hackování, pro jiné - metoda může být jediná.

Principy hackování

Práce crackera je zpravidla založena na studiu kódu assembleru , získaného ze strojových instrukcí pomocí programu disassembler speciálně k tomu určeného . V závislosti na zvolené metodě hackování lze výsledek výzkumu použít například k sestavení generátoru klíčů nebo k provedení nezbytných změn ve spustitelném souboru . Druhá metoda je ve většině případů nejjednodušší, protože nevyžaduje učení algoritmu pro kontrolu správnosti klíče: hackování často spočívá v nalezení testu pro několik podmínek (jako „InputNumber se rovná Referenčnímu číslu?“) a nahrazení takového podmínku s nepodmíněným skokem ( goto, jmp), nebo méně často na opačnou (tj. pro tento příklad na „Zadané číslo se nerovná referenčnímu číslu?“).

Kromě toho lze provést změny ve spustitelném souboru ( patch ), aby se zakázaly nežádoucí akce ze strany programu (například připomenutí nutnosti registrace), aby se snížila funkčnost programu. V těchto případech jsou odpovídající instrukce do procesoru často nahrazeny byty s hodnotou 90h (v hexadecimálním zápisu ), což odpovídá instrukci assemblerunop ( n o o operace ), tedy „prázdné instrukci“, která nic nedělá. Pokud existuje mnoho takových příkazů, pak se použije nepodmíněný skok (přeskakování zbytečného kódu). Je také možné rozšířit možnosti programu napsáním dalšího kódu, ale zpravidla je to příliš pracný proces, který neospravedlňuje vynaložený čas.

Mezitím je možná oprava zpravidla v případě, že spustitelný soubor programu není chráněn speciálními „packery“ a „ochranáři“ - programy, které skrývají skutečný kód spustitelného souboru. U posledně jmenovaného typu programů se často používá nejinteligentnější část reverzního inženýrství – zkoumání programového kódu pomocí debuggeru a vytvoření generátoru klíčů, ale možná jsou i jiná řešení, například vytvoření bootloaderu (viz výše).  

Právní aspekty činnosti

Skutečnost hackování je velmi obtížné prokázat: uživatelská dohoda zpravidla zakazuje dekompilaci programu a zákon zakazuje vytváření a distribuci výsledku takové práce. Dekompilovaný text produktu lze však na konci práce snadno zničit a výsledek práce lze distribuovat prostřednictvím zabezpečených kanálů a umístit na server hostovaný v zemi s liberálnějšími zákony. Sítě pro sdílení souborů také pomáhají šířit crackery , protože ve většině z nich je extrémně obtížné najít původní zdroj souboru a je zcela nemožné zničit všechny jeho kopie.

Viz také

Poznámky

  1. Khaidarova V.F. Stručný slovník internetového jazyka / ed. S. G. Šulezhková. - 2. vyd. - M. : Flinta, 2013. - S. 132-133. — 326 s. - 1000 výtisků.  - ISBN 978-5-9765-1187-3 .
  2. Brian Warner. co je crack?  // Počítačové noviny: noviny. - Minsk, 2009. - 11. července.

Odkazy