Analizing MIPS εκτελέσιμα: είναι μια βιβλιοθήκη Python για την ανάλυση δυαδικά δεδομένα εκεί;

ψήφοι
10

Δουλεύω σε ένα βοηθητικό πρόγραμμα που θα πρέπει να επιλύσει τις διευθύνσεις εξάγωνο με ένα συμβολικό όνομα της συνάρτησης και τον πηγαίο κώδικα αριθμό γραμμής μέσα σε ένα δυαδικό. Το βοηθητικό πρόγραμμα θα τρέχει σε Linux για x86, αν και τα δυαδικά αναλύει θα είναι για ένα ενσωματωμένο σύστημα MIPS-based. Τα δυαδικά αρχεία MIPS είναι σε ELF μορφή, χρησιμοποιώντας DWARF για το συμβολικό πληροφοριών εντοπισμού σφαλμάτων.

Είμαι σχεδιάζει σήμερα στο πιάτο objdump, περνώντας σε μια λίστα με τις διευθύνσεις εξάγωνο και την ανάλυση της εξόδου για να πάρει τα ονόματα λειτουργία και αριθμούς γραμμής πηγής. Έχω συντάξει ένα objdump με υποστήριξη για MIPS εκτελέσιμα, και λειτουργεί.

Θα προτιμούσα να έχουμε ένα πακέτο που μου επιτρέπει να δούμε τα πράγματα εγγενώς από τον κώδικα Python χωρίς forking μια άλλη διαδικασία. Μπορώ να βρω καμία αναφορά libdwarf, libelf, ή libbfd για python.org, ούτε οποιαδήποτε αναφορά python για dwarfstd.org.

Υπάρχει μια κατάλληλη μονάδα διαθέσιμο κάπου;

Δημοσιεύθηκε 05/09/2008 στις 15:44
πηγή χρήστη
Σε άλλες γλώσσες...                            


6 απαντήσεις

ψήφοι
3

Δεν ξέρω οποιουδήποτε, αλλά αν όλα τα άλλα αποτύχουν, μπορείτε να χρησιμοποιήσετε ctypes να χρησιμοποιήσετε άμεσα libdwarf, libelf ή libbfd.

Απαντήθηκε 05/09/2008 στις 16:23
πηγή χρήστη

ψήφοι
4

Θα πρέπει να δώσετε Κατασκευάστε μια δοκιμή. Είναι πολύ χρήσιμο να αναλύσει δυαδικά δεδομένα σε αντικείμενα python.

Υπάρχει ακόμη ένα παράδειγμα για το ELF32 μορφή αρχείου.

Απαντήθηκε 04/02/2009 στις 10:19
πηγή χρήστη

ψήφοι
3

Έχω αναπτύξει ένα νάνο αναλυτή χρησιμοποιώντας Construct . Επί του παρόντος αρκετά τραχύ και ανάλυσης είναι αργή. Αλλά σκέφτηκα ότι θα έπρεπε τουλάχιστον να σας ενημερώσουμε. Μπορεί να ανταποκριθεί στις ανάγκες σας, με ένα κομμάτι της εργασίας.

Έχω τον κωδικό στο Mercurial, που φιλοξενείται στο bitbucket:

Κατασκευάστε είναι μια πολύ ενδιαφέρουσα βιβλιοθήκη. Νάνος είναι μια σύνθετη μορφή (όπως είμαι ανακάλυψη) και ωθεί Κατασκευάστε στα όριά της, νομίζω.

Απαντήθηκε 30/08/2009 στις 01:48
πηγή χρήστη

ψήφοι
2

hachior είναι μια άλλη βιβλιοθήκη για την ανάλυση δυαδικά δεδομένα

Απαντήθηκε 11/06/2010 στις 15:23
πηγή χρήστη

ψήφοι
8

Ίσως να ενδιαφέρονται για νάνου βιβλιοθήκη από pydevtools :

>>> from bintools.dwarf import DWARF
>>> dwarf = DWARF('test/test')
>>> dwarf.get_loc_by_addr(0x8048475)
('/home/emilmont/Workspace/dbg/test/main.c', 36, 0)
Απαντήθηκε 05/09/2010 στις 18:29
πηγή χρήστη

ψήφοι
4

Παρακαλώ ελέγξτε pyelftools - μια νέα βιβλιοθήκη καθαρή Python γραφτό να γίνει αυτό.

Απαντήθηκε 06/01/2012 στις 08:11
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more