Διαβάζει ένα Windows, Linux, Mac OS X ή ακατέργαστο εκτελέσιμο αρχείο και επιχειρεί να δημιουργήσει μια αναπαράσταση τύπου C
του κώδικα και των δεδομένων που χρησιμοποιούνται για τη δημιουργία του εκτελέσιμου αρχείου.
Έχει σχεδιαστεί για να διαβάζει αρχεία που παράγονται για πολλούς διαφορετικούς στόχους και έχει μεταγλωττιστεί σε πολλά συστήματα υποδοχής.
Το REC Studio 4 είναι μια πλήρης επανεγγραφή του αρχικού απομεταγλωττιστή REC. Χρησιμοποιεί πιο ισχυρές τεχνικές ανάλυσης όπως π.χ
μερική μεμονωμένη στατική ανάθεση (SSA), επιτρέπει τη φόρτωση αρχείων Mac OS X και υποστηρίζει δυαδικά αρχεία 32 και 64 bit.
Αν και ακόμα υπό ανάπτυξη, έχει φτάσει σε ένα στάδιο που το κάνει πιο χρήσιμο από το παλιό Rec Studio 2.
Όπως αναφέρθηκε, το Rec Studio 4 είναι ακόμα υπό ανάπτυξη. Οι περισσότερες ανεξάρτητες λειτουργίες στόχου έχουν ολοκληρωθεί, όπως:
Δυνατότητα | x86 (ia32) | x86_64 | Mips | PowerPC | mc68k | ARM |
Αποσυναρμολογητής | Τέλος | Τέλος | Τέλος | Τέλος | Τέλος | Σχεδιασμένο |
Φορτωτής PE COFF | Τέλος | Τέλος | n/a | n/a | n/a | n/a |
Φορτωτής ELF | Τέλος | Τέλος | Τέλος | Τέλος | Τέλος | Σχεδιασμένο |
Φορτωτής COFF | Τέλος | n/a | n/a | n/a | Τέλος | n/a |
Φορτωτής Mac OS X | Τέλος | Τέλος | n/a | Σχεδιασμένο | n/a | Σχεδιασμένο |
Συμβολικές πληροφορίες Dwarf2 | Τέλος | Τέλος | Τέλος | Τέλος | n/a | Σχεδιασμένο |
COFF συμβολικές πληροφορίες | Σχεδιασμένο | n/a | n/a | n/a | Σχεδιασμένο | n/a |
Κλήση συνεδρίων | Σε εξέλιξη | Σε εξέλιξη | Σε εξέλιξη | Σχεδιασμένο | Σχεδιασμένο | Σχεδιασμένο |
32 και 64 bit | Σε εξέλιξη | Σε εξέλιξη | n/a | n/a | n/a | n/a |
Κινούμενο σημείο | Σχεδιασμένο | Σχεδιασμένο | n/a | n/a | n/a | n/a |
Εντοπιστής σφαλμάτων των Windows | Σε εξέλιξη | Σχεδιασμένο | n/a | n/a | n/a | n/a |
Εντοπιστής σφαλμάτων Gdb | Σε εξέλιξη | Σε εξέλιξη | n/a | n/a | n/a | n/a |
Οι πηγές REC δεν βρίσκονται σε δημόσιο τομέα.
Αν και το REC μπορεί να διαβάσει εκτελέσιμα αρχεία Win32 (γνωστά και ως PE) που παράγονται από τη Visual C++ ή Visual Basic 5, υπάρχουν περιορισμοί στην παραγωγή που παράγεται. REC θα προσπαθήσει να χρησιμοποιήσει οποιαδήποτε πληροφορία υπάρχει στον πίνακα συμβόλων .EXE. Εάν το αρχείο .EXE έχει μεταγλωττιστεί χωρίς πληροφορίες εντοπισμού σφαλμάτων, εάν ένα πρόγραμμα Χρησιμοποιήθηκε μορφή αρχείου βάσης δεδομένων (.PDB) ή Codeview (C7), ή εάν η βελτιστοποίηση Η επιλογή του μεταγλωττιστή ήταν ενεργοποιημένη, η έξοδος που παράγεται δεν θα είναι πολύ Καλός. Επιπλέον, τα εκτελέσιμα αρχεία της Visual Basic 5 είναι ένας συνδυασμός Υπορουτίνα κώδικα και δεδομένα Φόρμα. Είναι σχεδόν αδύνατο να προσδιορίσει το REC Ποιο είναι ποιο. Η μόνη επιλογή είναι να χρησιμοποιήσετε ένα αρχείο .cmd και να καθορίσετε με μη αυτόματο τρόπο ποια περιοχή είναι κώδικας και ποια περιοχή δεδομένα.
Στην πράξη, μόνο τα εκτελέσιμα αρχεία C παράγουν ουσιαστικά απομεταγλωττισμένα αποτελέσματα.
<κέντρο> Αρκετοί άλλοι απομεταγλωττιστές είναι διαθέσιμοι από διάφορες πηγές. Δείτε τη σελίδα μου αντίστροφης μηχανικής για λίστα.
Μάλλον εκπληκτικά, η εσωτερική αρχιτεκτονική ενός decompiler
μοιάζει πολύ με αυτό ενός μεταγλωττιστή. Υψηλής ποιότητας βιβλιογραφία υπάρχει για
και τα δυο. Η σελίδα Σημειώσεις σχεδίασης
έχει πληροφορίες για τα προβλήματα που αντιμετωπίζει ένας συγγραφέας απομεταγλωττιστή όταν προσπαθεί να το κάνει
απομεταγλώττιση ελαφρώς πιο περίπλοκων προγραμμάτων από απλές δοκιμές μονάδων.
Η απομεταγλώττιση
Η σελίδα έχει συνδέσμους και τεκμηρίωση που σχετίζονται με τους απομεταγλωττιστές γενικά.
Μάικ βαν Έμερικ Η διδακτορική διατριβή προώθησε σημαντικά τον τομέα της αποσυμπίλησης περιγράφοντας λύσεις για θεμελιώδη προβλήματα στην αποσυμπίληση δυαδικών προγραμμάτων.
Cristina Cifuentes' Τεχνικές Αντίστροφης Σύνταξης Η διδακτορική διατριβή περιγράφει λεπτομερώς τη θεωρία και υλοποίηση του dcc decompiler για 8086 προγράμματα DOS.
Η σελίδα Wotsit έχει συνδέσμους προς προδιαγραφές μορφών αρχείων αντικειμένων όπως COFF και ELF.
Ορισμένες έννοιες που σχετίζονται με την ανάλυση κώδικα καλύπτονται στο Σελίδες Αναφοράς εντοπισμού σφαλμάτων αναφοράς.
Άλλα βασικά βιβλία που χρησιμοποίησα κατά την ανάπτυξη είναι:
Γίνεται πολλή συζήτηση για τη νομιμότητα της αποσυμπίεσης. Τα εργαλεία Decompiler είναι διαθέσιμα για μια ποικιλία πλατφορμών εδώ και πολύ καιρό χρόνος. Decompilers, μαζί με άλλα εργαλεία όπως προγράμματα εντοπισμού σφαλμάτων, δυαδικά προγράμματα επεξεργασίας, αποσυναρμολογητές κ.λπ. θα πρέπει να χρησιμοποιούνται μόνο όταν έχει ο κάτοχος ενός προγράμματος το νόμιμο δικαίωμα αντίστροφης μηχανικής του προγράμματος.
Έχει διαπιστωθεί από τα δικαστήρια των ΗΠΑ και άλλων χωρών ότι είναι νόμιμη η χρήση απομεταγλωττιστών σύμφωνα με τη ρήτρα ορθής χρήσης της νομοθεσίας περί πνευματικών δικαιωμάτων.
Για να μάθετε πότε είναι νόμιμη η χρήση απομεταγλωττιστή, θα πρέπει να διαβάσετε το κείμενο των παρακάτω περιπτώσεων:
Το Backer Street Software δεν υποστηρίζει τη χρήση αντίστροφης μηχανικής εργαλεία για παράνομους σκοπούς.
Ιστορικό: