Závěrečná práce: Bc. Marián Konček, učo 445248: In-memory compilation of freshly decompiled classes back into a running VM
Diplomová práce
In-memory compilation of freshly decompiled classes back into a running VM
Anotace
Práca sa zaoberá teoretickými aspektami prekonania obmedzení štandardnej inštrumentácie procesov bežiacich pod Java Virtual Machine (JVM). Inštrumentácia, čiže možnosť modifikácie bajtkódu bežiaceho procesu bez nutnosti jeho opätovného spúštania, je sprevádzaná množstvom obmedzení, ktoré sú dané implementáciou JVM v rámci projektu OpenJDK. Práca implementuje nástroj, ktorý používa bežný prekladač …více
Abstract
This thesis is concerned with theoretical aspects of overcoming the limitations of standard instrumentation of processes running under the Java Virtual Machine (JVM). Bytecode instrumentation is the ability to modify the bytecode of a running process without the necessity of restarting it. This feature is subject to limitations imposed by the implementation of JVM under the OpenJDK project. The work …více
Zadání práce
Java offers interesting approaches to obtain bytecode of currently running classes. By using easy tricks, this runtime bytecode can be decompiled (done in previous thesis).
This thesis aims to enable composition of an in-memory dependence tree and compile a freshly decompiled class back to a running JVM (Java Virtual Machine). The freshly decompiled class fragments are very likely not to be able to compile out of the box, and the student will have to elaborate on their structure. This issue may not be solvable on Java language level, and bytecode operations or java-assembly operations may be necessary to be used. Even if the class bytes are adapted and its decompiled source modified and compiled, the replacement of classes in a running JVM has its limitations. The student need to investigate possible solutions and propose the best approach.
16. 12. 2021 12:47, RNDr. Adam Rambousek, Ph.D., učo 60380
Přílohy
Konzultant
Práce na příbuzné téma
Seznam prací, které mají shodná klíčová slova.
-
Clojure bytecode decompiler on JVM
Mgr. Michael Šimáček -
Disassembler Javovského bajtkódu
Bc. Róbert Golej -
Optimalizace bajtkódu Javy s ohledem na jeho velikost
Bc. Matej Vašek -
Monitoring aplikací běžících v JVM s využitím Java Debugger Interface (JDI)
Mgr. Hoa Quoc Tran -
Analýza požadavků aplikace na profil JVM
Bc. Viktoriia Bakalova -
Monitoring aplikací běžících v JVM s využitím Java Debugger Interface (JDI)
Mgr. Hoa Quoc Tran -
Implement detection of duplicate test coverage for Java applications
Jakub Schwan -
Heuristika pro výchozí nastavení správce paměti Shenandoah
Mgr. Jan Blizňák, učo 325348




