Original title:
Reverzní inženýrství na platformách Java a Android
Translated title:
Reverse engineering of platforms Java and Android
Authors:
Žák, Josef ; Pecinovský, Rudolf (advisor) ; Oraný, Vladimír (referee) Document type: Master’s theses
Year:
2016
Language:
cze Publisher:
Vysoká škola ekonomická v Praze Abstract:
[cze][eng] Práce se zabývá reverzním inženýrstvím na platformě Android a Java. Jsou analyzovány (popsány) existující nástroje a techniky, dále jsou zkoumány možnosti obrany. První část se zabývá důkladnou rešerší prací na toto téma. Další část diskutuje oblasti využití reverzního inženýrství. Další kapitoly popisují operační systém Android a koncept virtuálních strojů na obou platformách. Je uvedeno porovnání registrové a zásobníkové architektury virtuálního stoje. Jádro práce je zaměřeno na statickou analýzu (obsah APK souboru, di-sassemblování, zpětný překlad). Jsou srovnány současně dostupné zpětné překladače pro class soubory a dex soubory. Testy pro zpětný překlad zahrnují různé verze Javy. Závěrečná kapitola se zabývá metodami obrany proti reverznímu inženýrství, včetně popisu výhod a nevýhod. Jsou otestovány dva populární obfuskátory (Proguard, DashO).This thesis deals with reverse engineering of Android and Java. It contains a description of existing tools and techniques, including techniques of defense. The first part is focused on available research about the topic. The next part discusses usage of reverse engineering in software development. The next chapters describe Android operating system and concept of a virtual machine on both platforms. Both kinds of architectures are compared (register-based vs stack-based machine). Core of the work is focused on static analysis (content of APK file, disassembling, decompilation). Available decompilers of class and dex files are compared. Testing is made with various versions of Java. The final chapter contains techniques and tools of defense against reverse engineering including a description of pros and cons. Two popular obfuscators are tested (Proguard, DashO).
Keywords:
Android; decompilation; disassembling; Java; obfuscation; reverse engineering; Android; dekompilace; disassemblování; Java; obfuskace; reverzní inženýrství; zpětný překlad
Institution: University of Economics, Prague
(web)
Document availability information: Available in the digital repository of the University of Economics, Prague. Original record: http://www.vse.cz/vskp/eid/49415