Προς το περιεχόμενο

VB.net και προστασία προγράμματος με keygen


pmichal

Προτεινόμενες αναρτήσεις

Δημοσ.

καλησπέρα στο φόρουμ...

Είχα κάνει και πριν κάποιο καιρό ερώτηση για ένα project που έχω αναλάβει..

Το project ολοκληρώθηκε και τώρα θέλω να υλοποιήσω το εξής σενάριο:

 

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

Κατά την πρώτη εκκίνηση του δίνει έναν κωδικό που δημιουργείται βάση του SN των windows ή του σκληρού για παράδειγμα.

Παίρνει τηλέφωνο στην εταιρία, και με ένα keygen του δίνουν έναν αντικωδικό.

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

 

Έχει κάποιος κάποια ιδέα για το πως υλοποιείται κάτι τέτοιο?

Ή που μπορώ να κοιτάξω?

Γιατί μέχρι στιγμής δεν έχω βρει κάτι κατατοπιστικό...

 

Ευχαριστώ...

Δημοσ.

καλησπερα Φιλε μου

Μπορεις να παρεις τον κωδικο που δημιουργει το προγραμμα η με το σκληρο δισκο η απλα να το κανεις να δημιουργει ενα τυχαιο κλειδι και να το καταχωρει στο μητρωο το οποιο θα το αντιστοιχει με το ονομα που θα δινει ο χρηστης κατα την πρωτη εγκατασταση.

Οταν λοιπον ο χρηστης επικοινωνει με την εταιρεια για να ενεργοποιησει την εφαρμογη .τοτε θα πρεπει να δινει το ονομα και το κλειδι συμφωνα με αυτο η κατασκευαστρια εταιρεια θα δινει το αντιστοιχο ετσι ωστε να μπορει να δουλεψει το προγραμμα .

θα σου προτεινα να ψαχεις στο pscode.com

καλο απογευμα

Δημοσ.

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

Πρέπει να υλοποιήσεις δικιά σου προστασία για να είσαι σίγουρος.

 

Η καλύτερη προστασία που έχει υλοποιηθεί είναι του Steinberg Cubase SX 4. Κυκλοφορεί πάνω από ένα χρόνο, μπορεί και δύο, και ακόμα δεν έχει σπάσει. Πίστεψέ με, πολλοί το προσπάθησαν και πολλοί το προσπαθούν ακόμα. Όποια ομάδα hackers το σπάσει θα ανεβάσει το image της κατακόρυφα στην underground σκηνή, αλλά έχουν σηκώσει οι περισσότεροι τα χέρια ψηλά.

Δημοσ.

Κατ'αρχάς ευχαριστώ για τις γρήγορες απαντήσεις!

 

Βρήκα αυτό:

>
Imports System.Management
   
   Dim tmpStr2 As String = ""
   Dim myScop As New Management.ManagementScope("\\" & Environment.MachineName & "\root\cimv2")
   Dim oQuer As New Management.SelectQuery("SELECT * FROM WIN32_DiskDrive")
   Dim oResult As New Management.ManagementObjectSearcher(myScop, oQuer)
   Dim oIte As Management.ManagementObject
   Dim oPropert As Management.PropertyData

Public Function HDId()
       For Each oIte In oResult.Get()
           For Each oPropert In oIte.Properties
               If Not oPropert.Value Is Nothing AndAlso oPropert.Name = "Signature" Then
                   tmpStr2 = oPropert.Value.ToString
                   Exit For
               End If
           Next
       Next
   End Function

 

το οποίο δίνει το sn του σκληρού δίσκου...

Το βρήκα εδώ: http://vbcity.com/forums/topic.asp?tid=103023

 

Τώρα με βάση επεξεργασία αυτού του αριθμού θα βγαίνει το αντικλείδι...

Δεν θα χρησιμοποιήσω έτοιμη προστασία...

Έγραψα εγώ κάτι.. όχι πολύ δυνατό, γιατί δεν περιμένω να πέσουν όλοι οι hacker του κόσμου να μου το σπάσουν :D

αλλά την δουλίτσα του φαίνεται να την κάνει...

 

Βρήκα κάποια χρήσιμα πράγματα και στο pscode.com

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

Άρα αν δεν βρίσκει το αρχείο code.txt στο φάκελο, θα ζητάει activation...

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

Αλλιώς πάλι θα ζητάει activation...

 

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

 

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

Δημοσ.

Καλημερα

Φιλε μου απλα 8α σου προτεινα να παιξεις με την Savesetting -getsetting .ετσι ωστε κατα την εγκατασταση να δινει ενα κλειδι που του εσυ και να το αποθηκευει στο μητρωο

.Ετσι σε καθε επανεκκινηση να ελεγχει το μητρωο και αφου ανασυρει το κλειδι και τσεκαρει το κλειδι του hardware (verified)να δινει συνεχεια.

καλο βραδυ

Δημοσ.

Φρόντισε να κάνεις obsfucate τον κώδικα σου, είναι το ελάχιστο αντίμετρο που μπορείς να εφαρμόσεις καθώς από την στιγμή που κάποιος αποκτήσει πρόσβαση στο byte-code είναι θέμα χρόνου, κεφιού, υπομονής και αποφασιστικότητας να προβεί σε reverse engineering ώστε είτε να κατασκευάσει ένα patch είτε να δημιουργήσει ένα δικό του key-gen, ειδικά όταν ο αλγόριθμος που χρησιμοποιείς είναι δικιά σου επινόησης και δεν βασίζεται σε γνωστά και σίγουρα κρυπτογραφικά standards (Public / Private key, SHA / MD5 hash algorithms κτλ) ενώ ο εκτελέσιμος κώδικας του software δεν προστατεύεται από κάποια ισχυρή "ασπίδα".

 

Υ.Γ.

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

Δημοσ.

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

Είναι ένα πρόγραμμα που θα τραβάει .bmp εικόνες που είναι σελίδες βιβλίου. Δηλαδή ένα e-book. Θα έχει φόρμες με ευρετήριο και περιεχόμενα (listbox στη vb) κλπ.

 

Είναι ένα πακέτο 4 βιβλίων ενός εκδοτικού οίκου.

 

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

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

 

Αυτό με το obsfucate το έψαξα λίγο...

Κατάλαβα τι κάνει, απλά ψάχνω ένα free προγραμματάκι που να το κάνει.

 

Πάντως ναι, δεν χρησιμοποίηση κάποια γνωστή κωδικοποίηση.

4 πράξεις με 2 if μέσα έβαλα...

 

Ωραίο αυτό με το fingerprint (ειδικά άμα κάποιος έχει κανένα laptop που έχει πάνω) αλλά δεν κάνει για την περίσταση...

Δημοσ.

Ααα... Ξανακοίταξα τα site και ναι.. έχεις δίκιο...

Μάλλον τελικά θα εφαρμόσω κάτι τέτοιο...

Θα κατεβάσω να δω τι παίζει και ίσως κάνω αλλαγές.

Πολύ καλύτερο το hardware fingerprint.

 

Thanks όλους για την βοήθεια btw!

Δημοσ.

Παιδιά μία τελευταία βοήθεια...

 

Όταν τρέχω το πρόγραμμα μου σε vista με το UAC ενεργοποιημένο δεν μπορεί να δημιουργείσει ένα αρχείο που θέλω μέσα στο Program Files στο φάκελο του προγράμματος.

 

Καμιά ιδέα για το πώς φεύγει αυτό σε vb.net?

Αρχειοθετημένο

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

  • Δημιουργία νέου...