Reverzní inženýrství na platformách Java a Android
Název práce: | Reverzní inženýrství na platformách Java a Android |
---|---|
Autor(ka) práce: | Žák, Josef |
Typ práce: | Diplomová práce |
Vedoucí práce: | Pecinovský, Rudolf |
Oponenti práce: | Oraný, Vladimír |
Jazyk práce: | Česky |
Abstrakt: | 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). |
Klíčová slova: | Android; disassemblování; obfuskace; Java; dekompilace; zpětný překlad; reverzní inženýrství |
Název práce: | Reverse engineering of platforms Java and Android |
---|---|
Autor(ka) práce: | Žák, Josef |
Typ práce: | Diploma thesis |
Vedoucí práce: | Pecinovský, Rudolf |
Oponenti práce: | Oraný, Vladimír |
Jazyk práce: | Česky |
Abstrakt: | 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). |
Klíčová slova: | reverse engineering; disassembling; decompilation; Java; Android; obfuscation |
Informace o studiu
Studijní program / obor: | Aplikovaná informatika/Informační systémy a technologie |
---|---|
Typ studijního programu: | Magisterský studijní program |
Přidělovaná hodnost: | Ing. |
Instituce přidělující hodnost: | Vysoká škola ekonomická v Praze |
Fakulta: | Fakulta informatiky a statistiky |
Katedra: | Katedra informačních technologií |
Informace o odevzdání a obhajobě
Datum zadání práce: | 15. 1. 2016 |
---|---|
Datum podání práce: | 27. 4. 2016 |
Datum obhajoby: | 13. 6. 2016 |
Identifikátor v systému InSIS: | https://insis.vse.cz/zp/55794/podrobnosti |