Τεχνικές ανάστροφης μηχανικής (reverse engineering), στο λειτουργικό σύστημα Linux

Αρκετές φορές έχει βρεθεί στην κατοχή μας κάποιο πρόγραμμα το οποίο μας έχει κεντρίσει το ενδιαφέρον και επιθυμούμε να το εξετάσουμε με στόχο την βαθύτερη κατανόησή του ή με στόχο την εξαγωγή κάποιας συγκεκριμένης πληροφορίας. Κάτι τέτοιο θα ήταν εφικτό εφόσον διαθέταμε τον πηγαίο κώδικα του προγράμ...

Full description

Bibliographic Details
Main Author: Ξυνής, Μαρίνος
Other Authors: Xynis, Marinos
Language:Greek
Published: 2022
Subjects:
Online Access:http://hdl.handle.net/10889/16310
Description
Summary:Αρκετές φορές έχει βρεθεί στην κατοχή μας κάποιο πρόγραμμα το οποίο μας έχει κεντρίσει το ενδιαφέρον και επιθυμούμε να το εξετάσουμε με στόχο την βαθύτερη κατανόησή του ή με στόχο την εξαγωγή κάποιας συγκεκριμένης πληροφορίας. Κάτι τέτοιο θα ήταν εφικτό εφόσον διαθέταμε τον πηγαίο κώδικα του προγράμματος ή μια τεχνική αναφορά η οποία θα παρουσίαζε αναλυτικά τον τρόπος λειτουργίας του. Τι γίνεται όμως, στην περίπτωση που δεν έχουμε στη διάθεσή μας τίποτα από τα προηγούμενα; Στο ερώτημα αυτό έρχεται να δώσει απάντηση η ανάστροφη μηχανική (reverse engineering). Η συγκεκριμένη διπλωματική εργασία έχει ως αντικείμενο της την παρουσίαση τεχνικών που χρησιμοποιούνται στην ανάστροφη μηχανική και μπορούν να χρησιμοποιηθούν προς όφελος του προγραμματιστή για την ανάλυση και εξαγωγή πληροφοριών από C εκτελέσιμα προγράμματα των Linux αρχιτεκτονικής x86. Οι μέθοδοι που παρουσιάζονται έχουν εφαρμοστεί σε εικονικό μηχάνημα με λειτουργικό Linux, Ubuntu 20.04.2 LTS.