Analiza izvornog i izvršnog koda u programskom jeziku Java

Sažetak na hrvatskom: Dekompilator je računalni program kojem kao ulaz dajemo izvršni kod nekog pro- grama, a kao izlaz dobivamo izvorni kod programa zapisan u programskom jeziku više razine. Ako se dobiveni kod može kompilirati natrag u izvršni kod jednak izvršnom kodu sa početka, zaključujemo da s...

Full description

Permalink: http://skupni.nsk.hr/Record/fer.KOHA-OAI-FER:50123/Details
Glavni autor: Staroveški, Vilim (-)
Ostali autori: Car, Željka (Thesis advisor)
Vrsta građe: Drugo
Impresum: Zagreb, V. Staroveški, 2017.
Predmet:
LEADER 04268na a2200229 4500
003 HR-ZaFER
008 160221s2017 ci ||||| m||| 00| 0 hr d
035 |a (HR-ZaFER)ferid5391 
040 |a HR-ZaFER  |b hrv  |c HR-ZaFER  |e ppiak 
100 1 |a Staroveški, Vilim 
245 1 0 |a Analiza izvornog i izvršnog koda u programskom jeziku Java :  |b završni rad /  |c Vilim Staroveški ; [mentor Željka Car]. 
246 1 |a Analysis of Java source and executive code  |i Naslov na engleskom:  
260 |a Zagreb,  |b V. Staroveški,  |c 2017. 
300 |a 24 str. ;  |c 30 cm +  |e CD-ROM 
502 |b preddiplomski studij  |c Fakultet elektrotehnike i računarstva u Zagrebu  |g smjer: Programsko inženjerstvo i informacijski sustavi, šifra smjera: 39, datum predaje: 2017-06-09, datum završetka: 2017-07-12 
520 3 |a Sažetak na hrvatskom: Dekompilator je računalni program kojem kao ulaz dajemo izvršni kod nekog pro- grama, a kao izlaz dobivamo izvorni kod programa zapisan u programskom jeziku više razine. Ako se dobiveni kod može kompilirati natrag u izvršni kod jednak izvršnom kodu sa početka, zaključujemo da se dekompilacija uspiješno izvršila. Postoji mnogo situacija u kojima je dekompiliranje korisno, a neke od njih su vračanje izgubljenog izvornog koda, pretvaranje programa za neku platformu u program za neku drugu plat- formu, provjera ispravnosti programa, potraga za zlonamjernim kodom ali i ilegalne akcije poput krad̄e tud̄ih ideja iz tud̄eg koda. Uz pojam dekompilacije često se veže i pojam reverznog inžinjerstva. Reverzno inžinjerstvo je proces izvlačenja znanja i informacija iz proizvoda koje su napravili ljudi. Java dekompilator je alat koji je dizaj- niran za prevod̄enje Javinih datoteka .class u izvorne Java datoteke tj. u datoteke .java. Kroz povijest pojavili su se mnogi Java dekompilatori, ali su samo neki najkorišteniji, a to su JD project, Cavaj, JBVD i DJ. Ovaj rad se temelji na analizi nestandardnog de- kompilatora. Naime, ideja rada tog dekompilatora je slijedeća: program uzima izvorni kod i njegov kompilaciju u class datoteci, zatim u datoteci .class traži bytecode ins- trukcije koje povezuje sa linijama Java koda iz izvorne datoteke. Taj proces možemo nazvati kao učenje programa kako dekompilirati. Te informacije sprema u bazu po- dataka. Nakon što smo dekompilator dovoljno “naučili”, spreman je za dekompilaciju datoteka .class. Dekompilaciju bi vršio tako da čitanjem bytecode instrukcija dohvača Java linije koje ih predstavljaju. 
520 3 |a Sažetak na engleskom: A decompiler is a computer program that takes an executable file as input, and attempts to create a high level source file which can be recompiled successfully. If it is possible to compile result back into starting source code, we can say decompila- tion was successful. There is a lot of usages for decompilation. For example when we want to restore lost source code from executable program, when we want to implement program for one platform that alreadzy exists on a different platform, when we want to check program for errors or search for malicious code. Also decompilation can be used for ilegal actions such as stealing another person’s code. When we talk about decompilation, we almost always mention reverse engineering. Reverse engineering is the processes of extracting knowledge or design information from anything man-made. Java decompiler is computer program that takes an executable .class Java file as input and attempts to create a .java Java source file. There were a lot of decompilers imple- mented over time and only few of them are mostly used. Some of them are JD project, Cavaj, JBVD and DJ. This work is based on analysis of a nonstandard decompiler. Its idea is to take source code and its compiled code, and write this mapping into data- base. We can call this process learning to decompile. When there is enough mappings in database, decompiler could read .class file, extract bytecode instructions from it and match Java source lines from database. Matched lines of Java code would represent original source file. 
653 1 |a Dekompilator, Java, reverzno inžinjerstvo, bytecode 
653 1 |a Decompiler, Java, reverse engineering, bytecode 
700 1 |a Car, Željka  |4 ths 
942 |c Z 
999 |c 50123  |d 50123