Υπάρχουν πολλά εργαλεία απομεταγλώττισης .NET, όπως το ILSpy και το dnSpy, τα οποία ανοίγουν λογισμικό, επιλέγουν τοπικά dll για απομεταγλώττιση και προβάλλουν τον πηγαίο κώδικα.
Υπάρχει κάποια άμεση αποσυμπίληση του πηγαίου κώδικα του τρέχοντος ιστότοπου στο διαδίκτυο; Πρώτον, η ακόλουθη απόδοση είναι η απομεταγλώττιση του τρέχοντος πηγαίου κώδικα στο διαδίκτυο και η προβολή του πηγαίου κώδικα:
Όταν υπάρχουν πάρα πολλοί κλάδοι πηγαίου κώδικα, κάθε κλάδος μπορεί να είναι διαφορετικός και είναι πολύ ενοχλητικό να αντιγράφετε το dll του διακομιστή τοπικά για απομεταγλώττιση κάθε φοράΤο άρθρο λαμβάνει το .NET Framework 4.6.2 ως παράδειγμα για την απομεταγλώττιση του πηγαίου κώδικα στο διαδίκτυο, που περιορίζεται στα dll του .NET Framework.
Αρχικά, λάβετε τη συναρμολόγηση με την οποία είναι φορτωμένη η τρέχουσα εφαρμογή, η οποία είναι όλα τα DLL, όπως φαίνεται στην παρακάτω εικόνα:
Πηγή:
Επιλέγοντας το όνομα της αναπτυσσόμενης λίστας του συγκροτήματος ως μέθοδο εισαγωγής παραμέτρων, μπορείτε να λάβετε όλους τους τύπους του συγκροτήματος (Πρέπει να αφαιρέσουμε τα στοιχεία αντικειμένων που δημιουργεί ο μεταγλωττιστής για εμάς, διαφορετικά θα υπάρχουν πολλά ανώνυμα αντικείμενα), όπως φαίνεται στο παρακάτω σχήμα:
Ο πηγαίος κώδικας έχει ως εξής:
Τέλος, ο πυρήνας του άρθρου, επιλέγοντας τη συναρμολόγηση και τον τύπο αντικειμένου, λαμβάνει τον πηγαίο κώδικα, όπως φαίνεται στο παρακάτω σχήμα:
Χρησιμοποιώντας την κονσόλα πακέτων, εγκαταστήστε το πρόσθετο ICSharpCode.Decompiler με την εντολή nuget, ο πυρήνας του γνωστού εργαλείου απομεταγλωττιστή ILSpy είναι να καλέσετε το πρόσθετο, η εντολή είναι η εξής:
Χρησιμοποιούμε το όνομα του συγκροτήματος και το όνομα του τύπου αντικειμένου ως παραμέτρους και τα περνάμε με την ακόλουθη μέθοδο για να δούμε τον πηγαίο κώδικα.
Αποσυμπίληση του πηγαίου κώδικα dll
(Τέλος)
|