Συσκότιση εφαρμογών που δημιουργήθηκαν με χρήση του Dotfuscator

Σελίδα ενημέρωση :
Ημερομηνία δημιουργίας σελίδας :

περίληψη

Επειδή οι εφαρμογές που βασίζονται στο .NET Framework δημιουργούνται σε αυτό που ονομάζεται κοινή ενδιάμεση γλώσσα, μπορούν να διαβαστούν σε μια μορφή κοντά στον αρχικό πηγαίο κώδικα χρησιμοποιώντας εργαλεία αποσυναρμολόγησης και παρόμοια. Αυτή η ενότητα περιγράφει τον τρόπο συσκότισης του Dotfuscator, του συσκοτίστη που συνοδεύει το Visual Studio, για να συσκοτίσετε τα ονόματα κλάσεων και μεθόδων σε μια μορφή που δεν είναι εύκολα αναγνώσιμη.

Μιλάμε για αυτό εδώ χρησιμοποιώντας το Visual Studio 2010, αλλά μπορείτε να χρησιμοποιήσετε το Dotfuscator το 2005 και το 2008 επίσης.

Dotfuscator を使用して作成したアプリケーションを難読化する

Περιβάλλον λειτουργίας

Υποστηριζόμενες εκδόσεις του Visual Studio

  • 2005
  • 2008
  • 2010

Ελέγξτε την έκδοση του Visual Studio

  • 2005
  • 2008
  • 2010

ουσία

Σχετικά με το Dotfuscator

Το Dotfuscator είναι ένα εργαλείο συσκότισης που καθιστά δύσκολη την ανάγνωση του πηγαίου κώδικα κατά την αποσυναρμολόγηση σε εφαρμογές που έχουν γραφτεί με το .NET Framework. Το Dotfuscator συνοδεύεται από το Visual Studio δωρεάν και έναντι αμοιβής.

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

Το Dotfuscator έχει διαφορετικές δυνατότητες, τιμές και εκδόσεις ανάλογα με την έκδοση, οπότε ανατρέξτε στην ακόλουθη αρχική σελίδα για λεπτομέρειες.

Διαδικασία συσκότισης

難読化していないアプリケーションの逆アセンブル結果

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

Περιγράφει τα βήματα για να κάνετε αυτά τα ονόματα συγκεχυμένα και συγκεχυμένα.

Dotfuscator Software Services

Η δημιουργία μιας εφαρμογής στο Visual Studio και η δημιουργία ενός αρχείου exe είναι ακριβώς ο ίδιος με τον κανονικό τρόπο δημιουργίας του.

Αφού δημιουργήσετε και δημιουργήσετε το αρχείο exe, επιλέξτε Εργαλεία από το μενού του Visual Studio και, στη συνέχεια, επιλέξτε Υπηρεσίες λογισμικού Dotfuscator.

使用許諾契約書

Όταν ξεκινήσετε για πρώτη φορά, το παράθυρο διαλόγου "Άδεια χρήσης" εμφανίζεται όπως φαίνεται στην εικόνα στα δεξιά, οπότε διαβάστε προσεκτικά τα περιεχόμενα, επιλέξτε "Ναι, συμφωνώ με τη συμφωνία άδειας χρήσης. " και κάντε κλικ στο κουμπί "OK".

Dotfuscator Software Services

Ξεκινούν οι υπηρεσίες λογισμικού dotfuscator.

入力アセンブリの追加

Το exe (ή το αρχείο dll) που πρέπει να συσκοτιστεί δεν χρειάζεται να προέρχεται από το τρέχον ανοιχτό έργο.

Επιλέξτε Συγκροτήματα εισόδου από το δέντρο στα αριστερά και κάντε κλικ στο Συγκροτήματα εισόδου στα δεξιά για να κάνετε κλικ στο κουμπί ....

難読化する exe ファイル

Επιλέξτε το αρχείο exe που θέλετε να αποκρύψετε.

追加したアセンブリ

Το επιλεγμένο αρχείο exe προστίθεται στη λίστα. Εάν θέλετε να αποκρύψετε πολλά αρχεία, κάντε κλικ στο κουμπί "..." μετά τη δεύτερη γραμμή για να τα προσθέσετε.

プロジェクトのビルド

Αφού επιλέξετε το exe που θέλετε να αποκρύψετε, κάντε κλικ στο κουμπί Δόμηση έργου από τη γραμμή εργαλείων.

プロジェクトの保存

Εάν υπάρχουν αλλαγές στο έργο, εμφανίζεται το παράθυρο διαλόγου επιβεβαίωσης αποθήκευσης έργου, οπότε κάντε κλικ στο "Ναι" για αποθήκευση.

プロジェクトの保存場所指定

Το έργο ονομάζεται «». xml" αρχείο. Το συσκοτισμένο αρχείο exe θα αποθηκευτεί επίσης στην ίδια θέση, οπότε αποθηκεύστε το αρχείο .xml σε οποιονδήποτε φάκελο.

ビルド

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

Το πεδίο μηνύματος εμφανίζει απλά αποτελέσματα, όπως την πρόοδο της δομής και πόσο συγκεχυμένη ήταν.

難読化結果

Εάν επιλέξετε "Αποτέλεσμα" από το δέντρο στα αριστερά, μπορείτε να δείτε λεπτομέρειες για το πώς έχουν αλλάξει τα ονόματα κλάσεων και μεθόδων.

Κάτω από τα ονόματα κλάσεων και μεθόδων, υπάρχει ένα εικονίδιο Dotfuscator και ένα όνομα όπως "a" ή "b", το οποίο είναι το συγκεχυμένο όνομα. Αλλάζοντας το όνομα της κλάσης ή το όνομα της μεθόδου σε ένα όνομα χωρίς νόημα όπως αυτό, μπορείτε να κάνετε τα περιεχόμενα του πηγαίου κώδικα δύσκολα στην ανάγνωση ακόμα και αν αποσυναρμολογηθεί.

難読化したアセンブリ

Τα συσκοτισμένα αρχεία exe δημιουργούνται στο φάκελο .xml αρχεία που αποθηκεύονται στο Save Project, που ονομάζονται "Dotfuscated" και δημιουργούνται σε αυτόν. Εκτός από το αρχείο exe, έχει δημιουργηθεί ένα αρχείο "Map .xml", αλλά αυτό είναι το αποτέλεσμα της συσκότισης και δεν πρέπει να χρησιμοποιείται.

難読化したアセンブリの実行時エラー

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

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

Οι εφαρμογές φόρμας των Windows παραπέμπουν απευθείας στην κλάση From, ώστε να μπορούν να εκτελούνται χωρίς σφάλματα ακόμα και αν είναι συγκεχυμένες. Ωστόσο, εάν καθορίσετε ένα όνομα κλάσης, έναν τύπο απαρίθμησης κ.λπ.

難読化の除外

Αν δεν θέλετε να συσκοτίσετε μια κλάση ή κάτι τέτοιο, επιλέξτε Μετονομασία από το δέντρο στην αριστερή πλευρά του Dotfuscator και επιλέξτε Εξαίρεση από τη μεσαία καρτέλα.

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

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

難読化から除外されたクラス

Όταν κάνετε τη δομή, μπορείτε να δείτε ότι δεν υπάρχει αλλαγμένο όνομα κάτω από το όνομα της κλάσης στο MainWindows. (Η κλάση εφαρμογής έχει μετατραπεί σε "a")

難読化したアセンブリの実行

Όταν εκτελείτε το συσκοτισμένο αρχείο exe, μπορείτε να δείτε ότι το παράθυρο εμφανίζεται σωστά.

難読化後の逆アセンブル

Εάν αποσυναρμολογήσετε το συσκοτισμένο αρχείο exe, μπορείτε να δείτε ότι το όνομα της κλάσης και το όνομα της μεθόδου έχουν αλλάξει σωστά σε "a" ή "b".

Αλλά παρεμπιπτόντως. Οι βιβλιοθήκες του NET Framework, όπως τα ονόματα κλάσεων, δεν υπόκεινται σε μετονομασία, επειδή είναι συγκροτήσεις που είναι ήδη εγκατεστημένες στα Windows και αλλού.

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

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