Portál AbcLinuxu, 13. května 2025 23:54

Dotaz: Proč se kompilují kódy

26.4.2015 15:32 Petr Strom
Proč se kompilují kódy
Přečteno: 374×
Odpovědět | Admin
Ahoj. Poradí někdo, proč kompilovat kód ? na každý programovací jazyk existuje dekompilace. Může ho tedy kdokoliv komukoliv ukrást. Ve finále ještě zloděj zažaluje skutečného autora kódu, že mu ho ukradl. Děkuji za objasnění
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 26.4.2015 15:51 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Proč se kompilují kódy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ne, kompilace fakt není o tom, aby se v programu nikdo nevyznal. Nativní kód běží mnohem rychleji než kdyby se to interpretovalo.
26.4.2015 16:03 Petr Strom
Rozbalit Rozbalit vše Re: Proč se kompilují kódy
Aha, díky moc. A co slouží k tomu, aby se v programu nikdo nevyznal ? děkuji
26.4.2015 16:12 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Proč se kompilují kódy
Obfuskace.
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
26.4.2015 16:13 Nobody
Rozbalit Rozbalit vše Re: Proč se kompilují kódy
Java.
26.4.2015 16:20 Kit | skóre: 45 | Brno
Rozbalit Rozbalit vše Re: Proč se kompilují kódy
Samotná Java na obfuskaci nestačí. Musíš do ní nacpat ještě gettery a settery...
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Max avatar 26.4.2015 16:25 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Proč se kompilují kódy
Pokud chceš, aby tvůj program / strojový kód byl těžko rozlousknutelný, tak do něj musíš vložit obezličky, které strojový kód více znečitelňují, resp. zvyšují obtížnost dekompilace. V pokročilých fázích se i dělá to, že části strojového kódu máš zašifrovány. Vše jsou to jen věci, který zvyšují náročnost, nikdy to není tak, že by 100% bylo zabráněno vydolování čitelných informací.
Zdar Max
Měl jsem sen ... :(
Max avatar 26.4.2015 16:20 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Proč se kompilují kódy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ano, existuje dekompilace, ale věz, že v mnoha případech ti z toho vypadne nepoužitelný a nefunkční hnus, ve kterém se nevyznáš. Na jedné straně máš zdrojový kód s komentáři, pěkně čitelný a strukturovaný, který zkompiluješ a máš z něj strojový kód, který běží rychle a efektivně. Když ho budeš chtít dekompilovat, tak máš problém. Když by se ti to nějak podařilo, tak to není 100% a bude to hlavně těžko čitelný.
Některé jazyky jdou relativně dobře dekompilovat, třeba taková java, která se překládá do bytekódu, který je následně spouštěn runtimem (jre).
S takový C/C++ to není úplně nejlehčí.
Proto existuje odvětví, které se zabývá dolováním čitelných informací ze strojového kódu. Tomuto odvětví se říká reverzní inženýrství a v mnoha státech je právně vymahatelné(legálně jej nemůžeš dělat pokud to ten produkt zakazuje). Proto se to pak řeší tak, že když chceš být kompatibilní s nějakým produktem a potřebuješ z něj vydolovavt nějaký info, tak reverzní inženýrství provede jiná skupina v jiném státě, která na základě toho sepíše dokumentaci a první skupina na základě sepsané dokumentace vytvoří kód.
Vypadá to jednoduše, ale je to šílenost a lidi zabývající se reverzním inženýrstvím jsou borci.
Zdar Max
Měl jsem sen ... :(
26.4.2015 16:27 ivan
Rozbalit Rozbalit vše Re: Proč se kompilují kódy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tohle vypada jako by snad byl svet plny zlych hackeru, kteri cele noci sni o tom, jak nekomu ukradnou nejake zdrojaky. Ve skutecnosti je to tak, ze drtiva vetsina zdrojaku za ukradeni ani nestoji a jejich dekompilace je jen ztrata casu. Ono je mnohem jednodussi napsat neco na zelene louce nez louskat nejaky asm.

Nejvice se ztraty zdrojaku boji noobove, kteri napsali svuj prvni e-shop v PHP.
Jendа avatar 26.4.2015 21:13 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Proč se kompilují kódy
Tohle vypada jako by snad byl svet plny zlych hackeru, kteri cele noci sni o tom, jak nekomu ukradnou nejake zdrojaky. Ve skutecnosti je to tak, ze drtiva vetsina zdrojaku za ukradeni ani nestoji a jejich dekompilace je jen ztrata casu.
Za reverzování většinou stojí zdrojáky k ochraně proti kopírování u komerčního software (pak předpokládám že se autor nebude ptát v poradně na AbcLinuxu) nebo špatně navržená kryptografie, kde se autor snaží obfuskací ukrýt prasárny jako slabý algoritmus nebo sdílený klíč mezi všemi zařízeními (a pak zase není řešením skrývání ale oprava toho primárního problému).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.