2008-09-24 22 views
28

मेरा मतलब है, मैं हमेशा सोच रहा था कि कैसे कोई भी एल्गोरिदम विकसित कर सकता है ताकि वहां कई शेयरवेयर कार्यक्रमों में कानूनी उपयोग की बाधाओं को तोड़ने/धोखा देने के लिए।सीरियल जनरेटर/दरार कैसे विकसित किए जाते हैं?

बस जिज्ञासा के लिए।

+0

डांग, मैं एक ही प्रश्न पूछने वाला था। अच्छा ओल 'तो! –

उत्तर

27

अवैध होने के अलावा, यह एक बहुत ही जटिल कार्य है।

केवल एक सैद्धांतिक स्तर पर बोलना आम तरीका है कि प्रोग्राम को अलग करने के लिए प्रोग्राम को अलग करना और कुंजी या सीरियलकोड की जांच करने का प्रयास करना है।

आसान कहा जाता है क्योंकि किसी भी गंभीर सुरक्षा योजना कई स्थानों पर मूल्यों की जांच करेगी और बाद में उपयोग के लिए सीरियल कुंजी से महत्वपूर्ण जानकारी प्राप्त करेगी ताकि जब आपको लगता है कि आपने अनुमान लगाया है, तो प्रोग्राम क्रैश हो जाएगा।

एक क्रैक बनाने के लिए आपको उन सभी बिंदुओं की पहचान करनी होगी जहां चेक किया जाता है और असेंबली कोड को उचित रूप से संशोधित किया जाता है (अक्सर सशर्त कूद या स्मृति स्थानों में लागतों को संग्रहित करना)।

एक keygen बनाने के लिए आपको एल्गोरिदम को समझना होगा और सटीक समान गणना को फिर से करने के लिए एक प्रोग्राम लिखना होगा (मुझे एमएस ऑफिस का पुराना संस्करण याद है जिसका धारावाहिक एक बहुत ही सरल नियम था, अंकों का योग होना चाहिए 7 का एक बहुतायत रहा है, इसलिए keygen लिखना बल्कि तुच्छ था)।

दोनों गतिविधियों के लिए आपको एक डीबगर में एप्लिकेशन के निष्पादन का पालन करने की आवश्यकता होती है और यह पता लगाने की कोशिश की जाती है कि क्या हो रहा है। और आपको अपने ऑपरेटिंग सिस्टम के निम्न स्तर एपीआई को जानने की जरूरत है।

कुछ भारी संरक्षित एप्लिकेशन में कोड एन्क्रिप्ट किया गया है ताकि फ़ाइल को अलग नहीं किया जा सके। स्मृति में लोड होने पर यह डिक्रिप्ट किया जाता है लेकिन फिर वे यह पता लगाने से इनकार करते हैं कि क्या इन-मेमोरी डीबगर शुरू हो गया है,

संक्षेप में ऐसा कुछ है जिसके लिए बहुत गहन ज्ञान, सरलता और बहुत समय की आवश्यकता होती है! ओह, क्या मैंने उल्लेख किया कि ज्यादातर देशों में यह अवैध है?

यदि आप और जानना चाहते हैं, तो + ओआरसी क्रैकिंग ट्यूटोरियल के लिए Google वे बहुत पुराने हैं और शायद आजकल बेकार हैं लेकिन आपको इसका क्या अर्थ है इसका एक अच्छा विचार देगा।

वैसे भी, यह सब जानने के लिए एक बहुत अच्छा कारण यह है कि यदि आप अपनी सुरक्षा योजना लिखना चाहते हैं।

+4

मुझे संदेह है कि यह अवैध है। यदि आपने इसके लिए भुगतान नहीं किया है तो क्रैक किए गए कार्यक्रम का उपयोग करना अवैध हो सकता है। लेकिन न तो दरार, क्रैक के विकास की प्रक्रिया और कार्यक्रम को तोड़ने की प्रक्रिया मेरी आंखों में अवैध होगी। यूएस में छोड़कर – erlando

+3

। लेकिन सूचना प्रौद्योगिकी के साथ जो कुछ भी करना है वह अवैध है ... सभी मुफ्त में जमीन की जय हो। – erlando

+1

ध्यान दें कि किसी एप्लिकेशन को यह जानने का कोई तरीका नहीं है कि यह क्यूमु जैसे मशीन एमुलेटर के अंदर चल रहा है या नहीं। आवेदन के रूप में एक ही स्मृति स्थान में एक डीबगर चलाने की आवश्यकता नहीं है। अकेले + ORC संदर्भ के लिए –

15

बुरे लोग डिस्सेबलर का उपयोग करके कुंजी-चेक कोड खोजते हैं। यदि आप जानते हैं कि यह कैसे करना है तो यह सापेक्ष आसान है।

बाद में आप कुंजी-जांच कोड को सी या किसी अन्य भाषा में अनुवाद करते हैं (यह चरण वैकल्पिक है)। कुंजी-जांच की प्रक्रिया को उलट करने से आपको एक प्रमुख जनरेटर मिल जाता है।

यदि आप असेंबलर को जानते हैं तो यह सीखने के लिए लगभग सप्ताहांत लगते हैं। मैंने इसे कुछ साल पहले किया है (हालांकि कभी भी कुछ भी जारी नहीं किया गया था। यह सिर्फ मेरे खेल-विकास नौकरी के लिए शोध था। क्रैक कुंजी को कड़ी मेहनत करने के लिए आपको समझना होगा कि लोग क्रैकिंग कैसे करते हैं)।

+6

"बुरे लोग" और वे जो प्रोग्राम खरीदे हैं, उनका उपयोग करने के अपने अधिकार की रक्षा करना चाहते हैं। हालिया बीयर हार की तरह झगड़े के साथ, मैं कई गेम डेवलपर्स पर भरोसा करने के बजाय एक यादृच्छिक हैकिंग समूह पर भरोसा करता हूं। –

+5

यदि आप गेम डेवलपर्स से पूछेंगे तो वे सभी कॉपी-सुरक्षा सामग्री के बिना गेम को छोड़ देंगे। यह दिनों के भीतर वैसे भी टूट जाएगा। डेवलपर्स के लिए यह सिर्फ पैसा खर्च करता है और समर्थन-प्रभाव प्रदान करता है। प्रकाशकों को दोष देना है। वे क्रैपी प्रति-सुरक्षा को लागू करते हैं। –

+0

भरोसेमंद हैकर्स सिर्फ सादे बेवकूफ हैं। अधिकांश डाउनलोड करने योग्य कीजेंस में कुछ प्रकार के मैलवेयर (आमतौर पर ट्रोजन या बैकडोर्ड्स) होते हैं और वायरस स्कैनर आमतौर पर इन्हें नहीं ढूंढते हैं। कभी-कभी क्रैकर्स वायरस चेतावनियों को अनदेखा करने के लिए भी कहते हैं, ठीक है, कोई वायरस नहीं है। क्या सचमे? निश्चित रूप से, यह सिर्फ एक ट्रोजन है ... – steffenj

4

सबसे पहले, अधिकांश प्रति-सुरक्षा योजनाएं बहुत अच्छी तरह से उन्नत नहीं हैं, यही कारण है कि आप इन दिनों अपने आप को बहुत से लोग नहीं देख रहे हैं।

ऐसा करने के लिए उपयोग की जाने वाली कुछ विधियां हैं। आप एक डीबगर में कोड के माध्यम से कदम उठा सकते हैं, जो आमतौर पर असेंबली के सभ्य ज्ञान की आवश्यकता होती है। इसका उपयोग करके आप इस बारे में एक विचार प्राप्त कर सकते हैं कि प्रोग्राम कॉपी सुरक्षा/कीजेन विधियों को कहां कहा जाता है। इसके साथ, आप कोड को अधिक बारीकी से विश्लेषण करने के लिए IDA Pro जैसे डिससेबलर का उपयोग कर सकते हैं और यह समझने की कोशिश कर रहे हैं कि क्या हो रहा है, और आप इसे कैसे बाईपास कर सकते हैं। मैंने डेट-चेक पर एनओओपी निर्देश डालने से पहले समय-सीमित बीटा को तोड़ दिया है।

यह वास्तव में सॉफ्टवेयर की अच्छी समझ और असेंबली की बुनियादी समझ के लिए आता है। Hak5 ने इस सीजन के पहले दो एपिसोड पर रिवर्स इंजीनियरिंग और क्रैकिंग की मूलभूत बातें के आधार पर दो भाग वाली श्रृंखला की थी। यह है वास्तव में मूलभूत, लेकिन यह शायद वही है जो आप खोज रहे हैं।

0

मुझे लगता है कि प्रत्येक दरार अलग है, लेकिन मुझे लगता है कि ज्यादातर मामलों में प्रश्न में आवेदन करने वाले डीबगर में बहुत समय व्यतीत करता है।

धारावाहिक जनरेटर एल्गोरिदम का विश्लेषण करके एक कदम आगे ले जाता है कि वैधता और रिवर्स इंजीनियरों के लिए सीरियल नंबर की जांच करता है।

+0

अच्छी तरह से ... – Adam

3

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

एक और विकल्प उन कार्यों को देखना है जो "सत्य" लौटाते हैं यदि सीरियल नंबर मान्य है और "झूठी" यदि यह नहीं है, तो बाइनरी पैच विकसित करें ताकि फ़ंक्शन हमेशा "सत्य" लौटा सके।

अन्य सभी चीजें उन दो विचारों पर काफी हद तक एक भिन्नता है। प्रतिलिपि सुरक्षा हमेशा परिभाषा द्वारा तोड़ने योग्य है - किसी बिंदु पर आपको निष्पादन योग्य कोड के साथ समाप्त करना होगा या प्रोसेसर इसे चला नहीं सकता है।

2

धारावाहिक संख्या आप केवल एल्गोरिदम निकाल सकते हैं और उस पर "अनुमान" फेंकना शुरू कर सकते हैं और सकारात्मक प्रतिक्रिया की तलाश कर सकते हैं। कंप्यूटर शक्तिशाली होते हैं, आमतौर पर हिट थूकने से पहले थोड़ा सा समय लगता है।

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

फिर यह सही कॉल ढूंढने और उस कॉल से सही वापसी मूल्य हार्डकोडिंग की बात थी।

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

9

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

संकलित कार्यक्रमों को अलग किया जा सकता है और पर्याप्त समय के साथ, निर्धारित लोग बाइनरी पैच विकसित कर सकते हैं।कार्यक्रम को अलग-अलग व्यवहार करने के लिए एक दरार बस एक बाइनरी पैच है।

1

मुझे आश्चर्य है कि वे केवल वैयक्तिकृत बाइनरी क्यों वितरित नहीं करते हैं, जहां मालिक का नाम द्विआधारी में कहीं भी (एन्क्रिप्टेड और obfuscated) संग्रहीत किया जाता है या पूरे बाइनरी पर बेहतर वितरित किया जाता है .. AFAIK Apple संगीत के साथ ऐसा कर रहा है आईट्यून्स स्टोर से फ़ाइलें, हालांकि फाइलों से नाम हटाने के लिए यह बहुत आसान है।

+0

क्योंकि तब आप कई स्थानों और diff से द्विआधारी प्राप्त करते हैं। फाइलें ... (मुझे लगता है) – Adam

संबंधित मुद्दे