Johnnyxp64:Καλησπέρα σε όλους τους φίλους & φίλες
Ψάχνω να βρω μια λύση ώστε να προστατέψω μια εφαρμογή μου με hardware τροπο καποιο memmory stick (HASP κλειδί) που θα πρεπει να ειναι πανω στο μηχανημα ωστε να επιτρεπει την εκτελεση της.
Δεν θέλω να ψάξω στα τυφλά, δεν το εχω ξανακάνει με hardware και θα ήθελα την γνώμη και τις προτάσεις απο όλους όσους έχουν κάνει κάτι τέτοιο ως προς τα εξής:
- πως λέγεται που μπορώ να βρω site με πληροφορίες - εικόνες.
- πόσο εύκολα γίνετε (και αν χρειάζεται) η παραμετροποίησή μέσα απο vb.net 2008. Παραδείγματα κώδικα?
- μπορει να "σπασει" (hack)?
- πόσο κοστίζει?
- Κάθε πότε κάνει τον έλεγχο? Δεν θέλω να τον κάνει μόνο στην αρχή και μετά να μπορεί να βγει και να χρησιμοποιηθεί και σε άλλο μηχάνημα.
- Πόσο εύκολα αν χαλάσει μπορεί να αντικατασταθεί χωρείς να πρεπει να αλλάξω κώδικα η κατι αλλο στον πελατη, απλά να του ταχυδρομώ το νεο usb hasp.
σας ευχαριστώ πολύ εκ των προτέρων.
Το θέμα είναι πιο πολύπλοκο απ' όσο δείχνει. Χρησιμοποιώ το HASP SRM της Aladdin και μπορώ με βεβαιότητα να σου πω ότι τα πράγματα δεν είναι καθόλου, μα καθόλου, απλά. Εκτός αν χρησιμοποιείς το HASP HL Basic το οποίο υποστηρίζει το απλούστερο licensing scheme. Κατ' αρχάς, υπάρχει software και hardware protection. Για τα διάφορες λύσεις του Hasp SRM δες εδώ. Αν κάνεις κλικ σε οποιοδήποτε link των hardware solutions, θα εμφανιστεί ένα διαφημιστικό φυλλάδιο στο οποίο περιέχεται συγκριτικός πίνακας δυνατοτήτων.
Η συγκεκριμένη τεχνολογία υποστηρίζει VB.NET, όπως άλλωστε και c#. Η version του software που έχω εγκατεστημένη είναι η 3.10 και υποστηρίζει μέχρι .NET 3.0. Έχει βγει, όμως, και η έκδοση 4.0 που μπορείς να την κατεβάσεις από εδώ. Πρέπει να έχεις υπομονή γιατί πρόκειται για 900 MBytes. Όσον αφορά τις πλατφόρμες που τρέχει δες εδώ. Τέλος, για επιλεγμένα downloads χρηστών και developers, εδώ. Τέλος με τα links...
Ο Μάνος έχει δίκιο. Πρέπει να πάρεις στα χέρια σου το Development Kit, το οποίο περιλαμβάνει και ένα demo κλειδί, για να μπορέσεις πειραματιστείς και να καταλάβεις τι γίνεται. Η Unibrain το στέλνει δωρεάν (μου κάνει εντύπωση που γράφεις ότι δεν σου έχουν απαντήσει). Ως προς το software τώρα, στα Tools υπάρχει το Admin Control Center, από το οποίο μπορείς να πάρεις πληροφορίες για όλα τα keys (software + hardware) που υπάρχουν στο σύστημά σου. Επίσης, υπάρχει το Vendor Suite το οποίο συνίσταται από τρεις εφαρμογές: 1) το Envelope, 2) το Business Studio και 3) το ToolBox.
Όταν παραγγείλεις για πρώτη φορά, η εταιρία θα σου στείλει ένα Master Key, το οποίο είναι μοναδικό για κάθε Software Vendor. Περιττό να τονίσω ότι αυτό δεν το δίνεις πουθενά γιατί περιέχει το Vendor Key, το οποίο θα χρησιμοποιείται στο licensing. Όταν το πάρεις, για να κάνεις extract το key θα χρησιμοποιήσεις μια εφαρμογή που λέγεται MasterWizard. Θα την βρεις κι αυτή στα Tools.
Με το Envelope κλειδώνεις την εφαρμογή σου. Απλά εισάγεις τα .exe ή .dll που θες, επιλέγεις το πως θα κλειδωθούν και αυτό είναι όλο. Θεωρητικά ακούγεται απλό, αλλά δεν είναι, εκτός αν πρόκειται για το HASP HL Basic. Το κλείδωμα αφορά σε ecryption, obfuscation, compression, string encryption κ.λπ. Αν, λοιπόν, αποφασίσεις να κλειδώσεις το σύνολο μιας εφαρμογής, τότε το πιο πιθανό είναι αυτό να έχει αντίκτυπο στο συνολικό performance. Καλύτερη λύση είναι να καταλήξεις σε κάποια άλλη έκδοση π.χ. την pro ή τη max. Έτσι, θα μπορέσεις να φτιάξεις features και να κλειδώσεις αυτά μόνο. Εδώ ακριβώς χρειάζεται προσοχή, ειδικότερα αν υπάρχουν (που θα υπάρχουν) dependencies ή/και localization features. Πρέπει να επιλέξεις με προσοχή τις μεθόδους που θα κλειδώσεις. Το χρόνο ελέγχου ύπαρξης του Key μπορεί να τον καθορίσεις τόσο στο Envelope όσο και μέσω κώδικα. Εδώ, όμως, χρειάζεται ακόμα μεγαλύτερη προσοχή. Για να επικοινωνήσεις με το hasp θα πρέπει ενσωματώσεις το Vendor Key στον κώδικα της εφαρμογής. Εδώ ξεκινάνε τα δύσκολα μιας και δεν υπάρχουν έτοιμες λύσεις. Θα πρέπει ν' αυτοσχεδιάσεις.
Με το Business Studio διαχειρίζεσαι τα προϊόντα, τους πελάτες και τις παραγγελίες. Αν αγοράσεις οποιαδήποτε άλλη έκδοση πλην της Basic, θα έχεις τη δυνατότητα να φτιάξεις provisional product το οποίο μπορείς να το διανείμεις σαν δοκιμαστική έκδοση. Στην ουσία, για τη δοκιμαστική αυτή έκδοση το Business Studio δημιουργεί ένα software key με περιορισμένη διάρκεια χρήσης (νομίζω το μέγιστο είναι τρεις μήνες). Ύστερα από τη λήξη της δοκιμαστικής περιόδου ο πελάτης σου πρέπει να προμηθευτεί το hardware key. Επίσης, σε οποιαδήποτε άλλη έκδοση, μπορείς να κλειδώσεις περισσότερες της μίας εφαρμογές με το ίδιο hardware key. Πολύ βολικό αν έχεις πελάτες που αγοράζουν περισσότερες από μία εφαρμογές σου. Αν τώρα η εφαρμογή σου έχει πολλά modules, μπορείς να ενεργοποιείς εκείνα για τα οποία έχει πληρώσει ο πελάτης. Αν στο μέλλον θελήσει ν' αγοράσει κι άλλα, μπορείς να χρησιμοποιήσεις το ίδιο hasp key για να ενεργοποιήσεις τα νέα modules. Το πλήθος των program/features που υποστηρίζει η κάθε έκδοση αναφέρεται στον συγκριτικό πίνακα.
Τέλος, με το ToolBox μπορείς να κάνεις code generation προκειμένου να χρησιμοποιήσεις το HASP SRM API. Δημιουργεί γρήγορα και εύκολα τις μεθόδους που θες για να μιλήσεις με το key, τόσο σε c# όσο και vb.net. Προσοχή, φυσικά ενσωματώνεται και το Vendor Key. Ένα σημείο που πρέπει να προσέξεις είναι ότι οι πληροφορίες που χρειάζεσαι επιστρέφουν σε xml format (καθόλου βολικό), οπότε πρέπει να τις διαβάσεις κάνοντας χρήση των αντίστοιχων κλάσεων του .NET. Έτσι, για παράδειγμα, δουλεύει η Hasp.GetInfo() method.
Γενικά, έχεις πολλά πράγματα να μάθεις και το learning curve δεν είναι και τόσο μικρό. Μάλιστα, μπορώ να σου πω ότι εξαιτίας της "ποικιλίας" των σχημάτων licensing, το σωστό είναι ν' ασχοληθείς πριν φτάσεις στο στάδιο του deployment. Εδώ πάει το στερνή μου γνώση να σε είχα πρώτα!!
Τέλος, όσον αφορά τις τιμές, ρώτησε τη Unibrain. Βεβαίως και σπάει, όπως όλα τα κλειδώματα. ΌΧΙ δεν το έχω σπάσει. Απλά, αναπαράγω ένα κλισέ που όλοι το διατυπώνουν με μορφή κανόνα. Μια συμβουλή. Αν πουλάς την εφαρμογή σου κάτω από 400 euros, μάλλον δεν αξίζει να πληρώσεις για κάτι τόσο ακριβό όπως είναι το hardware protection. Άλλοι μπορεί να διαφωνούν. Εσύ θα το κρίνεις.
Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!