Πεταλίδης, ΝικόλαοςΤσιλιγγίρης, Αλέξανδρος2016-07-062024-09-272016-07-062024-09-272016-05https://repository2024.ihu.gr/handle/123456789/2585Η γλώσσα Java έχει σχεδιαστεί ούτως ώστε να μεταφράζεται σε μια ακολουθία bytes η οποία είναι ανεξάρτητη πλατφόρμας. Αυτό δίνει το πλεονέκτημα σε προγράμματα που είναι γραμμένα στη γλώσσα να έχουν τη δυνατότητα να τρέξουν αυτούσια σε πολλές αρχιτεκτονικές και λειτουργικά συστήματα. Ταυτόχρονα όμως της δίνει το μειονέκτημα να είναι ευάλωτη σε επιθέσεις αποσυγκρότησης (reverse engineering) όπου κάποιος με πρόσβαση μόνο στο εκτελέσιμο μπορεί να εξάγει πληροφορίες για τον αρχικό κώδικα ή ακόμα και τον ίδιο τον κώδικα. Μια τεχνική για να αποφευχθεί αυτό το πρόβλημα είναι αυτό της «θόλωσης» (obfuscation) του αρχικού κώδικα. Οι τεχνικές θόλωσης στηρίζονται στο άλλαγμα των ονομάτων των μεταβλητών, την ισοπέδωση των ιεραρχιών κτλ ούτως ώστε να μην είναι εύκολη η εξαγωγή συμπερασμάτων για τον πηγαίο κώδικα ενός εκτελέσιμου. Σκοπός αυτής της πτυχιακής είναι η μελέτη και παρουσίαση των διαφορετικών τεχνικών θόλωσης καθώς και η υλοποίηση μιας εφαρμογής η οποία θα καθιστά δυνατή την θόλωση κώδικα Java.59elΑναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 4.0 Διεθνέςhttp://creativecommons.org/licenses/by-nc-nd/4.0/deed.elTEICM::ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ (ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ)::JAVA (ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ)005.133Υλοποίηση εργαλείου θόλωσης προγραμμάτων JavaΠτυχιακή εργασίαΤεχνικές θόλωσης (obfuscation)Εργαλεία θόλωσης, Java