0:00:20 | takže pánové je čas na další přednášku a já se zeptám víte jak získat trávu |
---|
0:00:26 | hamburgeru |
---|
0:00:28 | to nám přišel vysvětlit petr zemek který tady studuje na sítku nad prvkem studiu zároveň |
---|
0:00:34 | proces a tak je technolo číst a tady na fickou je členem skupiny která dohromady |
---|
0:00:40 | a belgickém pracují na |
---|
0:00:43 | generickém by kompilátoru |
---|
0:00:45 | já si to co dělá tu krávu sto hamburgrů že jo |
---|
0:00:48 | no a jejich cíli my vytvořit generické řeším pro ty kompilace binárního kódu pro rozličné |
---|
0:00:53 | platformy já to chápu tak že chtějí něco aby mohli s původní krávy získat jaký |
---|
0:01:00 | ne |
---|
0:01:00 | původní krát získat jakýkoli ho model |
---|
0:01:04 | řekli restauraci |
---|
0:01:06 | možná |
---|
0:01:07 | a to především za účelem analýzy škodlivého softwaru kterými spíš veřejnýho more |
---|
0:01:12 | jeho přednášky letím úvodem do tématu rekompilace popisem strastí a proto si tohoto přístupu a |
---|
0:01:18 | představení vyvíjeného nástroje tříd se prosím potvrzenka |
---|
0:01:30 | takže děkuju závod |
---|
0:01:32 | jak je odpoledne pojmenuj je už bylo řečeno je teprve make a já vlastní tam |
---|
0:01:36 | máme prezentaci teda bude plná kraviček |
---|
0:01:40 | a něco málo už nebylo řečeno tady kterého zmiňovaný že mu nebo na orientace tím |
---|
0:01:46 | se zabýváme matematika potom programování zpětné inženýrství a jako paní řadě také operační systémy |
---|
0:01:53 | a co se týče kompilátoru to je to očima dneska budu povídat ta tím se |
---|
0:01:57 | zabývá mušce tím rokem |
---|
0:02:00 | ta nás teda dneska čeká anemie tak prvé řadě si se podíváme aby se sjednotily |
---|
0:02:04 | terminologií foto tady kompilace vlastně |
---|
0:02:07 | další částí se podíváme k čemu to je dobre |
---|
0:02:10 | a následně abychom pochopili všechny strasti a propastí tohoto postupu tak se musíme podíváte funguje |
---|
0:02:17 | překlad a to za informace při něm ztrácíme |
---|
0:02:20 | následně se seznámíme se kompilátorem který vyvíjíme a formy nám vyjde část se mrkneme normálně |
---|
0:02:25 | kompilační službu vy si můžete nesem prohlížečích rekompilaci zkoušet na vlastní kůži |
---|
0:02:31 | a to patrna je tady kompilace zrušte se určitě všichni setkali s pojmem překlad neboli |
---|
0:02:36 | kompilace vy máte zdrojový kód chcete z něho vytvořit soubor který je pochopitelný pro danou |
---|
0:02:42 | architekturu |
---|
0:02:43 | to znamená například máte céčkový zdra a vytvoříte toho překladem binárku pro architekturu intel I |
---|
0:02:49 | zase metače kterou si potom můžete pouště na vaše věta disku distribuovaly mezi vaše kamarády |
---|
0:02:55 | případě fí prodávat |
---|
0:02:57 | kde kompilace neboli zpětný překlad to je postup opačný to znamená my na vstupu nemáme |
---|
0:03:02 | ten zdroják ale máme tu vypočtenou binárku |
---|
0:03:05 | a co my se snažíme je získá toho zdrojový kód který se blíží tomu původnímu |
---|
0:03:11 | ze kterého ta binar sazba |
---|
0:03:13 | se tady důležité si uvědomit tak je fakt že téměř nikdy nejste schopni získat ten |
---|
0:03:18 | původní zdra |
---|
0:03:19 | protože těch informací které tam ztratíte během překladu je opravdu mnoho |
---|
0:03:23 | takže to co vy získáte se to může podobat |
---|
0:03:26 | ale nebude to téměř nikdy to stejné že to je třeba v radovan těmi se |
---|
0:03:31 | nesnažíme získat úplně ten původní brát tady možné naprosto |
---|
0:03:34 | ale snažíme získat něco co je ekvivalentní původnímu drát |
---|
0:03:40 | tak čemu to je dobude |
---|
0:03:42 | jo |
---|
0:03:43 | záleží na tom kolik bity s tím se teda práce |
---|
0:03:47 | polka mototechnu dívat pokuď to chcete pouze použít jako pomůcku pro analýzu tak je tam |
---|
0:03:52 | práce ale pokud tím chcete udělat něco dalšího tak bude třeba nějaké manuální činností které |
---|
0:03:57 | mám ten výstup stačí |
---|
0:03:59 | pokud se týče analýzy tak tam je |
---|
0:04:03 | klasický zpětné inženýrství to znamená máte nějaký program třeba konkurence a se běžící tak to |
---|
0:04:08 | dělají že sou tak rychlí tak je tam používají algoritmy a tak dále tomu se |
---|
0:04:12 | může hodit rekompilace |
---|
0:04:14 | další co je možné pro vazby kompilací tak jeho daní chyba zranitelnost |
---|
0:04:18 | když sice můžete si chyby hledat na úrovni bráchu máte třeba nějaký opensource projekt |
---|
0:04:23 | ale silnými nezatančíte žiješ cenzura opravdu je to co je potom tedy na nebo chování |
---|
0:04:29 | totiž překlad vám to může optimalizovat může vám tam vyhodí nějaké volání tady důležité z |
---|
0:04:34 | hlediska vašeho algoritmu a ten překladač to vyhodnotí že tam úplně k ničemu ale můžete |
---|
0:04:38 | mi vranickou třeba že generujete vítězně jasnějším tak entropii nebo něco podobného |
---|
0:04:44 | řekli že potom byste tam intenzitu bylo zpětně přeložitelný tak se to dá využít co |
---|
0:04:49 | může máte program který to by si napsaný a ztratili sto něho strach |
---|
0:04:53 | kdybyste chtěli na tento pro program nějak namazat a rozšířit o takže můžete použít kompilaci |
---|
0:04:59 | získáte zdra ten si upravíte aby byl přeložitelný a můžete do něho přidávat nové vlastnosti |
---|
0:05:06 | nebo se to může hodit portování znát máte aplikační pro nějakou architekturu aby byste to |
---|
0:05:11 | chtěli rozjet třeba na vaše mobilním telefonu na ten běží ano |
---|
0:05:14 | tak to můžete rekompilovat upravit toto nebude přeložitelné přeloží do pro R a můžete teče |
---|
0:05:20 | a ke všemu tomuto se hodí rekompilace |
---|
0:05:25 | jo někdo by mohl namítnout ale že to bylo řešeno složenou podobě takzvaného bit asembleru |
---|
0:05:30 | který mám toho binárního souboru získá textový výstup bitu textově instrukce které se mně nachází |
---|
0:05:37 | a jakási určitě tušíte tak ten výstup z asembleru je to podle jen mi |
---|
0:05:41 | za druhé přenositelný to znamená když máte asembler proud osumdesát česku tak nárnímu tím od |
---|
0:05:46 | zahrajete |
---|
0:05:47 | opakující se že jo to tam vidíte na silných i mám jo může to tam |
---|
0:05:52 | provést nějakou úpravu allen opačném to že se splaťte té protože to je opravdu nízká |
---|
0:05:56 | úroveň a vyžaduje to speciální znalosti o té dané architektuře a instrukční sadě nula u |
---|
0:06:01 | se mužští říkal že se to opakuje všechno |
---|
0:06:03 | i když teda je fakt že někteří ten asembler milují ale tady na něho dopustit |
---|
0:06:08 | my se ovšem budeme pohybovat na daleko vyšší úrovni ne že právě tento asembler a |
---|
0:06:13 | by se budeme pohybovat na úrovni |
---|
0:06:15 | vysoké úrovně na úrovni céčka řekněme |
---|
0:06:20 | a my se kouknem na to jak funguje překlad a to za informace se něco |
---|
0:06:24 | týkají a operacím takže na začátku máme nějaký práh můžeme si představit že to je |
---|
0:06:30 | soubor modul teďka se ve kterém je jedna funkce která vrací odpověď na víte to |
---|
0:06:37 | a von ten překladač tím udělat tak prvé řadě tam dojde k nějakému procesy ten |
---|
0:06:43 | procesor vezme a třeba když máte include i tak nahradí obsah těch souborů zapíchnu kdy |
---|
0:06:49 | zbavíte tom drátu komentářů odstraní zbytečná prázdná místa a tak dále aby ulehčilo tím další |
---|
0:06:56 | částem práci |
---|
0:06:57 | jo takže už na této úrovni ztrácíme komentáře pracuje další věci |
---|
0:07:02 | dále následuje tak zvaná lexikální analýza která má za úkol ten zdrojový kód rozkouskována ná |
---|
0:07:09 | tak zvané s okny které reprezentují lexikální jednotky tom program takže když se mrkneme na |
---|
0:07:14 | tu ukázku tak tam máme třeba token integer i to že klíčové slovo pak tam |
---|
0:07:19 | máme koupím I D který má sobě atribut že jednal identifikátor o tom na to |
---|
0:07:25 | naše funkce |
---|
0:07:26 | dalo tamto závorky a tak dále |
---|
0:07:28 | takže to má za úkol lexikální analýza a produkuje právě seznam tyto tu |
---|
0:07:33 | následovat nejdůležitější část to je syntaktická a sémantická analýza |
---|
0:07:37 | její úkoly je zjistit zda ten seznam kouknu který máte je správný z hlediska struktury |
---|
0:07:44 | a ta tam sedí typy |
---|
0:07:46 | to znamená například céčku že když máte if a potom musí být otevírací závorka podmínka |
---|
0:07:51 | ukončující závorka a tak dále |
---|
0:07:54 | také se tam kontroluje jestli všechny proměnné které sme použili byly deklarované a ta tam |
---|
0:07:59 | sedí typy operací nejsou tam třeba nějak explicitní přetypování |
---|
0:08:03 | jo to je výsledkem tak je vnitřní reprezentace je kterou to bude dále pracovat to |
---|
0:08:08 | může být nějaký tříadresový kód nebo jak to máme tady tak abstraktní syntaktický strom |
---|
0:08:16 | potom se vezme tento abstraktní syntaktický strom a pro že nesou optimalizátor |
---|
0:08:22 | to znamená ten provede takové optimalizace které jsou většinou jazykově nezávislé jako v tomto případě |
---|
0:08:28 | když máme sčítání čtyrycet a dva to můžeme provést a překlad moc za překladu bychom |
---|
0:08:33 | to nemuseli pořád vyhodnocovat protože odpověď bude pořád ta stejná čtyrycet dva |
---|
0:08:37 | tak ten optimalizátor to vezme asi malíře to a dostaneme toto máme tady |
---|
0:08:42 | no poslední část následujícího domanického obchodu vezmeme se to vnitřní reprezentaci a získáme zní binar |
---|
0:08:50 | schválně si poznáte |
---|
0:08:51 | o to tam mám těch čísílek toto je záporná souboru |
---|
0:08:57 | která vás |
---|
0:09:00 | jo výborně spešov on tady L D to poznat těch prvních čísel sedum sto čtyrycet |
---|
0:09:05 | čtyry to čtyři šest kdy to je takle nemanické číslo tohoto formátu souboru když se |
---|
0:09:09 | podíváte do vlastně tabulky tak čtyrycet pět je F čtyrycet čtyry fail čtyři že je |
---|
0:09:14 | pouze hexadecimálně |
---|
0:09:17 | tak když se na to podíváme přesně jak říkám zná získáme si toho jsem byl |
---|
0:09:22 | disku v asembleru tak tam vidíme je tam ten překladač přeložil to znamená je tam |
---|
0:09:26 | nějak pro o tom tyto registrů nahrajeme tu tíhovou hodnotu a vrátili |
---|
0:09:33 | tímto způsobem sme si získali tak zvaný objektový soubor po provedeme pro všechny naše ztráty |
---|
0:09:39 | a to potom my musíme vzít tak je všechny ty soubory seskupí dohromady případě k |
---|
0:09:43 | tomu při linkovat další knihovnice matematickou knihovnu a tak dále |
---|
0:09:47 | a získáme spustitelný program |
---|
0:09:49 | tady sem dokázal kousek bit asembleru kde takže vynechány asi osumdesát řádku a on se |
---|
0:09:56 | dobře sledovali tak tam můžete rozpozná že se tam nachází ta naše funkce a od |
---|
0:10:01 | není je main který volat o funkci |
---|
0:10:03 | jo takže je vidět že už tam nevidíme kde tam ty funkce začínají kde tam |
---|
0:10:07 | končí jo toto informaci tam nemáme |
---|
0:10:11 | a spoustu dalších jo to byla samozřejmě nově ducha ukázka abyste věděli co to |
---|
0:10:15 | jak to funguje |
---|
0:10:17 | a teď se podíváme protože to taková složka prekompilace a proč stojí za to |
---|
0:10:22 | protože to opravdu marcela nič takzvaně |
---|
0:10:24 | a že zaprvé ztrácíme tak důležité informace |
---|
0:10:27 | jo už tam nemáme komentáře direktivy a tak dále |
---|
0:10:31 | když tamchyna musí být typy jo strukturu tam neuvidíte a my se tam uvidíte takto |
---|
0:10:35 | pouze čísla jo číslo a je tam někde nerozeznáte do ukazatele se číslo |
---|
0:10:42 | konstanta lechtivý takto vysokoúrovňové konstrukce ten for cyklus který se říká napsali je rozdělen do |
---|
0:10:48 | nějakých porovnání adam |
---|
0:10:49 | jo ten taktéž i příkazy nebo switche ty můžou být taky do generovány do nějaký |
---|
0:10:54 | posloupností porovnání adámků |
---|
0:10:57 | a samozřejmě sázíme jména proměnných můžeme ztratíme na funkcí symbolických konstant |
---|
0:11:03 | dále no problém které se tam objevují je nerozhodnutelný |
---|
0:11:07 | to znamená dejme tomu že já bych vám know how ucho vytvořte i program kterému |
---|
0:11:11 | když předhodím binárku |
---|
0:11:13 | tak jezdí získal informaci která část sou data a která časy kout |
---|
0:11:18 | tak bylo matematicky dokázané že takovýto programy sestrojit |
---|
0:11:22 | ne jako ne že by se to nebyly třeba schopni nebo jako teď se na |
---|
0:11:26 | to byly hloupý a za deset let jo to někdo dokáže ale bylo matematicky dokázáno |
---|
0:11:30 | že takový program nikdo nikdy ne sestrojí |
---|
0:11:33 | ale ti co zmást viděli teoretickou informatiku neboj měli ten předmět tak se asi slyšeli |
---|
0:11:37 | o problému nastavení turingova stroje a lze ukázat že ten problém je ekvivalentní tomuto problém |
---|
0:11:43 | proč protože abyste získali opravdu správnou odpověď takto případy kdy ten program prostě musíte spustit |
---|
0:11:48 | ani vacek samotná paměti a jestli to interpretuje jako data nebo jako ale pak ten |
---|
0:11:53 | program nemusí nikdy skončit a třeba neudržíte výsledek |
---|
0:11:57 | ale my třeba nevíte jestli program opravdu něco počítá nebo za to cykly |
---|
0:12:01 | takže tom je ten problém |
---|
0:12:03 | jsou tam různé nízkoúrovňové operace |
---|
0:12:06 | třeba registr příznaků který modifikují rozplyne operace nebo když máte na šedesáti čtyřbytovém systému registr |
---|
0:12:12 | ráj tak ten je složen z mnoha pod registru jo je I a tak dále |
---|
0:12:17 | co tam nepříme skoky je taky problém se ten se třeba vypořádat |
---|
0:12:22 | ten zdrojový kód mohou by obtiskovány |
---|
0:12:25 | jak |
---|
0:12:26 | právě na úrovni toho zdrojového kódu nebo tak potom na úrovni binárního kódu váš mohou |
---|
0:12:30 | tam být přidá nějakým geekovo |
---|
0:12:32 | o změněno chování a tak dále takže směsi taky třeba vypořádat |
---|
0:12:37 | naší problém může být tak zvaný peking dinárech |
---|
0:12:40 | kdy vy vezmete vaši binárku |
---|
0:12:44 | vezmete jiný program který vám komprimuje přidá na začátek té komprimované verze nějakou rutinu která |
---|
0:12:50 | vám spuštění dekom P |
---|
0:12:52 | D a F depku je opakuje ten binárku a potom místností takže by potom nechcete |
---|
0:12:58 | rekompilovat tady ten tady ten zabalený kotálí chcete ten rozbalený takže vy musíte zjistit co |
---|
0:13:04 | to bylo za pater a komatu |
---|
0:13:08 | no a pak kategorie sama o sobě je škodlivý software neboli narrower který nedodržuje žádné |
---|
0:13:12 | konvence které souběžnému se dělal opravdu to chce a velmi málo informací něm o poskytnuto |
---|
0:13:20 | když potom na to půjdeme z ne úrovně tak pokud bychom chtěli dělat generickou rekompilaci |
---|
0:13:25 | znamená nebyly bychom zaměření třeba je najít osumdesát šest úkoly chtěli jiné architektury |
---|
0:13:30 | tak potom nastane problém z těch architektury hrozně moc |
---|
0:13:33 | dále i mají různé instrukční sady můžou mít divnou to by tomu šířku nám to |
---|
0:13:40 | tam i celého třiceti dvou bitové registry šedesáti čtyř bitové různá indiánech a tady to |
---|
0:13:45 | by floating point a může tam být nemusí být |
---|
0:13:48 | jsou samozřejmě různé verze rozšíření třeba access vemem X nejsme skáčete a tak dále |
---|
0:13:55 | tím jdou spolu i různá rozhraní na například volací konvence |
---|
0:13:59 | jak předáváte parametry do funkce žena máte tři zásobník nebo jinde před paměť nebo přes |
---|
0:14:04 | registry teď předá máte zleva doprava nebo zprava doleva do je potom toho zásobník uvolňuje |
---|
0:14:10 | volající volaný jak vracíte výsledky funkce to se mnou novější a může to být různým |
---|
0:14:15 | způsobem a také je tam mnoho způsobuje něco udělat se podíváte na ten na tu |
---|
0:14:20 | ukázku tak je to asi kdo knesla česky intelovská syntaxe |
---|
0:14:24 | a je tam ukázáno se způsobuje vynulovat registr |
---|
0:14:28 | samozřejmě toto je triviální ukázka ale těch různým způsobem něco udělá to její u jiných |
---|
0:14:33 | jo a celým tím volání funkcí a tak dále |
---|
0:14:39 | no a samozřejmě máme tady různé souborové formáty a ukousne viděli atom téčko to je |
---|
0:14:44 | na windowsech anebo macho námitku |
---|
0:14:49 | dále máme acho programovacích jazyků jo nejenom céčko nejenom teďka můžete překládat novinářky ale můžete |
---|
0:14:56 | říkali z jiných jazyků |
---|
0:14:58 | teď pro každý ten překládáš máme různé typy optimalizací tady je třeba vidím něco pro |
---|
0:15:03 | vědce teďko |
---|
0:15:04 | a to jsou pouze parametry které má specifikují které přesně optimalizace se mají provést vy |
---|
0:15:09 | si můžete připravit máš vlastním X optimalizací a ten může být něčem unikátní |
---|
0:15:14 | a každý z nich může vyprodukovat naprosto jiný binární o |
---|
0:15:19 | to je dále zajímavého takto instrukcí idiom i ten překladač |
---|
0:15:23 | aby například ten výstup byl rychlejší se může provést některé úpravy na úrovni instrukcí |
---|
0:15:28 | to co by asi všichni znáte z asembleru je že když máte tady násobení čtyřkou |
---|
0:15:32 | takto můžete transformována bitový posuv logický doleva o dva bity |
---|
0:15:36 | to že zajímavější je třeba když máte modul o tak překládky můžou dělat něco takového |
---|
0:15:41 | tam vidíte a kdyby se ukázaly tu pravou stranu uživatel internetu bude koukat jak se |
---|
0:15:46 | to má být jo přitom je to jednoduchému důvodem |
---|
0:15:49 | takže s tím že se třeba vypořádávat tu pravou stranou korektně nahradit zpátky za to |
---|
0:15:53 | co to bylo |
---|
0:15:55 | bohužel to není všechno a je tam daleko více problémů a nezbývá mi už na |
---|
0:15:59 | ně moc času takže bude muset signál |
---|
0:16:02 | tak teď nastává teda otázka jestli je to opravdu tak jako bychom měli získávat krámů |
---|
0:16:08 | z hovězího hamburgrů jo tam máte kousek masíčka ten kousek masíčka mohl odpovídá tisícům různých |
---|
0:16:14 | důkaz |
---|
0:16:16 | no ale kdybychom tady kdybych když tady dneska se mužstev to asi tak nebude takže |
---|
0:16:21 | možná přece jenom bude nějaká naděje proto získat a budu zpátky tu krabičku |
---|
0:16:26 | a nejede si způsobem se podíváme |
---|
0:16:29 | a já jsem člen týmu který se zabývá vývojem se kompilátoru je to projekt lissom |
---|
0:16:34 | a naším cílem je vytvořit tak zvaný generický zpětný překladač |
---|
0:16:38 | poznamenám se nepodporovat různé architektury různé souborové formáty různé programovací jazyky různé překladače a tak |
---|
0:16:45 | dále |
---|
0:16:46 | a naším cílem je aby ten výstup bylo pro uživatele uniformní to znamená aniž to |
---|
0:16:51 | bylo by nastavení intel I osumdesát šest nebo pro R o bude mít výstup céčku |
---|
0:16:56 | které většinou do března a jestli seznámen a nebude sem se zabývá technickými detaily |
---|
0:17:02 | a na vstupu co my budeme ni a budeme mít binárku |
---|
0:17:06 | a o to je P teda nebo formy |
---|
0:17:10 | co se týče tady nároky tak mi aktuálně podporujeme architekturu intel osumdesát šest ve třiceti |
---|
0:17:14 | dvou bitové verzi R oběma nízkosti rozšířeními tam jedna dva a potom bit |
---|
0:17:21 | co se týče souborových formátů traktory podporujeme alfa a péčko služ je většina |
---|
0:17:27 | a podchodem na aplikace napsané sečku případně asembleru |
---|
0:17:32 | co se týče té druhé části teďka o tom budu mluvit chvilku ale je potřeba |
---|
0:17:36 | fráze kompilátor specifikovat detaily teda ne architektury abychom tím byli schopni pracovat |
---|
0:17:42 | no a na výstupu máme za prvé uniformy výstup |
---|
0:17:45 | buď tečku nebo v jakémsi jazyce který se podobá faníku |
---|
0:17:49 | dále máme jako by výstupy z asembleru |
---|
0:17:52 | do podobné ste viděli kázané grafické reprezentace například graf volání nebo graf toku řízení jak |
---|
0:17:59 | tam probublává to programu a různé statistiky |
---|
0:18:05 | načti vývojářů je veden obecnou a jsem kolářem jádro našeho týmu tvoří jakou koutek takže |
---|
0:18:12 | ty na ja a zejtra na dále máme ve skupině mnoho diplomant voba plánů právě |
---|
0:18:19 | z naší fakulty kteří nám pomáhají realizovat tento cíl a vypracovávají mám otázka oulet |
---|
0:18:27 | poďme se ten omrknou na to jak vypadá ten funkce toho našeho chcete o překladače |
---|
0:18:31 | neboj udělat |
---|
0:18:32 | takže na vstupu jak sem říkal a ne binárku |
---|
0:18:36 | sami si uděláme mít detekujeme co to je formát o jestli to je gauss nebo |
---|
0:18:40 | je to péčku a snažíme se taky detekovat použity překladač |
---|
0:18:44 | protože tím že my známe použity při koláž taková mnoho řekne |
---|
0:18:48 | například kde ste vynásobíte potom entry point kam se při zavedení bude skákat abychom začali |
---|
0:18:53 | proto vykonávat tělo toho programu a další informace |
---|
0:18:59 | pátku my uděláme je že to zkonvertuje menu naše uniformního formátu znamená mise nebudem se |
---|
0:19:04 | zabývat že péčku mainu babičku neříkal ale budeme mínus uniformní formát pro všechny souborové formáty |
---|
0:19:11 | to je jedna strana |
---|
0:19:13 | ta druhá strana jemuž sem zmiňoval my musíme mít popis teda ne architektury |
---|
0:19:18 | to se provede existujícím jazyce isac který je vyvíjený právě v rámci projektu lissom kde |
---|
0:19:23 | vy si popíšete co tam soud architektury za registry jak se tam pracuje s pamětí |
---|
0:19:28 | jaká tam instrukční sada jaké má zakódování a co je nejpodstatnější tak jak se která |
---|
0:19:34 | instrukce chová |
---|
0:19:36 | to znamená že například tam instrukce jako sčítání |
---|
0:19:40 | tak to mě jazyce by namodelujete že se jedná opravdu odčítání klasickém úsečkovém smyslu |
---|
0:19:46 | a tak to by to můžete namodelovat i pro jiné architektury takže co my potom |
---|
0:19:49 | víme je že když se tam to může použít tady to instrukce tak že se |
---|
0:19:54 | jedná se odčítání teď kolem osy |
---|
0:19:57 | takže milušce nemusíme zabývat že se ty instrukce mohou jmenovaní na ty prostě víme jak |
---|
0:20:02 | se chovají se pro nás podstatné |
---|
0:20:04 | a sumy generujem instrukční dekodér který nám schopný zjistím že tato binární data se tato |
---|
0:20:09 | instrukce tato binární data tato instrukce tyto operandy a tak dále |
---|
0:20:15 | a teď už následuje nutilo toho samotného de kompilátoru které ještě navíc může být na |
---|
0:20:20 | vstupu se doplňující informace které pro nás sem něco podstatné |
---|
0:20:24 | to nejprve řadě uděláme je že si to konvertujeme do úrovně nižší reprezentace |
---|
0:20:29 | to si můžete představit jako by výstup by z asembleru podobně jak sem tam ukazoval |
---|
0:20:34 | to znamená my tam máme jednotlivé instrukce a my víme co ty instrukce dělají díme |
---|
0:20:38 | jak jsou za sebou víme jaké tam jsou mezi skoky a to je všechno |
---|
0:20:44 | co myslel toho snažíme získat potom je rozdělení funkcí to znamená například tento bylo instrukcí |
---|
0:20:50 | patří této funkci tento blok instrukci patřičné funkci |
---|
0:20:55 | a tak dále |
---|
0:20:57 | co my následně uděláme je a to za použití systému halovém který možná znáte protože |
---|
0:21:02 | na něm postaven trekovací lan |
---|
0:21:05 | tak využitím tady tohoto systému a jejich vnitřní reprezentace provedeme optimalizaci |
---|
0:21:12 | ta nás to dostaneme se to první části je značně neoptimalizovány tam pro jednu instrukci |
---|
0:21:18 | může být může to být nahrazeno spoustu jiný instrukcí takže co my chceme dělat ten |
---|
0:21:23 | výstup čitelnější kratší |
---|
0:21:26 | takže to uděláme právě této fázi ale pořád sme ještě na velmi nízké úrovni |
---|
0:21:31 | na úrovni toho asembleru |
---|
0:21:33 | a následující fázi které ze označena jako převod do vysokoúrovňové reprezentace a různých detekujeme například |
---|
0:21:39 | furt cykly mail cykly konstrukce i a o i L switche a tak dále |
---|
0:21:46 | a zase spolu snažíme získat něco co bude jazykově nezávisle a už to bude podobnější |
---|
0:21:52 | tom úsečku |
---|
0:21:54 | až to po uděláme tak jsou tam třeba provést další optimalizace |
---|
0:21:58 | tam může být spoustu výrazů ktery nouze jo zkrátit a tak dále |
---|
0:22:03 | a následně dojde k tomu že se viděli výstup znamená tato vnitřní reprezentace se zkonvertuje |
---|
0:22:08 | například teďko nebo na té modifikovaný pak |
---|
0:22:12 | a dostaneme další výstupy |
---|
0:22:15 | tak to bylo ve zkratce řečeno jak to teda jak to funguje |
---|
0:22:19 | poďme se podívat na nějaké příklady že to já si to na čem to pěkně |
---|
0:22:22 | uvidíte ta na jedné straně máme voni kotel na té druhé rekonstruovaný |
---|
0:22:27 | je to jednoduchý příklad protože to bylo toto sem nevlezla slajd |
---|
0:22:31 | takže máme tam jednu funkci která provádí jakési podivné sčítání na zavolaj se tam funkce |
---|
0:22:36 | ransom získáme si dvě čísla a provede tam potom aritmetiku nastane funkce main že si |
---|
0:22:42 | taky získáme kde náhodná čísla podíváme se jestli ačkoli větší byl pokuď ano vidíte metru |
---|
0:22:48 | vypočítáme to naší sumu jak vytiskneme folku počítáme suma vracíme výsledek |
---|
0:22:53 | takže v našem ve kompilovaném kódu tam přibylo tak jen hlavičkový soubor se tady tečka |
---|
0:22:58 | a protože my víme že sme to překládali pro třiceti dvou bitovou architekturu to znamená |
---|
0:23:03 | používáme tam třiceti ubytoven těžili to in třicet dva pro ty roste |
---|
0:23:08 | o těm u té funkce mají sám není mi název tak sme tam dali adresu |
---|
0:23:12 | na které se nachází teda neznáte |
---|
0:23:15 | ty názvy proměnných X Y ty sme tam na generovali proto protože to ohraničitelnější než |
---|
0:23:20 | kdybychom family v R podtržítko petr čtyři dva osum a v R type čtyry šest |
---|
0:23:24 | osum jo to X Y N ohraničitelnější ale neodpovídá to tomu co bylo voni by |
---|
0:23:29 | nás |
---|
0:23:30 | protože to my nevíme o to bylo ztracené |
---|
0:23:32 | no a co se týče mainu tak se na to podíváte ten kód je sice |
---|
0:23:35 | trošičku jiný ale funkčně ekvivalentní s tou k tomu co bylo na vstupu |
---|
0:23:42 | tady ukázka další to jen až osumdesát šest se pro péčku a je to bez |
---|
0:23:46 | optimalizací a tentokrát tam máme k dispozici o nic informace |
---|
0:23:50 | eroze zapnou je že normální pomocí přepínače pomlčka mě minimálně urgence teďka no atomickou sme |
---|
0:23:56 | schopni zjistit a jsme schopni zjistit přesně jméno funkcí |
---|
0:24:01 | kde se ty jsem se nacházely jaké modu v na tomto případě to všechno z |
---|
0:24:05 | modulu test žasl |
---|
0:24:07 | jaký adresový rozsah a jaký je rozsah řádek na kterém se nacházely tom původním zdroják |
---|
0:24:13 | takže mi to sme potom třeba schopni seskupit tak aby to odpovídalo tomu pořadí které |
---|
0:24:17 | bylo buď intra |
---|
0:24:18 | jo toto sme schopni větší |
---|
0:24:20 | dále vidíte že u toho faktoriálu tam máme název parametrů |
---|
0:24:24 | ten se taky výčet vadit informaci |
---|
0:24:28 | potom u té funkce kalkuly taky Á B sme výčet v ladicích informací a mnoho |
---|
0:24:33 | dalších věcí že pokuď se tom výstupu nahází ty ladicí informace tak je neprázdný voda |
---|
0:24:38 | protože my můžeme využít abychom generovali přesnějšího přehlednější po |
---|
0:24:44 | dále co generujeme tam může být graf to řízení ste zase jiný příklad který nám |
---|
0:24:50 | ukazuje jak je tam sou základní bloky a jak mezi nima o se předává řízení |
---|
0:24:57 | další ukázka teďka volání za máme tam musím A a vidíme že unavovat chcete jaké |
---|
0:25:05 | mají stodole a mají slad a ta funkce se volá funkci enum teda není naši |
---|
0:25:11 | finance ale zřejmě je se standardní céčkové knihovny a dále funkci print spol kterou platí |
---|
0:25:16 | totéž takže můžete vidět které tam jsou funkce a jak se mezi sebou navzájem provolávají |
---|
0:25:21 | to může být dobré prohnaný |
---|
0:25:26 | pokuď máme k dispozici ladicí informace tak jsme schopni ten výstup dělat či |
---|
0:25:31 | že my nabízíme které ty funkce byli ve stejné modulu znamená byly na začátku tom |
---|
0:25:36 | drátu propojené |
---|
0:25:38 | a toto zobrazit hodně tomu uživateli aby se to mohou lépe orientovat |
---|
0:25:45 | tak to smetena skončili zkratkami a mrkneme se na to by mohlo zajímat todleto maily |
---|
0:25:50 | kompilační služba |
---|
0:25:54 | no |
---|
0:25:56 | zmrazen |
---|
0:25:59 | a jo fajn vypadá to že to bude fungovat |
---|
0:26:01 | tak |
---|
0:26:02 | to je to naše stránka |
---|
0:26:04 | a my adrese viděli tedy compiler byl cz |
---|
0:26:08 | o to tady máme tak sou novinky se můžete podívat se tam nového který kompilačních |
---|
0:26:14 | pozdě a příští týden připravujeme novou verzi takže tady to byly určitě další novinky |
---|
0:26:19 | kde mám potom zajímaly detaily takto učte podívejte sem D seznam článků které sme publikovali |
---|
0:26:24 | souvislosti jo výzkumem této oblasti |
---|
0:26:28 | kdy vlastně to zaujalo zase neváhejte usmát a případně kdybyste nebyli schopni se na to |
---|
0:26:32 | pdf pro se můžeme domluvit |
---|
0:26:34 | o partnery kontaktu nás zajímá to nás zajímá tak je tady tato stránka si můžete |
---|
0:26:39 | vyzkoušet rekompilaci |
---|
0:26:42 | máte tři možnosti |
---|
0:26:43 | buď si můžete vyzkoušet rekompilovat přímo váš binární soubor tím že ho tam hrajete |
---|
0:26:49 | případně pokuď máte céčkový zdroják slepota můžete nahrát jeho za masce uložíme a ten výstup |
---|
0:26:54 | budeme dekomprimovat |
---|
0:26:56 | no a nejednodušší v našem případě bude když si tady můžete vytvořit vlastní céčkový teďko |
---|
0:27:02 | geekovo tak já tady tam třeba zdar |
---|
0:27:05 | karle |
---|
0:27:08 | můžete si zvolit proto to chcete přeložit jo tady máme třeba L mi sečku úroveň |
---|
0:27:13 | optimalizace při překladu |
---|
0:27:15 | jestli tam cena ladicí informace jestli tam chceme zachovat symboly a pak pouze kliknete na |
---|
0:27:20 | tlačítko rtmp mail |
---|
0:27:21 | tady se vám průběžně ukazuje fáze kterými ten překlad prochází máte tady probes v R |
---|
0:27:27 | vidíte |
---|
0:27:28 | jak daleko to ještě zbývá do cíle |
---|
0:27:32 | a následně tady to výsledky už víme že rekompilace proběhla úspěšně |
---|
0:27:36 | vy si můžete ty výsledky obrazy |
---|
0:27:39 | tady na pravé straně vidíte ten výstup céčku tady vlevo je korespondující výstupy z asembleru |
---|
0:27:45 | když se třeba kliknete na tu funkci main vám to automaticky skočí zde kde jsme |
---|
0:27:50 | identifikovali že my tady vidíte to komentáři a tady máte instrukce které tam byly použijte |
---|
0:27:57 | jo to může sloužit tomu analytikovi taky na příklady sem tam něco nezdá nebo by |
---|
0:28:01 | takto podívat jak to bylo opravdu tom asembleru tak si může přeskočit sem |
---|
0:28:06 | takže vidíme že sme korektně rekultivovali jo ten program čeho si můžete všimnout že jste |
---|
0:28:12 | tam líp info |
---|
0:28:13 | a nám se to stalo nějaké |
---|
0:28:15 | by nám mohlo působit zvláštně ale je to tím že ten překladač který vyděluje a |
---|
0:28:20 | vstupu tam byl řetězec a neměl žádné formátovací značky na to procentíčko D a tak |
---|
0:28:26 | dále a tak to nahradil zapnu C |
---|
0:28:28 | které pouze vezmete řetězec aby slyšel |
---|
0:28:31 | a může to být rychlejší než doplňku |
---|
0:28:35 | tak to tam dále máme tak tady je von graf tam jenom vidět že mi |
---|
0:28:41 | vo typu C zajímavého on trochu brát tady taky nic zajímavého a tady si můžete |
---|
0:28:47 | stáhnout binárku kterou jsme používali |
---|
0:28:52 | tak komisi můžete zkusit pak je tam dál vlastně céčkový to já nebo případně si |
---|
0:28:56 | tady můžete nagenerovat nějaké a vyzkoušet si i rekompilaci |
---|
0:29:03 | tak já teda přepnu se pokusím přepnu zpátky na tu prezentaci |
---|
0:29:08 | takže tohle byla ta našli bychom vloží dva |
---|
0:29:11 | určitě stranickostem mrknout případně na napište co si myslíte jestli vám jestli dva zaujala nebo |
---|
0:29:17 | bychom tam měli něco zlepšit |
---|
0:29:22 | tady přikládám kontakt pro zájemce především za studentů kteří přemýšlí o tom jak obviňovali u |
---|
0:29:28 | bakalářskou nebo diplomovou práci |
---|
0:29:30 | to mi mám nabízíme tak je velmi zajímavé téma |
---|
0:29:34 | velmi obtížné téma a velice perspektivní téma |
---|
0:29:38 | jo takže nečekejte že by se na dělali shop na obchod potom kam a to |
---|
0:29:42 | ne jo bude to náročné od bude to tam za to |
---|
0:29:45 | takže pokuď máte zájem dělal něco zajímavého určitě se nám ozvěte a kontakt byly na |
---|
0:29:50 | slajdu domluvíme se |
---|
0:29:56 | a to by bylo v mojí takže já mám velmi děkuju za pozornost a jsem |
---|
0:29:59 | odráží se tady dneska přišli hojném počtu |
---|
0:30:02 | díky |
---|
0:30:12 | tak já se zeptám aténami otázky ano |
---|
0:30:26 | a takže z drátky k tomu zveřejněny nejsou ten vývoj probíhá zavřeně je to k |
---|
0:30:31 | dispozici pouze přes tu webovou službu |
---|
0:30:34 | podívám zajímaly důvody a tak dále ten můžete na nasát a určitě se mám dostane |
---|
0:30:38 | odpověď zní hodně kompetitivnějšího nejsem v tomhle ohledu je a |
---|
0:30:57 | já bohužel nejsem ve vedení takže nevím jaké mají představy jasny E na řízení |
---|
0:31:03 | ale co se týče třeba studentů tak tam není vůbec žádný problém jsou práci vypracujete |
---|
0:31:08 | odevzdáte ale zveřejňuje se pouze upravená verze |
---|
0:31:12 | kde nejsou řečené některé implementační detaily |
---|
0:31:15 | no ale tohoto pohledu není vůbec žádný problém s tím že byste měli nějaké komplikace |
---|
0:31:19 | případně bakalářskym unk i |
---|
0:31:22 | ano dotaz |
---|
0:31:24 | jako máte úspěšnost řekl registrových kódu X přeložit dekódujete úplně všechno nebo jsou z už |
---|
0:31:30 | nějaký čas které se de kupovat momentálně nedají tak jako moc děkuju za otázku a |
---|
0:31:36 | je to tak záleží na složitosti jo záleží na složitosti a zase tam používají konstrukce |
---|
0:31:41 | které souběžné nebo se něčím vymykají |
---|
0:31:43 | samozřejmě pochodě kombinujeme škodlivý software tak tam se vymyká většinou naprosto všecko protože tvůrci toho |
---|
0:31:49 | škodlivého softwaru vyloženě chtějí abychom nebyli úspěšný tak že se o to snaží všemožnými ochrana |
---|
0:31:54 | mi |
---|
0:31:55 | pokuď ten soubor vyleze překladače který je známý například dětem tečka tak pak máme dost |
---|
0:31:59 | velkou úspěšnost protože se tam používají klasickým konstrukce klasické konvence |
---|
0:32:04 | a tak dále |
---|
0:32:08 | ano |
---|
0:32:08 | že bych hotels když vlastně budu mít nějakou binárku který nebudu nic vědět do se |
---|
0:32:13 | nějak třeba automatizovaně zjistit pro jako Ú podporu může přeloženej |
---|
0:32:19 | tak jdeme řadě třeba bude určitě zajímat tady jaký tam je F souborový formát použity |
---|
0:32:24 | na to můžete na linuxu použít například čili to file |
---|
0:32:28 | nebo případně můžete použít na windows u no tuším prý se to menuje případně další |
---|
0:32:34 | utility které mám zjistí co to je za souborový formát jestli to je teda L |
---|
0:32:39 | nebo jestli to je téčko případně jestli to je úplně nějaký nesmysl načítal audio |
---|
0:32:44 | té první věc která má zajímá poté když víte co to je za souborový formát |
---|
0:32:48 | tak se můžete podívat pomocí utilit typu od těch dám který vám je schopný zase |
---|
0:32:54 | milovat ten výstup a zjistíte si teda jestli se opravdu natolik vektor Á nebo není |
---|
0:32:59 | jo žid architekturu tak pak samozřejmě můžete se pídili po dalších věcech je tam byl |
---|
0:33:03 | použitý překládáš a tak dále jo to všechno řešíme právě našem projektu by se tam |
---|
0:33:09 | používají různé heuristiky a díky který mi to jsme schopni ti jo některých případech pokud |
---|
0:33:15 | si ten uživatel na práci s tím aby toho nečitelné tak je třeba uspoří něco |
---|
0:33:20 | dynamičtější jo |
---|
0:33:24 | já bych hodnot asku na začátku bylo pohoda ne že mě možná by se program |
---|
0:33:30 | a úplně možnost vyšší data úvod |
---|
0:33:33 | pohodu potom sjednané podoby milostiplnostem protože pro bytě po taky ne statickou analyzovat po statický |
---|
0:33:40 | prostě ten binární cot na načtena |
---|
0:33:43 | ten k o na ty slušný program tak šaky sposobom osoby šlechtice data a |
---|
0:33:49 | ten půl překot pět podstatě plně možné |
---|
0:33:53 | tak já možná děkuji za znaku |
---|
0:33:56 | a co bych chtěl a osvětlit tak je že tam musíme tento přitom není možný |
---|
0:34:00 | ve všech případech udělat jo to bylo to co sem říkal že neexistuje program který |
---|
0:34:04 | by vám to zjistil ve všech případech |
---|
0:34:06 | ale dejme tomu že třeba devadesáti procentech nebo devadesáti pěti procentech případů můžete být úspěšný |
---|
0:34:12 | klasickou statickou analýzou |
---|
0:34:14 | jo to zná zjistíte si například je tam jen připojení na kam se skáče po |
---|
0:34:18 | nahrání to program do paměti a odtud můžete začít dekódovat |
---|
0:34:22 | jo a to může třeba fungovat devadesáti pěti procentech případů ani zpět na ten případu |
---|
0:34:27 | bohužel třeba nigin epopeje se |
---|
0:34:29 | jo takže tam je to mi to riziko ale v běžných případů to je možné |
---|
0:34:33 | si to jenom tím způsobem |
---|
0:34:41 | ano některé obchodní případy tímto způsobem nejsou mu není mi není možné dekomprimovat |
---|
0:34:49 | no |
---|
0:34:50 | eště počkejte vám přinesu mikro force slyšet na slidu |
---|
0:35:05 | že krnáč nějaký houfu skovanej zdrojový kód dokáže čeho pro vložit na sprostotu binárku získat |
---|
0:35:11 | P trojku nějaké optimalizovány po to bude |
---|
0:35:15 | a E u té obfuskace tam se většinou mění řekněme třeba identifikátory nebo konstrukce použít |
---|
0:35:22 | nebo se tam vkládá něco navíc nebo se něco mění takže my to budeme schopni |
---|
0:35:27 | získat je zpátky toto skovaný o |
---|
0:35:30 | ale jsou potom potřeba další analýzy které by nám sto kostkované hospodu získali něco třeba |
---|
0:35:36 | ještě před tou tiskací jo protože to obfuskaci vy tam zahnete jako by další úroveň |
---|
0:35:41 | do toho protože vy získat evropu skovaný to ale ještě potom potřeba další analýzy které |
---|
0:35:46 | mám otestované ho kódů jsou schopni získat zpátky ten skovaný o |
---|
0:35:51 | jo i odpověděls na naši otázku |
---|
0:35:56 | ano |
---|
0:36:04 | A abys třeba zatahuje si stanoví kolik céčku S třeba když to napíšu já nevím |
---|
0:36:09 | byli zvykli v něčem jiném stuze taky pěkně do toho céčka třeba dostat |
---|
0:36:14 | jo s tím rizikem sice nejsem jist jestli není interpretovaný ale to je celkem nepodstatném |
---|
0:36:19 | naštípat |
---|
0:36:22 | samozřejmě můžete mít jiné jazyky které mám generují ten asembler |
---|
0:36:25 | a ten sem tady může být velmi podobný pro to co ste dostali teďka to |
---|
0:36:29 | třeba když si přeložíte fortran doby náký |
---|
0:36:32 | a samozřejmě mohou tam být nějaké rozděle věcí ale pokuď se ten potom a podobně |
---|
0:36:37 | tak měl jsme schopni stejně dobře rekompilovat jako kdyby vyšel někoho jiného rovnosti o jazyku |
---|
0:36:44 | jo ale to tam sou tam odlišnosti samozřejmě |
---|
0:36:59 | já bych se zeptal jestli takováto teprv kompilace může být efektivní tři it |
---|
0:37:03 | při když mám |
---|
0:37:06 | k o nějakém jiném jazyce a si ho získat do céčka S této efektivní dělat |
---|
0:37:12 | tuhle cestu |
---|
0:37:14 | nebo ty jakémkoliv |
---|
0:37:16 | jazyce kterým si vymyslí matici jasné do céčka |
---|
0:37:20 | tak se mi to velice zajímavá otázka souvisí to tak zvanou migraci kódu |
---|
0:37:24 | za na vy máte zdrojový kód v jednom jazyce třeba sečku a chtěli by se |
---|
0:37:29 | to v něčem jiném já ze fortran no ale obvykla todle naopak že jo máte |
---|
0:37:32 | něco ve fortranu se nejřaditelnějšího takto byste konverzovali úsečka tak jedna možnost je vždy ten |
---|
0:37:38 | původní zdroje a konvertováno přímo |
---|
0:37:41 | další možnosti ho přeloží potom kdy kompilovat následně to dekódovat do toho vašeho výstupního jazyka |
---|
0:37:49 | pokud to provedete přímo tak tam máte výhodu že tam máte zachované všechny informace |
---|
0:37:53 | to znamená máte tam všechna jména proměnných všechny komentáře je ty komentáře můžete vzít a |
---|
0:37:58 | promítnout do toho výstupu |
---|
0:38:01 | takže to co tam všechno máte to sou teda výhody toho přístupu přímo ze zdrojáku |
---|
0:38:05 | dobré |
---|
0:38:06 | co se týče toho přístup dobře ten binární kód tak tam ztrácíte informaci je to |
---|
0:38:11 | náročnější a zase na druhou stranu tam můžete mít v něco co by se mám |
---|
0:38:15 | na úrovni toho tečkového arrow toho patnáctého korun neprojevilo jo může to v nějaké specialisty |
---|
0:38:20 | co ten překladač optimalizuje a učte neobjeví tom výstupu |
---|
0:38:24 | takže potom když to budete rekompilovat tak to může být v některých případech to může |
---|
0:38:28 | být přesnější protože tam máte vyloženě ten výstup jo a s tím souvisí ještě tak |
---|
0:38:33 | zvaná migrace binárního kódu to znamená vy máte probrán který mám běží třeba nádobu |
---|
0:38:38 | chtěl by se mělo dopad program který běží najít osumdesát čase |
---|
0:38:41 | a pokud tam nemáte zdroják tak už vám nepomůže ten přístup hazdra zdrojáku ale musíte |
---|
0:38:47 | ten kód rekompilovat |
---|
0:38:49 | nechcete jinou cestou difundovat do nějakou jazyk to přeložit pro tu danou cílovou architekturu |
---|
0:38:55 | takže tady kompilace je využita má především právě případě tady migrace tohoto binárního kódu |
---|
0:39:01 | jak bych navázal strana předchozí dotaz |
---|
0:39:04 | řekněme že bych |
---|
0:39:05 | opravdu si lumírova třeba ten port rovno céčka a nechtěl B C tou to verzí |
---|
0:39:10 | a úplně novinářky na konkrétní architekturu ale zastavil bych se někde na úrovni jako to |
---|
0:39:15 | univerzálního kódu na tom L lvem N Ú je to možný |
---|
0:39:20 | je to určitě možné my sme právě o tomto přístupu na tady článek |
---|
0:39:24 | vize zabijeme zabýváme to mít já sem nouzového kódu kdy přitom je možný ten že |
---|
0:39:29 | vy vezmete ten původní teda |
---|
0:39:31 | pak použijete sílám který je mám odklopený vygenerovat onen měr ten je prezentace která se |
---|
0:39:37 | nepoužívá a můžete využít zadní část našeho překladače |
---|
0:39:41 | která vám je schopná sou evolventní R získat zpátky tento |
---|
0:39:45 | jo ta webová služba to zatím nepodporuje |
---|
0:39:49 | takže tam si to ještě nevyzkoušíte ale prakticky nebo teoretický takto teoreticky to možné je |
---|
0:39:54 | a případně za ní můžu poslat ten článek který se o tomto tématu napsaný |
---|
0:40:01 | příliš nějaký dotaz |
---|
0:40:11 | já bych se k že bych se chtěl zeptat jestli plánujete podporu nějakých vyšších jazyků |
---|
0:40:17 | přesně C plus třeba jestli dekódujete nebo to vždycky hodláte nechat na úrovni céčka |
---|
0:40:25 | případně jaké úspěchy máte skok zakompilováním složitějšího programu protože vy ste říkal že se zaměřuje |
---|
0:40:32 | ten a nějaký málo vektory předpokládám bývá spíš jednodušší |
---|
0:40:36 | a jak vypadá potom kotel nějakého programu který má třeba já nevím čtyřicet mega tak |
---|
0:40:42 | začít |
---|
0:40:43 | tak jo děkuju tak mi propojena tu první otázku co se týče rekompilace něco složitějšího |
---|
0:40:48 | tak to mám určitě napadne tak je zmiňované se plus tesco mi tady toto malé |
---|
0:40:52 | plánů ale zase C plus použije o něco vyšší level když právě to céčko že |
---|
0:40:57 | u se plus potká tam musíte rekonstruovat třídní hierarchie |
---|
0:41:03 | musíte tam rekonstruovat práci s výjimkami rose třeba neobjevil koutečku a má to ještě další |
---|
0:41:08 | specifika |
---|
0:41:09 | takže současné době nejde kompilaci C plus podprogram nepodporujeme respektive kde kopírujeme tak pěkně jak |
---|
0:41:16 | byste si představoval ale určitě právě toto je plánů protože dost velká část škodlivého softwaru |
---|
0:41:22 | je napsáno právě C plus ku a příklad více zvyšoval studio |
---|
0:41:26 | takže tímto směrem součtem M seznam zem zabírat nebo |
---|
0:41:29 | jak |
---|
0:41:31 | a co se týče toho tvého dotazu tak samozřejmě když máte větší binární soubor tak |
---|
0:41:38 | tady kompilace může být pomalejší to bude |
---|
0:41:41 | a bude to vody kompilovaného hodně takže bude třeba problém se tom vyznat |
---|
0:41:46 | že s tím souvisí třeba jim přístup že výsledek usilovali pouze část |
---|
0:41:50 | toho binárního souboru kterou by ten analytik chtěl jo třeba může tuším že na tady |
---|
0:41:55 | těchto adres se nachází něco podezřelého takže by si rekompilovat jenom část toho a podívat |
---|
0:42:00 | jestli opravdu ten něco protřelého nebo ne |
---|
0:42:03 | jo zase je to možnost na budoucí rozšíření |
---|
0:42:07 | no jestli chtěl zeptat jestli takový projekt jako kdy kompilátor nepřestavuje nějaký problém z hlediska |
---|
0:42:13 | licencí nějaký program je záměrně distribuovaný jakobín ark a |
---|
0:42:19 | jestli |
---|
0:42:21 | některé větší společností ne nepředstavují nějaké problémy a se týče kdy kompilaci jejích uzavřených programů |
---|
0:42:30 | a modifikacích kódu |
---|
0:42:33 | děkuji za otázku tady narážíme na problém autorského práva který je řešen různých zemí jinak |
---|
0:42:40 | jo co se týče české republiky tak poplivat o zajímalo tak náhodně ten autorského zákona |
---|
0:42:45 | té zakončí foto dvacet jedna lomeno dva tisíce sbírky především do paragraf šedesát šest který |
---|
0:42:50 | říká se vy můžete dělá na to nemůžete dělat |
---|
0:42:53 | jo takže opravdu pro tu pokuď byste měli mysli dělat něco o čem tušíte že |
---|
0:42:57 | nelegální mrkněte se do toho autorského zákona a ještě letech konzultujte to z vaší právníkem |
---|
0:43:03 | jo |
---|
0:43:04 | samozřejmě některé záležitosti jsou povolené ve většině zemí může být třeba případě rekompilace |
---|
0:43:11 | za účelem interoperability jo že máte nějaký binární formát kterého nejsou k dispozici stránky a |
---|
0:43:17 | vy byste chtěli to dělá si váš program který umístím formátem pracovat |
---|
0:43:22 | tak tam je to mnoha případech povolené a to ještě jiné situace kdy to může |
---|
0:43:25 | být povolené josef konzultujte autorský zákon teda ne které zemi |
---|
0:43:32 | jak se zase hospitace že a Q na tom konkurenci a |
---|
0:43:36 | co dokazuju |
---|
0:43:39 | tak co se týče konkurence tak já bych zmínil asi dva největší komponenty momentálně kteří |
---|
0:43:44 | jsou aktivně vyvíjený to je X riziko mail R cože plodin do disassembler lída |
---|
0:43:50 | ti podporují i za sedmdesát česku adam a zjis prostě to něco jiného a tím |
---|
0:43:57 | mají velmi pěkné výstupy |
---|
0:43:59 | Ú sto often projekt funguje se nule |
---|
0:44:02 | je to po taky komerční projekt to place nejsou tam pomine za to by to |
---|
0:44:05 | té části a my se snažíme právě |
---|
0:44:08 | konkurovat tady tomuto projektu některých částech konkuren úspěšně některých méně úspěšněji |
---|
0:44:14 | takže to takový boj co se týče toho dalšího tak to je si kdy kompilátor |
---|
0:44:19 | z ruska vynese zmatek |
---|
0:44:21 | ti kluci se zaměřují na rekompilaci C plus prvkového kódu pro platformu intel X osumdesát |
---|
0:44:28 | šest |
---|
0:44:30 | a zase mají zajímavé důsledky některé některých případech nelepší některých horší například právě rekompilaci toho |
---|
0:44:37 | C plus podkova obchodu jo info schopni a měli kontrolovat výraz je tří joyce maticemi |
---|
0:44:42 | virtuální činnost a tak dále což mi momentálně schopni nejsme |
---|
0:44:47 | takže to by asi tak zvaný větší konkurentní kteří svatyně vybíjení |
---|
0:44:52 | asi všechno |
---|
0:44:57 | tak jo |
---|
0:44:58 | žádné další dotazy mockrát děkuji za přednášku za vaše dotazy za disku vypnu zatleskat |
---|