Bakalářská práce

Obfuskace zdrojového kódu

Source Code Obfuscation

Oliver Mach
Anotace

Bakalárska práca sa venuje obfuskácií zdrojového kódu. Súčasťou práce je popis a priblíženie reverzného inžinierstva v rámci informatiky a iných odvetví. Spomína sa obfuskácia, jej spôsoby, rozdelenia, metriky hodnotenia a techniky spoliehajúce sa na obfuskáciu. Nasleduje opis techniky šifrovania tried, jej využitie v objektovo orientovaných jazykoch ako Java a Kotlin, prepojenie a využitie s upraveným …více

Abstract

Bachelor thesis focuses on source code obfuscation. A part of the thesis focuses on the description of reverse engineering to offer a better understanding of this problem in informatics and different areas as well. There is a mention of obfuscation, its ways of use, decompositions, measures of quality, and techniques that rely on obfuscation. Furthermore, the class encryption technique follows with …více

Zadání práce
Obfuskace zdrojového kódu je nedílnou součástí ochrany duševního vlastnictví mnoha společností. Některé programovací jazyky (např. java) jsou náchylné na reverzní inženýrství z pohledu dekompilace aplikace a následné zpětné analýzy zdrojového kódu. Úkolem obfuskace je zabránit nebo alespoň co nejvíce znesnadnit zpětnou analýzu zdrojového kódu, čehož lze docílit pomocí automatizované úpravy kódu při kompilaci. Narozdíl od běžných metod obfuskace zdrojového kódu (přejmenování tříd, metod, proměnných) je možné využít technik, které manipulují s třídami jako celkem, při kterých je redukováno riziko zanesení nových chyb do aplikace díky úpravám obfuskace.

Cílem bakalářské práce je navrhnout a implementovat nástroj sloužící k ochraně zdrojového kódu pomocí tzv. šifrování tříd (class encryption). Nástroj je určený pro programovací jazyky java/kotlin a použitím pro Android aplikace. Součástí bakalářské práce je:

  • popis techniky šifrování tříd, její výhody a nevýhody,
  • typ útoků, proti kterým je technika určená/proti kterým technika selže,
  • návrh a implementace nástroje,
  • ukázková Android demo aplikace využívající této techniky.
Práce je řešena ve spolupráci s průmyslovým partnerem Monet+.
Práce zkontrolována:
26. 5. 2021 09:20, prof. RNDr. Tomáš Pitner, Ph.D.
Jazyk práce
slovenština slovenština
Termín obhajoby
28. 6. 2021
Práce byla úspěšně obhájena

Vedoucí

prof. RNDr. Tomáš Pitner, Ph.D.
KPSK FI MU

Oponent

Mgr. Ondřej Gabrhelík
abs FI MU

Konzultant

Mgr. Ondřej Přikryl
abs FI MU

  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.