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

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

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

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

Επιλογή

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

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

Διαφέρουν ως προς τις ρυθμίσεις και τη λίστα χαρακτηριστικών.

Μια σωστά επιλεγμένη γεννήτρια μπορεί να απλοποιήσει σημαντικά τη διαδικασία οργάνωσης προωθήσεων και ειδικών προσφορών, καθώς και κληρώσεων.

Τα κύρια χαρακτηριστικά

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

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

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

Τα κύρια τεχνικά χαρακτηριστικά των υπηρεσιών που αναφέρονται παρακάτω φαίνονται στον πίνακα.

Τραπέζι 1 . Συγκριτικά χαρακτηριστικά διαφόρων υπηρεσιών για τη δημιουργία κωδικών προσφοράς
ΟνομαΑδειαΠρόθεμα, postfixΕπιλογή των συμβόλων που θα χρησιμοποιηθούνΕπιλέγοντας τον αριθμό των χαρακτήρωνΓρήγορη παραγωγή πολλαπλών κωδικών
GetEasyCode.ruΔωρεάν δοκιμή, με προκαταβολήΝαίΝαίΝαίΝαί
ΤυχαιοποίησηΕλεύθεροςΟχιΝαίΝαίΝαί
TakeTheCodeΕλεύθεροςΜόνο πρόθεμαΝαίΝαίΝαί
ΑκαδημίαΕλεύθεροςΟχιΟχιΟχιΟχι
Γεννήτρια ukrbio.comΕλεύθεροςΟχιΠεριορισμένοςΝαίΝαί
Στούντιο F1ΕλεύθεροςΟχιΠεριορισμένοςΝαίΝαί
InglobalΕλεύθεροςΜόνο πρόθεμαΠεριορισμένοςΝαίΝαί

Με βάση αυτά τα χαρακτηριστικά, είναι ευκολότερο να κάνετε τη σωστή επιλογή.

GetEasyCode.ru

Πρόκειται για έναν ιστότοπο μιας σελίδας γρήγορης φόρτωσης με μια γεννήτρια που είναι γρήγορη και σταθερή.

Σχεδόν πάντα διαθέσιμο.

Το κύριο χαρακτηριστικό γνώρισμα της υπηρεσίας– μέγιστη λειτουργικότητα και υψηλή ταχύτητα.

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

  • Σας επιτρέπει να δημιουργήσετε ένα πρόθεμα και ένα postfix.
  • Μπορείτε να δημιουργήσετε πολλούς κωδικούς ταυτόχρονα (από 1 έως 100).
  • Ο χρήστης μπορεί να επιλέξει ποια σύμβολα θα χρησιμοποιήσει στον κώδικα.
  • Αβολική εναλλαγή του αριθμού των κωδικών.
  • Παροχή επί πληρωμή από 100 έως 999 κωδικούς - κόστος 299 ρούβλια (κατά τη στιγμή της σύνταξης).
  • Παροχή επί πληρωμή 1000 κωδικών και άνω - κόστος 999 ρούβλια (επίσης τη στιγμή της σύνταξης).
  • Πρέπει να πατάτε συνεχώς το κουμπί "Δεν είμαι ρομπότ".

Δείτε τι λένε οι χρήστες που έχουν ήδη χρησιμοποιήσει αυτήν τη γεννήτρια: "Βολική, πολυλειτουργική υπηρεσία", "Αρκετά υψηλές τιμές για τη γενιά", "Είναι βολικό να χρησιμοποιείτε αυτήν τη γεννήτρια - τη χρησιμοποιώ μόνο".

Τυχαιοποίηση

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

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

Αυτή η γεννήτρια τοποθετείται ως premium υπηρεσία για ηλεκτρονικά καταστήματα.

Δεν είναι το πιο εύκολο στη χρήση, αλλά είναι μια πραγματικά πλούσια σε χαρακτηριστικά και δωρεάν υπηρεσία.

Το κύριο χαρακτηριστικό της υπηρεσίας είναι η διαθεσιμότητα του λεγόμενου τρόπου δημιουργίας «ατομικών» κωδικών.

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

  • Δυνατότητα εγγραφής προθέματος.
  • Δυνατότητα μη αυτόματης εισαγωγής των χρησιμοποιούμενων συμβόλων.
  • Διαθεσιμότητα μιας λειτουργίας ρυθμίσεων «μεμονωμένης» παραγωγής.
  • Μπορείτε να δημιουργήσετε έως και 10 εκατομμύρια κωδικούς και να τους κατεβάσετε σε μια ή την άλλη μορφή.
  • Υποδεικνύει την πιθανότητα επιλογής κωδικών διαφορετικών τύπων.
  • Αδυναμία εγγραφής postfix.
  • Περιορισμένος μικρός αριθμός χαρακτήρων (από 4 έως 16).
  • Δημιουργούνται τουλάχιστον 1000 κωδικοί.

Οι χρήστες ανταποκρίνονται στην υπηρεσία με τον ακόλουθο τρόπο: "Είναι βολικό να μπορείτε να δημιουργήσετε πολλούς κωδικούς ταυτόχρονα" και το μενού δεν είναι πολύ βολικό."

Ακαδημία

Αυτή η γεννήτρια είναι διαθέσιμη για χρήση στον σύνδεσμο https://academy.ru/personal/promo-gen/.

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

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

Είναι σημαντικό να καταλάβετε ότι αυτός ο ιστότοπος δεν είναι εξειδικευμένος δημιουργός. Μπορεί να βοηθήσει για εφάπαξ γενιά.

Αλλά είναι αδύνατο να το χρησιμοποιήσετε σε μαζική κλίμακα.

  • Γρήγορη παραγωγή χωρίς περιττές ρυθμίσεις.
  • Βολική αντιγραφή κωδικού πατώντας ένα κουμπί.
  • Έτοιμη βάση δεδομένων αχρησιμοποίητων κωδικών προσφοράς.
  • Πολύ μικρός αριθμός συναρτήσεων - δεν μπορείτε να επιλέξετε τον αριθμό ή τον αριθμό των κωδικών που δημιουργούνται ταυτόχρονα κ.λπ.
  • Δεν μπορείτε να καθορίσετε ένα πρόθεμα ή ένα postfix ο σχεδιασμός του κώδικα επιλέγεται επίσης από το σύστημα.
  • Υπάρχουν πολλοί διαφορετικοί σύνδεσμοι και σχεδιαστικές περιπλοκές στη σελίδα, γεγονός που καθιστά τη δουλειά όχι πολύ απλή.

Οι χρήστες μιλούν για τη γεννήτρια ως εξής: "Μπορεί να είναι εντάξει να λάβετε έναν κωδικό προσφοράς, αλλά δεν είναι σαφές πώς να τον χρησιμοποιήσετε ευρύτερα", "Πολύ άβολο και λίγες λειτουργίες".

Γεννήτρια ukrbio.com

Αυτή είναι μια γεννήτρια μιας σελίδας με ένα απλό μενού και μια διαισθητική διεπαφή.

Έχει απλό και ευχάριστο σχεδιασμό, χάρη στον οποίο η σελίδα φορτώνει γρήγορα.

Η υπηρεσία λειτουργεί σταθερά και παρέχει ένα ικανοποιητικό σύνολο λειτουργιών.

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

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

  • Απλό μενού και μινιμαλιστικός σχεδιασμός ιστοσελίδων.
  • Δωρεάν δημιουργία ενός πολύ μεγάλου αριθμού κωδικών (από 1 έως 9999 τεμάχια).
  • Υπάρχουν αρκετά μεγάλες δυνατότητες προσαρμογής της μορφής και της εμφάνισης μελλοντικών κωδικών.
  • <Рис. 8 Studio F1>

    Αυτή η πολυλειτουργική υπηρεσία παραγωγής είναι διαθέσιμη στον σύνδεσμο https://studiof1.ru/blog/developing/passgen/.

    Ο ιστότοπος είναι ένας πολυλειτουργικός πόρος με υπηρεσίες προώθησης ιστότοπου κ.λπ.

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

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

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

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

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

1) Γράψτε για να υποστηρίξετε αυτό το πρόγραμμα και εξηγήστε την κατάσταση. Εάν οι προγραμματιστές είναι φυσιολογικοί και τους αποδείξετε ότι αγοράσατε πραγματικά το προϊόν τους, τότε θα σας βοηθήσουν.
2) Χρησιμοποιήστε ένα δωρεάν πρόγραμμα, για το οποίο θα υπάρχει κείμενο παρακάτω.

Οπότε το πρόγραμμα ονομάζεται Belarc Advisor - Δωρεάν Έλεγχος Προσωπικού Η/Υ

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

Στη συνέχεια συμφωνούμε με την άδεια χρήσης


Στη συνέχεια, κάντε κλικ στο κουμπί Εγκατάσταση (το πρόγραμμα δεν ρωτά πού να εγκατασταθεί) και συμφωνήστε να αναλύσετε το σύστημα για να αναζητήσετε κλειδιά:


Περιμένουμε την ολοκλήρωση


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

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

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

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

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

Δεν θα μπω σε λεπτομέρειες ούτε θα χρησιμοποιήσω πολύπλοκα εργαλεία hacking. Όλα θα περιγραφούν «για ανδρείκελα», δηλ. όλα τα εργαλεία θα είναι απλά, εύκολα προσβάσιμα και δωρεάν. Και το κυριότερο θα είναι το Reflector, ένα decompiler προγραμμάτων για .NET

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


Αρχικά, ένα σύντομο εκπαιδευτικό πρόγραμμα σχετικά με τη δομή του προγράμματος .NET, για όσους δεν είναι εξοικειωμένοι με την ανάπτυξη αυτού του Framework: όλος ο κώδικας που είναι γραμμένος σε οποιαδήποτε γλώσσα .NET (C#, Visual Basic, F#, Delphi.NET) είναι μεταγλωττίζεται σε μια ειδική ενδιάμεση γλώσσα, που συνήθως ονομάζεται IL ή MSIL. Αυτό είναι κάτι σαν assembler, μόνο πολύ έξυπνο και με πολύ ισχυρές οδηγίες. Και αυτή, καταρχήν, είναι η ίδια γλώσσα με την C#, μόνο που η σύνταξη είναι χειρότερη (και υπάρχουν περισσότερες δυνατότητες). Επιπλέον, το πρόγραμμα .NET χρησιμοποιεί ενεργά μεταδεδομένα, π.χ. Όλες οι πληροφορίες σχετικά με κλάσεις, μεθόδους, ιδιότητες, χαρακτηριστικά και οτιδήποτε άλλο αποθηκεύονται στο εκτελέσιμο αρχείο.
Εκείνοι. Στην πραγματικότητα, η αποσυμπίληση ενός προγράμματος δεν είναι πολύ σωστή έννοια σε αυτήν την περίπτωση. Είναι ήδη όλα σε ανοιχτή μορφή και εργαλεία με τη μορφή Reflector χρησιμοποιούνται για τη μεταφορά των δομών MSIL στις αντίστοιχες κατασκευές της C# ή άλλης γλώσσας, αυξάνοντας την αναγνωσιμότητα του κώδικα.

Ας προχωρήσουμε στο πραγματικό hacking.

0. Επαναφορά δοκιμής

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

Ας δούμε το θέμα της δοκιμής μας με έναν ανακλαστήρα:
Αφού διαβάσουμε λίγο τον κώδικα, βρίσκουμε μια ενδιαφέρουσα γραμμή στον κατασκευαστή MainForm


Ανοίξτε τον επεξεργαστή μητρώου, μεταβείτε στο HKEY_CURRENT_USER\Software\Ultrapico\Expresso και δείτε τα ακόλουθα κλειδιά:


Τα διαγράφουμε και παίρνουμε άλλες 60 μέρες δουλειά.

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

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

1. Γράψιμο keygen

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

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

Όταν εισάγετε ένα όνομα και έναν κωδικό, ένας κατακερματισμός υπολογίζεται με το όνομα και συγκρίνεται με τον κωδικό.


Αυτός ο κατακερματισμός χρησιμοποιεί DES και κάθε είδους προθέματα


Τα byte μετατρέπονται σε συμβολοσειρά χρησιμοποιώντας αυτή τη μέθοδο.

Τώρα όλα είναι ξεκάθαρα, ανοίξτε το IDE και αντιγράψτε όλα τα απαραίτητα κομμάτια κώδικα (ή εφαρμόστε τον μόνοι σας). Το μόνο που μένει είναι να μάθετε ποιες είναι οι τιμές των παραμέτρων υλοποίησης Prefix, Suffix και MyDES. Δεν θα τα δώσω, αυτά είναι τεχνικές λεπτομέρειες.

Ως αποτέλεσμα, δημιουργούμε ένα κλειδί για οποιοδήποτε όνομα και βλέπουμε:


Λοταρία!

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

2. Χρησιμοποιώντας ένα περιτύλιγμα

Ο έλεγχος της ορθότητας της άδειας είναι αρκετά ενοχλητικός και αργός. Επομένως, οι προγραμματιστές προγραμμάτων συνήθως ελέγχουν την άδεια χρήσης μία φορά και, στη συνέχεια, χρησιμοποιούν τη σημαία που προκύπτει - έγκυρη/μη έγκυρη (ως επιλογή, πόσο έγκυρη είναι, εάν επιτρέπονται αρκετοί τύποι αδειών χρήσης, που διαφέρουν στις δυνατότητες). Εδώ μπορείτε να παίξετε σε αυτό χρησιμοποιώντας τον ακόλουθο αλγόριθμο:
  1. Υποδείξτε στο πρόγραμμα ότι η άδεια χρήσης έχει ήδη επαληθευτεί
  2. Υποδείξτε στο πρόγραμμα ότι η άδεια χρήσης είναι σωστή
Πως να το κάνεις? Ανέφερα ήδη την παρουσία μεταδεδομένων σε εκτελέσιμα αρχεία στην αρχή, θα το χρησιμοποιήσουμε. Ας δούμε πώς εκκινείται το πρόγραμμα και πώς ελέγχεται η άδεια χρήσης:


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

Ας χρησιμοποιήσουμε αυτό:
Ας δημιουργήσουμε ένα νέο έργο, ας προσθέσουμε το Reference στο Expresso.exe και ας το εκτελέσουμε μόνοι μας:


Ας δούμε τι έγινε:


Λοιπόν, ποιος θα το αμφισβητούσε.

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

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

Αλλά όλες αυτές οι προστασίες θα οδηγήσουν στη χρήση του εισβολέα

3. Φυσικό hacking του προγράμματος

Όλα σοβαρεύουν εδώ. Ολόκληρο το πρόγραμμα απομεταγλωττίζεται σε MSIL και στη συνέχεια συναρμολογείται από αυτό (θυμηθείτε, έγραψα ότι το MSIL είναι η ίδια γλώσσα με την C#;). Για να απομεταγλωττίσουμε, χρειαζόμαστε ένα βοηθητικό πρόγραμμα από το SDK που ονομάζεται ιλδασμός, και για τη μεταγλώττιση ο μεταγλωττιστής είναι από το .NET Framework ιλασμός.

Εκκινήστε το ildasm, ανοίξτε το Expresso.exe και αποθηκεύστε το dump σε ένα αρχείο .il. Βρίσκουμε την ήδη συζητημένη μέθοδο IsRegistered και προσθέτουμε λίγο από τον κώδικά μας (χωρίς ετικέτες):

Στη συνέχεια παίρνουμε το ilasm και τα ξαναβάζουμε όλα μαζί (χωρίς να ξεχνάμε να συνδέσουμε τους πόρους).

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

Εκείνοι. Είναι προφανές ότι τώρα όλα θα πάνε καλά:

Λίγα λόγια για τον κώδικα στο MSIL: είναι μια μηχανή στοίβας που δεν έχει καταχωρητές, όλες οι λειτουργίες έχουν τη μορφή: σπρώξτε τον απαιτούμενο αριθμό παραμέτρων στη στοίβα, εκτελέστε μια συνάρτηση που παίρνει τον απαιτούμενο αριθμό παραμέτρων και βάζει το αποτέλεσμα. Λοιπόν, και το αντίστροφο: ορίστε την τιμή της μεταβλητής σε αυτό που βρίσκεται στη στοίβα. Για να κατανοήσετε καλύτερα πώς λειτουργούν όλα αυτά, προτείνω μια απλή τεχνική: γράψτε ένα μικρό πρόγραμμα σε μια γνωστή γλώσσα, μεταγλωττίστε το, δείτε τι συμβαίνει στο MSILe και κατανοήστε τις δομές της γλώσσας.
Ταυτόχρονα, ορισμένα πράγματα στο MSIL μπορούν να γίνουν πολύ όμορφα, για παράδειγμα, η εναλλαγή δύο μεταβλητών - 4 ωραίες γραμμές (λιγότερες σε C#, αλλά άσχημες).

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

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

συμπέρασμα

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

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

Από πού να ξεκινήσετε

  1. Συχνά, όχι μόνο απαιτείται κωδικός πρόσβασης, αλλά και σύνδεση. Εάν προσπαθείτε να βρείτε μια σύνδεση, για παράδειγμα, για να εισβάλετε στον υπολογιστή του συναδέλφου σας, χρησιμοποιήστε το όνομά του. Εάν δεν λειτουργεί, δείτε πώς αυτοαποκαλείται αυτό το άτομο στα κοινωνικά δίκτυα (Twitter, Facebook, Vkontakte, κ.λπ.) - συχνά λειτουργεί 100%.
  2. Δείτε αν υπάρχουν περιορισμοί στο μήκος του κωδικού πρόσβασης που εισάγετε ή στους χαρακτήρες που χρησιμοποιούνται. Συχνά, ο κωδικός πρόσβασης πρέπει να αποτελείται από τουλάχιστον έξι χαρακτήρες και να περιέχει τουλάχιστον έναν αριθμό. Εάν δεν γνωρίζετε, υπάρχουν τέτοιοι περιορισμοί, προσπαθήστε να δημιουργήσετε τον δικό σας λογαριασμό, για παράδειγμα στον ιστότοπο για τον οποίο επιλέγετε έναν κωδικό πρόσβασης - κατά την εγγραφή θα ενημερωθείτε για τις απαιτήσεις για κωδικούς πρόσβασης.
  3. Ζητήστε μια ερώτηση υπόδειξης. Συχνά οι σελίδες εισαγωγής κωδικού πρόσβασης έχουν αυτή τη δυνατότητα. Κατά κανόνα, ερωτήσεις όπως «πατρικό όνομα της μητέρας;», «Ποιο είναι το όνομα του κατοικίδιου ζώου σας;», «Σε ποια πόλη γεννηθήκατε;» χρησιμοποιούνται ως άμεσες ερωτήσεις. κ.λπ. Αυτό θα περιορίσει σημαντικά τις πιθανές επιλογές λέξεων, ειδικά αν γνωρίζετε τουλάχιστον κάτι για το άτομο!

Χρησιμοποιήστε κόλπα

  1. Απλώς μαντέψτε τον κωδικό πρόσβασης. Τις περισσότερες φορές, οι άνθρωποι χρησιμοποιούν τους ίδιους τυπικούς κωδικούς πρόσβασης. Η λίστα τους είναι από καιρό γνωστή και ενημερώνεται συνεχώς). Παρακάτω θα βρείτε τους 25 πιο συνηθισμένους κωδικούς πρόσβασης (σύμφωνα με τα δεδομένα Splash):
    Κωδικός πρόσβασης
    123456
    12345678
    abc123
    qwerty
    Πίθηκος
    άσε με να μπω
    δράκων
    111111
    μπέιζμπολ
    Σ'αγαπώ
    trustno1
    1234567
    λιακάδα
    κύριος
    123123
    καλως ΗΡΘΑΤΕ
    σκιά
    Ashley
    ποδόσφαιρο
    Ιησούς
    Μιχαήλ
    νίντζα
    άγριος ίππος της Αμερικής
    κωδικός πρόσβασης 1

    Εδώ είναι μερικά στατιστικά στοιχεία:
    Το 4,7% των χρηστών χρησιμοποιεί κωδικό πρόσβασης.
    Το 8,5% των χρηστών επιλέγει μία από τις δύο επιλογές: κωδικός πρόσβασης ή 123456.
    Το 9,8% των χρηστών επιλέγει μία από τις τρεις επιλογές: κωδικός πρόσβασης, 123456 ή 12345678.
    Το 14% των χρηστών επιλέγει έναν από τους 10 πιο δημοφιλείς κωδικούς πρόσβασης.
    Το 40% των χρηστών επιλέγει έναν από τους 100 πιο δημοφιλείς κωδικούς πρόσβασης.
    Το 79% των χρηστών επιλέγει έναν από τους 500 πιο δημοφιλείς κωδικούς πρόσβασης.
    Το 91% των χρηστών επιλέγει έναν από τους 1.000 πιο δημοφιλείς κωδικούς πρόσβασης.

  2. Εφαρμόστε γνωστούς κανόνες επιλογής. Έχει αποδειχθεί πειραματικά ότι εάν ένας κωδικός πρόσβασης περιέχει αριθμούς, τότε θα είναι ο αριθμός 1 ή 2 και θα βρίσκεται στο τέλος του. Επίσης, εάν ο κωδικός πρόσβασης έχει κεφαλαίο γράμμα, θα βρίσκεται στην αρχή της λέξης, ακολουθούμενο από ένα φωνήεν.
  3. Το φύλο ενός ατόμου μπορεί να παρέχει μια ένδειξη. Είναι γνωστό ότι οι γυναίκες προτιμούν να χρησιμοποιούν προσωπικά ονόματα (το όνομα του συζύγου ή του εραστή τους) ως κωδικούς πρόσβασης και οι άνδρες προτιμούν να χρησιμοποιούν τα χόμπι και τα ενδιαφέροντά τους (το όνομα της αγαπημένης τους αθλητικής ομάδας, μάρκα αυτοκινήτου κ.λπ.).

Χρησιμοποιήστε πληροφορίες σχετικές με το άτομο

  1. Σωστά ονόματα: ονόματα συζύγων, μελών της οικογένειας, κατοικίδια ζώα, αθλητές, παρατσούκλια παιδιών κ.λπ.
  2. Χόμπι και ενδιαφέροντα: ονόματα αγαπημένων προγραμμάτων, χαρακτήρες ταινιών, επαγγέλματα, γαστρονομικά πιάτα κ.λπ.
  3. Σημαντικοί αριθμοί και ημερομηνίες: γενέθλια, διεύθυνση, αριθμός τηλεφώνου κ.λπ.