
το προϊόν μου έχει πολλές συνιστώσες: ASP.NET, Έντυπα των Windows App και Windows Υπηρεσία. 95% ή έτσι του κώδικα είναι γραμμένο σε VB.NET.


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


Αυτό που ξέρω ότι θα πρέπει να αναζητήσει μέχρι τώρα:


* ***Σειριοποίησης / De-serialization*** . Στην τρέχουσα λύση μου, απλά πείτε το εργαλείο **δεν** με θολώνω οποιαδήποτε μέλη τα δεδομένα της κατηγορίας, διότι ο πόνος του να μην είναι σε θέση να φορτώσει τα δεδομένα που προηγουμένως σε συνέχειες είναι απλά πάρα πολύ μεγάλη.
* ***Ενσωμάτωση με τη διαδικασία της μεταγλώττισης***
* ***Εργασία με ASP.NET*** . Στο παρελθόν, έχω διαπιστώσει ότι αυτό προβληματική λόγω των μεταβαλλόμενων .dll ονόματα (που συχνά έχουν μία ανά σελίδα) - το οποίο χειρίζεται καλά δεν είναι όλα τα εργαλεία.

 
NET εργαλεία συσκότιση / στρατηγικής
====================================



Επιστροφή με .Net 1.1 συσκότιση ήταν απαραίτητη: Κωδικός μεταγλώττιση ήταν εύκολο, και θα μπορούσε να πάει από το συγκρότημα, με την IL, με C # κώδικα και έχουν συνταχθεί και πάλι με πολύ λίγη προσπάθεια.


Τώρα με .Net 3.5 δεν είμαι καθόλου σίγουρος. Δοκιμάστε μεταγλώττιση ένα συγκρότημα 3.5? αυτό που παίρνετε είναι μια μακρά μακριά από τη σύνταξη.


Προσθέστε τις βελτιστοποιήσεις από 3,5 (πολύ καλύτερα από 1,1) και τον τρόπο ανώνυμο τύπων, αντιπροσώπους και ούτω καθεξής αντιμετωπίζονται με αντανάκλαση (που είναι ένας εφιάλτης να ξαναμεταγλωττίσετε). Προσθέστε λάμδα εκφράσεις, compiler «μαγεία», όπως Linq-σύνταξη και `var`, και C # 2 λειτουργίες, όπως `yield`(η οποία οδηγεί σε νέες κατηγορίες με δυσανάγνωστο όνομα). Decompiled κωδικό σας καταλήγει σε μεγάλο μακριά από μεταγλωττιστεί.


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


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

 

Έχω χρησιμοποιήσει smartassembly. Βασικά, μπορείτε να επιλέξετε ένα αρχείο DLL και επιστρέφει ασαφή. Φαίνεται να λειτουργεί μια χαρά και είχα κανένα πρόβλημα μέχρι τώρα. Πολύ, πολύ εύκολο στη χρήση.

 

Αν ψάχνετε για ένα δωρεάν μία θα μπορούσατε να δοκιμάσετε DotObfuscator Έκδοση της Κοινότητας που έρχεται με το Visual Studio ή [Eazfuscator.NET](http://www.gapotchenko.com/eazfuscator.net) .




---


[Από 29 Ιουν 2012](http://blog.gapotchenko.com/eazfuscator.net/code-virtualization) , Eazfuscator.NET είναι πλέον εμπορικά. Η τελευταία δωρεάν διαθέσιμη έκδοση είναι η 3.3.

 

Έχω δοκιμάσει σχεδόν κάθε συσκοτιστής στην αγορά και SmartAssembly είναι το καλύτερο κατά τη γνώμη μου.

 

Έχουμε δοκιμάσει μια σειρά από obfuscators. Κανένας από αυτούς εργάζονται σε ένα μεγάλο πελάτη app / server που χρησιμοποιεί το απομακρυσμένης πρόσβασης. Το πρόβλημα είναι ότι ο πελάτης και ο διακομιστής μερίδιο μερικά DLL, και δεν έχουμε βρει κανένα συσκοτιστής που μπορεί να το χειριστεί.


Έχουμε δοκιμάσει DotFuscator Pro, SmartAssembly, XenoCode, Σαλαμάνδρα, και αρκετές μικρές εφαρμογές χρόνο των οποίων τα ονόματα ξεφύγουν από μένα.


**Ειλικρινά, είμαι πεπεισμένος συσκότισης είναι ένα μεγάλο hack.**


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

 

Έχω obfuscating κώδικα στην ίδια εφαρμογή από την Καθαρή 1, και αυτό είναι ένα σημαντικό πονοκέφαλο από την άποψη της συντήρησης. Όπως σας έχω αναφέρει, το πρόβλημα σειριακή μπορεί να αποφευχθεί, αλλά είναι πολύ εύκολο να κάνει ένα λάθος και θολώνω κάτι που δεν ήθελε ασαφή. Είναι εύκολο να σπάσει την κατασκευή, ή για να αλλάξετε το μοτίβο συσκότιση και να μην είναι σε θέση να ανοίξει τα παλιά αρχεία. Πλέον μπορεί να είναι δύσκολο να βρείτε τι πήγε στραβά και πού.


Η επιλογή μας ήταν Xenocode, και ήταν εγώ να κάνω την επιλογή και πάλι σήμερα θα προτιμούσα να μην θολώνω τον κωδικό ή χρησιμοποιήστε Dotfuscator. 

 

Έχω, επίσης, τη χρήση SmartAssembly. Βρήκα ότι Ezrinz Καθαρά αντιδραστήρα πολύ καλύτερα για μένα στο .net εφαρμογές. Είναι συσκοτίζει, υποστηρίζουν Mono, συγχωνεύει συνελεύσεις και επίσης έχει και μια πολύ ωραία ενότητα αδειοδότησης για τη δημιουργία δοκιμαστική έκδοση ή να συνδέσουν την άδεια σε ένα συγκεκριμένο μηχάνημα (πολύ εύκολο να εφαρμοστούν). Η τιμή είναι επίσης πολύ ανταγωνιστική και όταν χρειάστηκε υποστήριξη που όπου γρήγορα.
[Eziriz](http://www.eziriz.com/)


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

 

Θα πρέπει να χρησιμοποιήσετε ό, τι είναι φθηνότερη και πιο γνωστός για την πλατφόρμα σας και να το ονομάσουμε την ημέρα. Συσκότιση των γλωσσών υψηλού επιπέδου είναι ένα δύσκολο πρόβλημα, γιατί VM ρεύματα opcode δεν πάσχουν από τα δύο μεγαλύτερα προβλήματα μητρική ρεύματα opcode κάνετε: Λειτουργία / ταυτοποίησης μέθοδο και εγγραφείτε aliasing.


Τι πρέπει να γνωρίζετε για το bytecode αντιστροφή είναι ότι είναι ήδη καθιερωμένη πρακτική για τους ελεγκτές ασφαλείας να εξετάσει κατ 'ευθείαν κωδικό X86 και να βρει τα τρωτά σημεία σε αυτό. Σε πρώτων X86, μπορείτε να όχι απαραίτητα να βρείτε ακόμη και έγκυρη λειτουργίες, πόσο μάλλον να παρακολουθήσετε μια τοπική μεταβλητή διάρκεια μιας κλήσης συνάρτησης. Σχεδόν σε καμία περίπτωση δεν μητρική Αντιστροφείς κωδικό πρόσβασης για τη λειτουργία και τα ονόματα των μεταβλητών --- εκτός και αν αναθεώρηση κώδικα της Microsoft, για τα οποία MSFT παρέχει πρόθυμα ότι οι πληροφορίες στο κοινό.


«Dotfuscation» δουλεύει κυρίως με τη λειτουργία και τα ονόματα των μεταβλητών κρυπτογράφησης. Είναι ίσως καλύτερα να το κάνετε αυτό από ό, τι δημοσιεύει κωδικό με πληροφορίες εντοπισμού σφαλμάτων σε επίπεδο, όπου ο ανακλαστήρας είναι κυριολεκτικά να σταματήσει τον πηγαίο κώδικα σας. Αλλά ό, τι κάνετε πέρα ​​από αυτό είναι πιθανό να μπει σε φθίνουσες αποδόσεις.

 

Έχω πρόσφατα προσπάθησε σωληνώσεις την έξοδο από μία δωρεάν συσκοτιστής στο άλλο χωρίς συσκοτιστής - δηλαδή Dotfuscator CE και το νέο συσκοτιστής Βαβέλ για CodePlex. Περισσότερες λεπτομέρειες [για το blog μου](http://harriyott.com/2008/09/obfuscations-what-you-need-if-you-want.aspx) .


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

 

Είχα κανένα πρόβλημα με Smartassembly.

 

Έχουμε ένα multi tier εφαρμογή με asp.net και διασύνδεση winform που υποστηρίζει επίσης απομακρυσμένης πρόσβασης. Είχα κανένα πρόβλημα με τη χρήση οποιουδήποτε συσκοτιστής με εξαίρεση τον τύπο κρυπτογράφησης που δημιουργεί ένα φορτωτή που μπορεί να είναι προβληματική σε όλα τα είδη των απροσδόκητους τρόπους και απλά δεν αξίζει τον κόπο κατά τη γνώμη μου. Στην πραγματικότητα η συμβουλή μου θα ήταν περισσότερο προς την κατεύθυνση της «Αποφύγετε την κρυπτογράφηση obfuscators τύπου φορτωτή σαν την πανούκλα». :)


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


Χρησιμοποιήσαμε πολλά όλα αυτά τα χρόνια στις εμπορικές μας εφαρμογές και εγκαταστάθηκαν στην Μπαχαρικά συσκοτιστής από 9rays.net επειδή η τιμή είναι σωστή, κάνει τη δουλειά του και έχουν καλή υποστήριξη αν και πραγματικά δεν χρειαζόταν την υποστήριξη χρόνια πια, αλλά για να είμαι ειλικρινής δεν το πιστεύετε πραγματικά ζητήματα που obfuscator που χρησιμοποιείτε, τα θέματα και καμπύλη εκμάθησης είναι όλοι το ίδιο, αν θέλετε να έχετε δουλέψει σωστά με απομακρυσμένης πρόσβασης και asp.net.


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


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


Είναι πολύ εύκολο να το λάβει αυτό πολύ μακριά και έχουν αρνητικό αντίκτυπο στους πελάτες σας και την επιχείρησή σας, κάνει ό, τι είναι απλό και λογικό και, στη συνέχεια, μην ανησυχείτε γι 'αυτό.

 

Μπορεί επίσης να θέλετε να εξετάσει τις νέες τεχνολογίες προστασίας του κώδικα, όπως [Metaforic](http://www.metaforic.com/) και [ViLabs](http://www.vilabs.com/) και τις νέες τεχνολογίες προστασίας αντιγραφής λογισμικού, όπως [ByteShield](http://www.byteshield.net/) . Αποκάλυψη: Δουλεύω για ByteShield.

 

Για τις δύο τελευταίες ημέρες έχω πειραματιστεί με Dotfuscator Έκδοση της Κοινότητας προωθείται (μια δωρεάν download, μετά την εγγραφή του βασικού CE που έρχεται πακέτο με το Visual Studio). 


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


Προσπάθησα να θολώνω ένα πραγματικό έργο το οποίο είναι VSTO βασίζεται στο Excel, με το Virtual ένταξη της Γης, πολλές κλήσεις webservice και ένα δοχείο ΔΟΕ και την παρτίδα της αντανάκλασης. Ήταν αδύνατο.


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

 

Θα ήθελα επίσης να χρησιμοποιήσετε smartassembly. Ωστόσο, δεν ξέρω πώς λειτουργεί μια διαδικτυακή εφαρμογή. Ωστόσο, θα ήθελα να επισημάνω ότι, αν η εφαρμογή χρησιμοποιεί την προστασία τύπου shareware, βεβαιωθείτε ότι δεν ελέγχουν άδεια με μια δυαδική επιστροφή. Είναι πάρα πολύ εύκολο να byte ρωγμή.
<http://blogs.compdj.com/post/Binary-hack-a-NET-executable.aspx>

 

Είμαστε χρησιμοποιώντας SmartAssembly στα παράθυρα των πελατών μας. Λειτουργεί μια χαρά.


Μήπως να προσθέσετε κάποια επιπλέον προβλήματα. Εκτύπωση από τα ονόματα τάξη σας σε αρχεία καταγραφής / εξαιρέσεις πρέπει να απο-ασαφή. Και φυσικά δεν μπορεί να δημιουργήσει μια τάξη από το όνομά του. Έτσι είναι μια καλή ιδέα να ρίξετε μια ματιά στο πελάτη σας και να δείτε ποια προβλήματα μπορείτε να πάρετε από obfuscating.

 

Είμαι «Knee Deep» σε αυτό τώρα, προσπαθούμε να βρούμε μια καλή λύση. Εδώ είναι οι εντυπώσεις μου μέχρι τώρα.


**Xenocode** - Έχω μια παλιά άδεια για Xenocode2005 που συνήθιζα να χρησιμοποιήσετε για obfuscating .net μου 2.0 συνελεύσεις. Δούλεψε πρόστιμο σε XP και ήταν ένα αξιοπρεπές λύση. Τρέχον έργο μου είναι .net 3.5 και είμαι σε Vista, υποστήριξη μου είπε να δώσει μια πάει, αλλά η έκδοση του 2005 δεν είναι καν δουλειά σε Vista (κολλάει) γι 'αυτό και τώρα έχω να αγοράσουν «PostBuild2008» σε gobsmacking σημείο τιμών των $ το 1900. Αυτό μπορεί να είναι ένα καλό εργαλείο, αλλά εγώ δεν πρόκειται να το μάθετε. Πολύ ακριβό.


**Reactor.Net** - Αυτή είναι μια πολύ πιο ελκυστική τιμή και αυτό λειτούργησε καλά στο Αυτόνομο executeable μου. Η μονάδα χορήγησης αδειών ήταν επίσης ωραίο και θα μου είχε σώσει μια δέσμη των προσπαθειών. Δυστυχώς, αυτό λείπει ένα βασικό χαρακτηριστικό και αυτό είναι η δυνατότητα να Εξαίρεση πράγματα από την συσκότιση. Αυτό καθιστά αδύνατο να επιτευχθεί το αποτέλεσμα που χρειαζόμουν (Συγχώνευση πολλαπλά συγκροτήματα μαζί, θολώνω κάποια, όχι και περιπλέκει τους άλλους).


**SmartAssembly** - θα κατεβάσει την Eval γι 'αυτό και λειτούργησε άψογα. Ήμουν σε θέση να επιτύχει ό, τι ήθελε και η διασύνδεση ήταν πρώτης κατηγορίας. Σημείο τιμή εξακολουθεί να είναι λίγο βαρύ.


**Dotfuscator Pro** - Δεν ήταν δυνατή η εύρεση των τιμών στην ιστοσελίδα. Επί του παρόντος, σε συζητήσεις για να πάρει ένα απόσπασμα. Ακούγεται δυσοίωνο.


**Confuser** - ένα έργο ανοικτού πηγαίου κώδικα που λειτουργεί αρκετά καλά (να συγχέουμε PPL, ακριβώς όπως υποδηλώνει το όνομα). <https://confuser.codeplex.com/>   
 (προστέθηκε από jgauffin)


Σημείωση: ConfuserEx φέρεται να «σπάσει», σύμφωνα με [το τεύχος # 498](https://github.com/yck1509/ConfuserEx/issues/498) στις συμφωνίες επαναγοράς τους GitHub.

 

Όλα εξαρτώνται από τη γλώσσα προγραμματισμού, το οποίο μπορείτε να χρησιμοποιήσετε. Διαβάστε το άρθρο: [Συγκεχυμένο κώδικα](http://en.wikipedia.org/wiki/Obfuscated_code)

 

[Εδώ είναι ένα έγγραφο από τον εαυτό της Microsoft.](http://msdn.microsoft.com/en-us/magazine/cc164058.aspx) Ελπίδα που βοηθά ..., είναι από το 2003, αλλά θα μπορούσε να είναι ακόμα σημαντική.

 

ο ελεύθερος τρόπος θα ήταν να χρησιμοποιήσετε dotfuscator μέσα από το Visual Studio, διαφορετικά θα είχατε να βγούμε έξω και να αγοράσει ένα συσκοτιστής όπως Postbuild ( <http://www.xenocode.com/Landing/Obfuscation.aspx> )

 

Η σύντομη απάντηση είναι ότι δεν μπορείς.


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


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

 

Θα μπορούσατε να χρησιμοποιήσετε το «Dotfuscator Έκδοση της Κοινότητας» - έρχεται από προεπιλογή στο Visual Studio 2008 Professional. Μπορείτε να διαβάσετε για αυτό σε:


<http://msdn.microsoft.com/en-us/library/ms227240%28VS.80%29.aspx>  

<http://www.preemptive.com/dotfuscator.html>


Η «Επαγγελματική» έκδοση του προϊόντος κοστίζει χρήματα, αλλά είναι καλύτερα.


Πιστεύετε πραγματικά χρειάζεται ασαφής τον κωδικό σας; Συνήθως υπάρχει πολύ λίγο λάθος με την αίτησή σας να ανακατασκευαστεί, εκτός αν χρησιμοποιείται για λόγους ασφαλείας. Εάν ανησυχείτε για τους ανθρώπους «κλέβουν» τον κωδικό σας, δεν είναι? η συντριπτική πλειοψηφία των ανθρώπων που ψάχνουν στα κωδικό σας θα είναι για εκπαιδευτικούς σκοπούς. Τέλος πάντων, δεν υπάρχει καμία απολύτως αποτελεσματική στρατηγική συσκότισης για ΝΕΤ - κάποιος με αρκετή επιδεξιότητα θα είναι πάντα σε θέση να αποκωδικοποιήσει / αλλάξετε την εφαρμογή σας.

 

Προσπάθησα Eziriz δοκιμαστική έκδοση .... μου άρεσε. Αλλά ποτέ δεν έφερε το λογισμικό.

 

[Crypto Obfuscator](http://www.ssware.com/cryptoobfuscator/obfuscator-net.htm) αντιμετωπίσει όλες τις ανησυχίες και τα σενάρια σας. Είναι:


1. εξαιρεί αυτόματα τους τύπους / μελών από την συσκότιση που βασίζεται σε κανόνες. Συνέχειες τύπους / τομείς είναι ένας από αυτούς.
2. Μπορεί να ενταχθεί στη διαδικασία κατασκευής χρησιμοποιώντας MSBuild.
3. Υποστηρίζει έργα ASP.Net.

 

SmartAssembly είναι μεγάλη, είχα συνηθίσει στα περισσότερα από τα έργα μου

 

Έπρεπε να χρησιμοποιήσετε μια προστασία συσκότιση / πόρων στην τελευταία rpoject μου και βρήκα [Crypto Obfuscator](http://www.ssware.com/cryptoobfuscator/obfuscator-net.htm) ως ένα ωραίο και απλό στη χρήση εργαλείο. Το θέμα serialization είναι μόνο θέμα των ρυθμίσεων σε αυτό το εργαλείο.

 

Αποφύγετε αντιδραστήρα. Είναι εντελώς άχρηστη (και ναι πλήρωσα για την άδεια). Xenocode ήταν η καλύτερη που αντιμετώπισα και αγόρασε μια άδεια για πάρα πολύ. Η υποστήριξη ήταν πολύ καλό, αλλά εγώ δεν το χρειάζεται όσο ακριβώς λειτούργησε. Θα δοκιμαστεί κάθε συσκοτιστής θα μπορούσα να βρω και το συμπέρασμά μου είναι ότι xenocode ήταν μακράν η πιο ισχυρή και έκανε την καλύτερη δουλειά (και δυνατότητα για να υποβάλετε τη διαδικασία .NET exe σας με φυσικό exe το οποίο δεν είχα δει πουθενά αλλού.).


Υπάρχουν δύο κύριες διαφορές μεταξύ του αντιδραστήρα και xenocode. Το πρώτο είναι ότι Xenocode λειτουργεί πραγματικά. Το δεύτερο είναι ότι η ταχύτητα εκτέλεσης των συγκροτημάτων σας δεν είναι διαφορετική. Με αντιδραστήρα ήταν περίπου 6 εκατομμύρια φορές πιο αργά. Έχω επίσης την εντύπωση ότι αντιδραστήρα ήταν μια πράξη ενός ανθρώπου.

 

Βρήκα το Agile.Net παρέχει πολύ καλή προστασία για την Καθαρά Συνέλευσης σας, διότι δεν προσφέρουν μόνο συσκότιση, αλλά και κρυπτογράφησης. Κατεβάστε ένα δωρεάν διαδρομή.   

<http://secureteam.net/NET-Code-Protection.aspx>
<http://secureteam.net/downloads.aspx>

 

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

 

Υπάρχει μια καλή έκδοση ανοικτού κώδικα που ονομάζεται Obfuscar. Φαίνεται να λειτουργεί μια χαρά. Τύποι, ιδιότητες, πεδία, οι μέθοδοι μπορεί να αποκλειστεί. Το πρωτότυπο είναι εδώ: <https://code.google.com/p/obfuscar/> , αλλά δεδομένου ότι δεν φαίνεται να ενημερωθεί πλέον, κάποιος θα διχαλωτή εδώ: <https://obfuscar.codeplex.com/>

 

Προσπαθήστε να χρησιμοποιήσετε αυτή την υπηρεσία <http://morpher.com/>


Το χρησιμοποίησα για ένα έργο.

 