Závěrečná práce: Petra Miková: Decompilation of restored in-memory class fragments in running JVM
Bakalářská práce
Decompilation of restored in-memory class fragments in running JVM
Anotace
Cílem této práce je implementace zásuvného modulu pro instrumentační nástroj Thermostat. Ten dokáže z běžící JVM extrahovat seznam jmen načtených tříd a jejich bajtkód, který pak pomocí existujícího dekompilátoru přeloží do zdrojového kódu. Psaná část práce představuje použité technologie, popisuje proces extrakce bajtkódu a jeho následné zpracování. Dále popisuje architekturu zásuvného modulu a roli Thermostatu v jeho implementaci.
Abstract
The aim of this thesis is the implementation of a plugin for the Thermostat instrumentation tool. The plugin is able to extract the list of names of the classes loaded in the JVM and their bytecode which is then decompiled to source code with an existing decompiler. The written part of the thesis introduces the technologies used, describes the bytecode extraction and its processing. It also describes the architecture of the plugin and the role of Thermostat in the implementation.
Zadání práce
Based on the ability of JVM to restructure already loaded classes and by using existing decompilers decompile in memory transformed fragments of java classes close to human-readable form.
The student must investigate existing mechanisms in JVM allowing restoration of bytecode class representation. By modifications in existing decompilers, the machine code can be decompiled to one or more JVM languages (java, clojure…) also with theirs various intermediate forms. As a bonus the view can contain full syntax highlight or be able to compile the class back to JVM. Recommended environment is implemented as thermostat plugin as it allows easy access to running JVM.
19. 12. 2017 08:44, Mgr. Marek Grác, Ph.D., učo 50728
- Zadáno/změněno 13. 2. 2018 16:24, Helena Kryštofová
- Záznam založen 21. 11. 2017 13:33, Jana Zemanová, učo 9619
- Zveřejnit od 18. 12. 2017 09:26, Alena Dvořáková
- Práce převzata 18. 12. 2017 09:26, Alena Dvořáková
Přílohy
Konzultant
Práce na příbuzné téma
Seznam prací, které mají shodná klíčová slova.
-
Java bytecode disassembler
Mgr. Jozef Ceľuch, učo 359339 -
In-memory compilation of freshly decompiled classes back into a running VM
Mgr. Marián Konček, učo 445248 -
Editor scénářů projektu PerfCake pro Eclipse 4.3
Mgr. Jakub Knetl -
Disassembler Javovského bajtkódu
Bc. Róbert Golej -
Rozšíření frameworku EACirc o simulátor Java bytecodu
Mgr. Michal Hajas -
Integrace Infinispan vlastností do Android platformy
Mgr. Jaroslav Jankovič, učo 325245 -
Decompiling Binaries into LLVM IR Using McSema and Dyninst
Mgr. Lukáš Korenčik -
Monitoring aplikací běžících v JVM pomocí JVM Tool Interface (JVMTI)
Mgr. Peter Mačkay




