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

κλειδωμα προγραμματος


kirilos

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

Δημοσ.

καλημερα σε ολους εχω φτιαξει ενα προγραμματακι σε delphi και θελω να το κλειδωσω να σου ζηταει key καθε χρονο καμια ιδεα

Δημοσ.
καλημερα σε ολους εχω φτιαξει ενα προγραμματακι σε delphi και θελω να το κλειδωσω να σου ζηταει key καθε χρονο καμια ιδεα

 

Καταρχήν, αν πρόκειται για κάτι πολύ σημαντικό και εξαιρετικά επικερδές τότε καλύτερα να κοιτάξεις για κάποια επαγγελματική hardware προστασία (HASP). Σε διαφορετική περίπτωση μπορείς να δοκιμάσεις την τυπική διαδικασία όπου θα καταγράψεις σε κάποιο κρυφό αρχείο (ή NTFS Stream ..) κάπου στον δίσκο του Η/Υ την ημερομηνία εγκατάστασης, θα ντουμπλάρεις την πληροφορία αυτή σε κάποιο αθώο κλειδί στο Registry, ώστε αν κάτι από τα δυο διαγραφεί να μπορείς να μην χάσεις εντελώς την πρώτη ημέρα εγκατάστασης και ότι ήθελε προκύψει (πιθανόν τα αρχεία & κλειδιά αυτά θα βρεθούν άμεσα με την βοήθεια του Sysinternals-Process Monitor :-p). Κατά τον αυτό τρόπο θα διατηρείς και τις πληροφορίες του εισαχθέντος κλειδιού. Σε δεύτερη φάση, θα φροντίσεις να κλειδώσεις το εκτελέσιμο σου με κάποιο είδος προστασίας που να μην επιτρέπει το άμεσο reverse engineering του και ότι ήθελε προκύψει εις την 2αρα :-D (τελικά το εκτελέσιμο σου θα γίνει dump με την βοήθεια κάποιου ισχυρού PE Dumper :-p). Σε μερικούς μήνες το πολύ, θα κυκλοφορήσει (αν το πρόγραμμα λάβει μεγάλη δημοτικότητα συνεπώς και ενδιαφέρον) κάποιο crack / patch και τέλος (το χάνεις). Την ίδια τύχη θα έχει το λογισμικό σου ακόμα και αν προτιμήσεις κάποια έτοιμη software protection λύση. Σε κάθε άλλη περίπτωση προτίμησε hardware HASP protection και τέλος. Δεν είναι τόσο τραγικό όσο ακούγεται πάντως – αν πρόκειται για επαγγελματικό software πιστεύω ότι θα βγάλεις τα λεφτά σου καθώς εταιρίες κτλ. δεν τις σηκώνει να έχουν πειρατικό λογισμικό πια ;)

 

Τώρα σχετικά με το τεχνικό κομμάτι, για τον υπολογισμό του έτους μεταξύ δυο ημερομηνιών, δες τις ρουτίνες του DateUtils (πχ. DaysBetween, YearsBetween κτλ) οι οποίες απλοποιούν εξαιρετικά τους ημερολογιακούς υπολογισμούς βάση των TDate & TDateTime (ανώτερες μακράν των ανάλογων .NET). Υπάρχουν σε C++ Builder άρα πρέπει να υπάρχουν φυσικά και σε Delphi :-). Όσον αφορά το κλειδί, θα πρέπει να γράψεις κάποιον κώδικα που να παράγει κάτι τέτοιο με βάση το τρέχον έτος σε συνάρτηση προφανώς και με κάποιες σταθερές του Η/Υ (πχ. Volume Serial number + Year) το τι θα είναι, θα το βρεις μόνος σου. Στην τελική ευθεία όλα αυτά τα παρουσιάζεις σε μορφή Hex-ASCII για την εύκολη εισαγωγής τους από τον χρήστη.

 

Καλή τύχη!!

Δημοσ.

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

 

Having said that το τι προστασία θα χρησιμοποιήσεις εξαρτάται από αρκετούς παράγοντες. Καταρχήν από τη τιμή που θέλεις να πουλήσεις την εφαρμογή σου, π.χ. αν θέλεις να την πουλήσεις σε μια τιμή μέχρι 10 ευρώ (ένα απλό utility π.χ.) μια υποτυπώδης προστασία αρκεί αφού κανείς δε θα μπει στη διαδικασία να σου την "σπάσει" και γιατί δεν αξίζει ο κόπος αλλά και γιατί οι περισσότεροι crackers σέβονται αυτούς που πουλάνε σχετικά φθηνά.

 

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

 

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

 

Ένα τελευταίο tip. Εφόσον η εφαρμογή σου προορίζεται μόνο για Έλληνες πελάτες τότε δε χρειάζεται να ανησυχείς ιδιαίτερα γιατί πολύ λίγες ελληνικές εφαρμογές βρέθηκαν σπασμένες τα τελευταία χρόνια και μάλιστα οι περισσότερες ήταν εξελληνισμένες εκδόσεις ξένων προϊόντων (Windows, Office κτλ). Ακόμα και αν κυκλοφορήσει κάποιο crack/patch για την εφαρμογή σου, μπορείς να κυκλοφορείς updates σε συχνά διαστήματα που να "μπαλώνουν" τα κενά προσφέροντας βέβαια και βελτιώσεις γιατί αλλιώς απλά κανείς δε θα τα εγκαθιστά.

 

Αυτά τα ολίγα και ελπίζω να βοήθησα !

Δημοσ.

http://www.siliconrealms.com/

 

Όποιος λέει ότι όλες οι προστασίες σπάνε, ας σπάσει ένα πρόγραμμα pack-αρισμένο με την τελευταία έκδοση Armadillo. Ή έστω ας μας πει για μια εφαρμογή προστατευμένη με Armadillo, για την οποία κυκλοφορεί keygen.

Δημοσ.

 

Άμα θες καλή προστασία πήγαινε στο crackmes.de και ρώτα κανένα keygenner, θα σου πει αυτός που θα ξέρει καλά... :P:p

http://www.siliconrealms.com/

 

Όποιος λέει ότι όλες οι προστασίες σπάνε, ας σπάσει ένα πρόγραμμα pack-αρισμένο με την τελευταία έκδοση Armadillo. Ή έστω ας μας πει για μια εφαρμογή προστατευμένη με Armadillo, για την οποία κυκλοφορεί keygen.

Ο Armadillo είναι καλός όντως, την πίστη μου έχει βγάλει, αλλά όχι και ότι δεν σπάνε... Α, και για το τελευταίο, για να μην κάθομαι να ανοίγω ένα ένα με το peid τα exe, ξέρεις κανένα πρόγραμμα για να ψάξω για keygen?

Δημοσ.

Πώς σας προέκυψε ότι το armadillo προσφέρει -έστω και υποτυπώδη- προστασία? Το armag3ddon το έχετε δοκιμάσει?

Από όλα τα commercial protectors που έχω δει, νομίζω ότι την καλύτερη απόδοση έχει το themida/winlicense αν και αυτό με λίγη καλή προσπάθεια και αρκετό χρόνο ξεπερνιέται.

Ό,τι κλειδώνει ξεκλειδώνει δεν λενε? :)

 

Για τον φίλο DirectX να πω ότι η διαχείριση ημερομηνίας στο .ΝΕΤ είναι απίστευτα απλή! Πού συνάντησες κάποια δυσκολία? Days.Add(30) Months.Add(-12) κλπ. Υπάρχει κάτι απλούστερο στο Delphi/Builder?

Δημοσ.
Από όλα τα commercial protectors που έχω δει, νομίζω ότι την καλύτερη απόδοση έχει το themida/winlicense αν και αυτό με λίγη καλή προσπάθεια και αρκετό χρόνο ξεπερνιέται.

 

Φίλε μου, φύκια για μεταξωτές κορδέλες (βλ. Trial-Reset)

 

Για τον φίλο DirectX να πω ότι η διαχείριση ημερομηνίας στο .ΝΕΤ είναι απίστευτα απλή! Πού συνάντησες κάποια δυσκολία? Days.Add(30) Months.Add(-12) κλπ. Υπάρχει κάτι απλούστερο στο Delphi/Builder?

 

Απλή μπορεί να είναι, δεν διαφωνώ, όσο όμως ζητάς απλά και τετριμμένα πράγματα, όπως για παράδειγμα την πρόσθεση ημερών, μηνών κτλ, εκεί και τα δυο framework είναι ίσα. Όταν όμως έχουμε να κάνουμε με υπολογισμούς χρονικών διαστημάτων για παράδειγμα, τότε οι ρουτίνες που προσφέρει το DateUtils των C++ Builder/Delphi είναι, κατά την γνώμη μου, ένα κλικ ευκολότερες σε σχέση ας πούμε με το “TimeSpan” class (ή το Calendar) του .NET και αυτό πχ. διότι (εκτός του ότι προσφέρουν διάφορες μικρο-ευκολίες πχ, μετατροπή Date σε JD ή EndOfMonth/Week/Year κτλ.) έρχονται πάντα σε ζεύγη τα οποία υποστηρίζουν επιστροφή αποτελεσμάτων υπολογίζοντας την απόλυτη (πχ. YearsBetween) ή fractional (πχ. YearSpan) διαφορά αυτόματα, οπότε διευκολύνουν (ειδικά πχ. σε περιπτώσεις που πρέπει να λάβεις υπόψη σου την fractional ημερομηνία γέννησης κτλ -και σε .NET γίνεται φυσικά αλλά κατά την γνώμη μου όχι τόσο απλά - ούτε ιδιαίτερα δύσκολα). Για την ιστορία, μιας και πιάσαμε τα ημερολόγια, η δυσκολότερη υλοποίηση Date/Calendar προσφέρεται μακράν από την J2ME (αλλά με λίγη υπομονή μπορείς να κάνεις θαύματα μαζί της) :-D

Δημοσ.
καλημερα σε ολους εχω φτιαξει ενα προγραμματακι σε delphi και θελω να το κλειδωσω να σου ζηταει key καθε χρονο καμια ιδεα

 

Συνδεετε με το internt?

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

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

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