Bakalářská práce

Decompilation of restored in-memory class fragments in running JVM

Petra Miková
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.

Práce zkontrolována:
19. 12. 2017 08:44, Mgr. Marek Grác, Ph.D., učo 50728
Jazyk práce
angličtina angličtina
Termín obhajoby
13. 2. 2018
Práce byla úspěšně obhájena

Vedoucí

Mgr. Marek Grác, Ph.D., učo 50728
ÚČJ FF MU

Oponent

RNDr. Pavel Šmerk, Ph.D., učo 3880
CVT FI MU

Konzultant

Mgr. Jiří Vaněk, učo 98933
abs FI MU

Masarykova univerzita Fakulta informatiky
Studijní program
Aplikovaná informatika
  • 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.