Reverse Engineering Plug In για το εργαλείο Eclipse (Bachelor thesis)
Μοσχόπουλος, Σωτήριος/ Μπαλατσός, Ιωάννης
While reverse engineering probably started with the analysis of hardware, today it plays a significant role in the software world. Software Reverse Engineering (SRE) is the practice of analyzing a software system, either in whole or in part, to extract design and implementation information. A typical SRE scenario would involve a software module that has for years and carries several rules of business in its lines of code. As we mentioned earlier, the purpose of this work is to apply the above study as an Eclipse plug-in. First, there is a preface describing the two basic concepts we use in the work and a brief description of the study made [1]. Here are four chapters where we mention their content in the chapter of the introduction.
Institution and School/Department of submitter: | Σχολή Τεχνολογικών Εφαρμογών / Τμήμα Μηχανικών Πληροφορικής |
Keywords: | Προγραμματισμός οδηγούμενος απο το testing;Αντίστροφη Μηχανική;Αντίστροφη Μηχανική οδηγούμενη από testing;Test-driven Development;Reverse Engineering;Eclipse;Test-driven Reverse Engineering |
Description: | Ένα χαρακτηριστικό που μας κάνει ανθρώπους είναι η προσπάθεια να καταλάβουμε τον κόσμο γύρω μας. Είναι ο λόγος που χτίζουμε επιταχυντές σωματιδίων, ταξιδεύουμε στο διάστημα, και κάνουμε επιστημονικές έρευνες γενικά. |
URI: | http://195.251.240.227/jspui/handle/123456789/11257 |
Item type: | bachelorThesis |
General Description / Additional Comments: | Πτυχιακή εργασία |
Submission Date: | 2019-11-12T11:39:23Z |
Item language: | el |
Item access scheme: | free |
Institution and School/Department of submitter: | Σχολή Τεχνολογικών Εφαρμογών / Τμήμα Μηχανικών Πληροφορικής |
Publication date: | 2018-01-29 |
Bibliographic citation: | "Μοσχόπουλος Σωτήριος, Μπαλατσός Ιωάννης" "Reverse Engineering Plug In για το εργαλείο Eclipse" " ΣΤΕΦ/Μηχανικών Πληροφορικής" "ΑΤΕΙΘ" "2018" |
Abstract: | Καθώς η αντίστροφη μηχανική ξεκίνησε με την ανάλυση του υλικού μέρους των υπολογιστών (hardware), σήμερα παίζει σημαντικό ρόλο στον κόσμο του λογισμικού. Η αντίστροφη μηχανική λογισμικού είναι η διαδικασία ανάλυσης ενός λογισμικού συστήματος, είτε εν μέρη είτε ολόκληρο, για την εξαγωγή σχεδίασης και εκτέλεσης της πληροφορίας. Ένα τυπικό σενάριο SRE θα περιείχε μια λειτουργία λογισμικού που λειτουργεί χρόνια και “κουβαλάει” αρκετούς κανόνες μιας επιχείρησης στις γραμμές του κωδικά του. Όπως αναφέρθηκε και προηγουμένως, σκοπός της εργασίας αυτής είναι η εφαρμογή της παραπάνω μελέτης στο εργαλείο Eclipse. Αρχικά δίνεται πρόλογος που περιγράφει τις δυο βασικές έννοιες που χρησιμοποιούμε στην εργασία και γίνεται μια σύντομη περιγραφή της μελέτης που έγινε [1]. Ακολουθούν τέσσερα κεφάλαια όπου στο κεφάλαιο της εισαγωγής αναφέρουμε το περιεχόμενο τους. While reverse engineering probably started with the analysis of hardware, today it plays a significant role in the software world. Software Reverse Engineering (SRE) is the practice of analyzing a software system, either in whole or in part, to extract design and implementation information. A typical SRE scenario would involve a software module that has for years and carries several rules of business in its lines of code. As we mentioned earlier, the purpose of this work is to apply the above study as an Eclipse plug-in. First, there is a preface describing the two basic concepts we use in the work and a brief description of the study made [1]. Here are four chapters where we mention their content in the chapter of the introduction. |
Table of contents: | Κατάλογος περιεχομένων ΠΡΟΛΟΓΟΣ 2 ΠΕΡΙΛΗΨΗ 3 ABSTRACT 4 ΕΥΧΑΡΙΣΤΙΕΣ (προαιρετικά) 5 ΕΙΣΑΓΩΓΗ 12 ΚΕΦΑΛΑΙΟ 1 19 Ιστορική Αναδρομή 19 ΕΙΣΑΓΩΓΗ 19 ΥΠΟΚΕΦΑΛΑΙΟ 1.1 19 Η Αντίστροφη Μηχανική στον Β' Παγκόσμιο Πόλεμο και στον Ψυχρό Πόλεμο 19 ΥΠΟΚΕΦΑΛΑΙΟ 1.2 20 Νομιμότητα 20 ΥΠΟΚΕΦΑΛΑΙΟ 1.3 21 Το πρόβλημα Y2K 21 ΕΠΙΛΟΓΟΣ 21 ΚΕΦΑΛΑΙΟ 2 22 Χρήσεις Αντίστροφης Μηχανικής 22 ΕΙΣΑΓΩΓΗ 22 ΥΠΟΚΕΦΑΛΑΙΟ 2.1 22 Η Αντίστροφη Μηχανική στην Ανάπτυξη Λογισμικού 22 ΥΠΟΚΕΦΑΛΑΙΟ 2.2 25 Η Αντίστροφη Μηχανική στην Ασφάλεια Λογισμικού 25 ΕΠΙΛΟΓΟΣ 27 ΚΕΦΑΛΑΙΟ 3 28 Test-driven Development και το εργαλείο Eclipse 28 ΕΙΣΑΓΩΓΗ 28 ΥΠΟΚΕΦΑΛΑΙΟ 3.1 28 Test-driven Development 28 ΥΠΟΚΕΦΑΛΑΙΟ 3.2 29 Το εργαλείο Eclipse 29 ΕΠΙΛΟΓΟΣ 30 ΚΕΦΑΛΑΙΟ 4 30 Το περιβάλλον του Plug-in 30 ΕΙΣΑΓΩΓΗ 30 PDE UI 30 API Tools 31 PDE Build 32 ΥΠΟΚΕΦΑΛΑΙΟ 4.1 32 Δημιουργία ενός Plug-in Project 32 Βήμα προς βήμα: Η δημιουργία ενός Plug-in Project 33 ΥΠΟΚΕΦΑΛΑΙΟ 4.2 40 Eclipse Application Launcher 40 Εκτέλεση μέσω συντόμευσης 40 Προσαρμογή ενός Launch Configuration 41 ΕΠΙΛΟΓΟΣ 42 ΚΕΦΑΛΑΙΟ 5 42 Το εργαλείο GitHub 42 ΕΙΣΑΓΩΓΗ 42 ΥΠΟΚΕΦΑΛΑΙΟ 5.1 42 Περιγραφή του εργαλείου 42 ΥΠΟΚΕΦΑΛΑΙΟ 5.2 44 Επιπλέον δυνατότητες 44 ΕΠΙΛΟΓΟΣ 44 ΚΕΦΑΛΑΙΟ 6 45 Ανάλυση του framework TDRE 45 ΕΙΣΑΓΩΓΗ 45 ΥΠΟΚΕΦΑΛΑΙΟ 6.1 46 Φάσεις του framework διαδικασίας TDRE 46 Α. Φάση Ι: Ανάλυση συστήματος, κατανόηση κώδικα και αποσύνθεση 46 Β. Φάση ΙΙ: Κατανόηση του προγράμματος - Προτεραιότητα των λειτουργιών 47 Γ. Φάση ΙΙΙ: Διαχωρισμός κώδικα και ιεράρχηση Uni-Testing 48 Δ. Φάση IV: Εφαρμογή Unit-Testing και εκπροσώπηση σχεδιασμού 48 ΥΠΟΚΕΦΑΛΑΙΟ 6.2 49 Προτεραιότητα στις λειτουργίες 49 ΕΠΙΛΟΓΟΣ 50 ΣΥΜΠΕΡΑΣΜΑΤΑ 51 ΑΝΑΦΟΡΕΣ 52 ΒΙΒΛΙΟΓΡΑΦΙΑ 54 ΠΑΡΑΡΤΗΜΑΤΑ 56 Ανάλυση κώδικα 56 Η Κλάση CalculatePoints.java 56 Η Κλάση ClassForAttributes.java 57 Η Κλάση ClassForClass.java 57 Η Κλάση ClassForMethods.java 58 Η Κλάση GlobalMenuHandler.java 59 Η Κλάση ParsingClassFiles.java 60 Η Κλάση SearchingForAttributes.java 64 Η κλάση GetJavaFiles.java 64 Η Κλάση UMLClassDrawer.java 64 ΟΔΗΓΟΣ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ 67 Γενικά Χαρακτηριστικά του Plug-in 67 Plug-in for Reverse Engineering 67 Τύποι αρχείων που υποστηρίζονται από το λογισμικό 67 Περιγραφή επιφάνειας εργασίας 67 Διαδικασία παραγωγής ενός Class Diagram 68 1. Επιλογή project 68 2. Εκκίνηση διαδικασίας παραγωγής Class Diagram 69 3. Εμφάνιση του Class Diagram 71 Ευρετήριο πινάκων Πίνακας 1: «Πίνακας Πόντων» 28 Ευρετήριο σχημάτων Σχήμα 1: «Class Diagram με το εργαλείο Eclipse UML Generators.» 13 Σχήμα 2: «Class Diagram με το εργαλείο του Visual Paradigm.» 14 Σχήμα 3: «Επιλογή του Eclipse Marketplace.» 16 Σχήμα 4: «Το PDE στο Eclipse Marketplace.» 17 Σχήμα 5: «Επιστροφή στην αρχή κύκλου ανάπτυξης ενός συστήματος.» 23 Σχήμα 6: «Σενάρια σχετικά με την ανάπτυξη Αντίστροφης Μηχανικής Λογισμικού.» 24 Σχήμα 7: «Σενάρια σχετικά με την ανάπτυξη Αντίστροφης Μηχανικής στην Ασφάλεια Λογισμικών.» 27 Σχήμα 8: «Επιλογή Plug-in Project στο Wizard» 34 Σχήμα 9: «Εισαγωγή ονόματος στο νέο project.» 35 Σχήμα 10: «Εισαγωγή ονόματος στον Activator.» 36 Σχήμα 11: «Τέλος του Οδηγού New Plug-in Project.» 37 Σχήμα 12: «Η διαδικασία του framework TDRE.» 47 Σχήμα 13: «Η μέθοδος findTheTruth.» 58 Σχήμα 14: «Έλεγχος αν είναι κλάση.» 61 Σχήμα 15: «Μεταβλητές μιας κλάσης.» 63 Σχήμα 16: «Εμφάνιση ενός Class Diagram.» 65 Σχήμα 17: «Άνοιγμα ενός shell.» 66 Σχήμα 18: «Παράδειγμα επιφάνειας εγασίας του Eclipse.» 68 Σχήμα 19: «Επιλογή ενός project στον project explorer.» 69 Σχήμα 20: «Επιλογή από το menu.» 70 Σχήμα 21: «Επιλογή αρχείων.» 70 Σχήμα 22: «Αποτέλεσμα διαδικασίας. Οι μέθοδοι που εμφανίζονται έχουν ταξινομηθεί με αύξουσα σειρά.» 71 |
Advisor name: | Σφέτσος , Παναγιώτης |
Examining committee: | Σφέτσος, Παναγιώτης |
Publishing department/division: | Μηχανικών Πληροφορικής |
Publishing institution: | teithe |
Number of pages: | 70 σ. |
Appears in Collections: | Πτυχιακές Εργασίες |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Reverse Engineering Plug In για το εργαλείο Eclipse.pdf | Πτυχιακή εργασία | 1.05 MB | Adobe PDF | View/Open |
Please use this identifier to cite or link to this item:
This item is a favorite for 0 people.
http://195.251.240.227/jspui/handle/123456789/11257
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.