2011-03-20 10 views
6

मैं सिस्टम सॉफ़्टवेयर के बावजूद 30 दिनों के मूल्यांकन संस्करण के साथ अपने सॉफ़्टवेयर (.net विंडोज़ एप्लिकेशन) को वितरित करना चाहता हूं।किसी भी सॉफ्टवेयर के मूल्यांकन संस्करण को वितरित करने का सबसे अच्छा तरीका?

मैं समय के लिए इंटरनेट का उपयोग नहीं करना चाहता क्योंकि सॉफ़्टवेयर इंटरनेट के बिना मशीन पर चलाना है।

क्या कोई मुझे सुझाव दे सकता है कि मैं सिस्टम समय और इंटरनेट का उपयोग किये बिना अपने सॉफ्टवेयर को कैसे वितरित कर सकता हूं?

क्या कंप्यूटरों की संख्या को सीमित करना भी संभव है जिस पर इसे इंस्टॉल किया जा सकता है?

+0

क्या आप मौजूदा सॉफ्टवेयर की तलाश कर रहे हैं या व्हील को फिर से शुरू कर रहे हैं? – Snowbear

उत्तर

0

क्या यह सॉफ्टवेयर लाइसेंसिंग के लिए क्लासिक सीमा नहीं है? मुझे नहीं पता कि आप सिस्टम समय के बावजूद मूल्यांकन को कैसे सीमित कर सकते हैं, जब तक कि आपके द्वारा छोड़े गए आवेदन के लिए कुछ दिनांक-संबंधित पहलू न हो।

जहाँ तक कंप्यूटर की संख्या को सीमित रूप में:

मैं अगर माइक्रोसॉफ्ट आप यह कर दिया जाएगा पता नहीं है, लेकिन आप जहां ग्राहक अपने माइक्रोसॉफ्ट के सक्रियण कुंजी में प्रवेश करती है एक प्रणाली बना सकते हैं, और फिर आप वापस देना कुछ प्रकार की एप्लिकेशन-विशिष्ट एप्लिकेशन कुंजी।

+0

यह मदद नहीं करेगा, क्योंकि वीएम के उपयोग से आसानी से किसी भी स्थानीय लाइसेंसिंग योजना को रोक दिया जा सकता है। यदि सॉफ़्टवेयर को सक्रियण कुंजी के बजाय विंडोज के कुछ इंस्टॉलेशन से बंधना है, तो आप इसे नमकीन हैश फ़ंक्शन के लिए एक (कई) स्रोत के रूप में उपयोग कर सकते हैं। फिर आप इस हैश के साथ कोड एन्क्रिप्ट कर सकते हैं और रनटाइम पर इन-सीटू गणना वाले हैश के साथ मांग पर डिक्रिप्ट कर सकते हैं। – datenwolf

+0

ध्यान दें कि मशीन-बाइंडिंग हमेशा क्रैक करने योग्य होती है और जब उपयोगकर्ता मशीन पैरामीटर बदलते हैं तो समस्याएं पैदा कर सकती हैं। तो विंडोज़ के संस्करण का उपयोग करके, मैक पता, सीपीयू सीरियल नंबर इत्यादि एक हैश बनाने के लिए बहुत अच्छा है जब तक उपयोगकर्ता को झूठी नकारात्मक न हो और फिर वे नाखुश हो जाएं। –

3

बाहरी समर्थन के बिना यह असंभव है।

एक घुमावदार उपयोगकर्ता सिर्फ आपके सॉफ़्टवेयर को वर्चुअल मशीन में स्थापित करेगा, जो कॉपी-ऑन-राइट मोड में कॉन्फ़िगर किया गया है (इसलिए वीएम में सभी परिवर्तन एक अलग डिस्क छवि पर जाते हैं), और वीएम की हर शुरुआत पर वीएम सिस्टम घड़ी एक विशिष्ट तारीख पर सेट किया जाएगा। इस वीएम छवि को कई इच्छाओं के रूप में कई कंप्यूटरों में स्थानांतरित किया जा सकता है, और वीएम सिस्टम घड़ी हमेशा उसी तारीख से शुरू होगी। ओएस पर भी रनटाइम प्रभाव, जैसे कि आप इंस्टॉल किए गए रनटाइम काउंटर की तरह वीएम की हर नई शुरुआत के साथ रीसेट हो जाएंगे।

अपने सॉफ़्टवेयर के उपयोग को प्रभावी ढंग से सीमित करने का एकमात्र तरीका यह है कि इसे कुछ बाहरी डेटा स्रोत से जोड़ना है। या तो इंटरनेट पर, या इसे हार्डवेयर डोंगल के साथ शिपिंग करके अपनी घड़ी की विशेषता है; वह डोंगल कुछ छोटे फॉर्म फैक्टर नेटवर्क डिवाइस भी हो सकता है, लाइसेंस सौंप सकता है, इसलिए एक डोंगल कई कंप्यूटरों को लाइसेंस दे सकता है।

हालांकि आप इसे केवल सॉफ्टवेयर के साथ नहीं कर सकते हैं।

1

इस के लिए तिथि का उपयोग कभी भी सुरक्षित नहीं है क्योंकि उपयोगकर्ता इसका उपयोग कर सकता है। लेकिन एक और तरीका यह है कि आवेदन शुरू होने की संख्या को सीमित करना है। एक काउंटर का उपयोग करें जिसे आप किसी फ़ाइल या रजिस्ट्री में स्टोर कर सकते हैं। यह काउंटर एन्क्रिप्टेड होना चाहिए। यदि काउंटर वैल्यू बहुत बड़ा है, गुम या अमान्य है (आप उसके लिए चेकसम का उपयोग कर सकते हैं), तो मूल्यांकन अवधि खत्म हो गई है।

0

आप निश्चित रूप से बाहरी लाइसेंसिंग सिस्टम के साथ ऐसा कर सकते हैं (अस्वीकरण: मैं इस तरह के एक सिस्टम के निर्माता के लिए काम करता हूं)। और यह अचूक हो सकता है, लेकिन यह मुफ़्त नहीं है।

यदि आप अपना खुद का रोल करना चाहते हैं, तो आप एक एन्क्रिप्टेड दिनांक और समय फ़ंक्शन स्टोर कर सकते हैं - शायद रजिस्ट्री में - फिर उस तारीख की तुलना sys दिनांक/समय के साथ करें। यदि एसईएस दिनांक संग्रहीत दिनांक से बाद में है तो ऐप स्टार्टअप पर संग्रहीत दिनांक मान को आगे सेट करें। यदि sys दिनांक संग्रहीत दिनांक से पहले है, तो एप्लिकेशन को लॉक करने पर विचार करें जब तक कि उपयोगकर्ता आपको यह बताने के लिए संपर्क न करे कि वे अपनी सिस्टम की तारीख को क्यों सेट करते हैं। यह कई स्तरों पर मूर्खतापूर्ण नहीं है लेकिन यह केवल सिस्टम की तारीख को देखने से बेहतर है। एक विकल्प एक ज्ञात प्रमाणित समय सर्वर पर एक http कॉल करने के लिए है और सिस्टम की तारीख और उस सर्वर पर स्थापित करने की तारीख की तुलना करें।