2009-11-22 11 views
6

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

"बहुरूपी कोड कोड एक बहुरूपी इंजन का उपयोग करता है:

कोई जवाब देता से पहले, हम सभी को वस्तु उन्मुख प्रोग्रामिंग में बहुरूपता के लाभों के बारे में बता, कृपया बहुरूपी कोड (Wikipedia से लिया गया) के लिए निम्नलिखित परिभाषा पढ़ा मूल एल्गोरिदम को बरकरार रखने के दौरान उत्परिवर्तित करने के लिए। यानी, प्रत्येक बार कोड चलने पर कोड बदल जाता है, लेकिन पूरी तरह से कोड का कार्य बिल्कुल नहीं बदलेगा। "

धन्यवाद, MagicAndi।

अद्यतन

जवाब का सारांश अब तक:

    मूल कोड की
  • रनटाइम अनुकूलन
  • एक आवेदन के प्रत्येक व्यक्ति के प्रति के लिए एक "डीएनए फिंगरप्रिंट" नियत
  • एक अंधेरा रिवर्स-इंजीनियरिंग
को रोकने के लिए कार्यक्रम

मुझे 'metamorphic code' शब्द से भी पेश किया गया था।

उत्तर

5

वास्तविक कोड के रनटाइम ऑप्टिमाइज़ेशन, वास्तविक प्रदर्शन आंकड़ों के आधार पर वास्तविक वास्तविकता के आंकड़ों को वास्तविक वास्तविकता और वास्तविक इनपुट में चलाते समय एकत्रित किया गया।

+0

सामी, जब मैं प्रश्न पोस्ट करता हूं, तो मैं जेनेटिक प्रोग्रामिंग के बारे में सोच रहा था, लेकिन तत्काल लिंक नहीं देख सका। आपका जवाब वह लिंक है! +1 – MagicAndi

0

एक कार्यक्रम को बाधित करें यानी रिवर्स-इंजीनियरिंग को रोकें: लक्ष्य आईपी (बौद्धिक संपदा) की रक्षा करना है।

+0

हाय jldupont, एक दिलचस्प अनुप्रयोग। +1 तो, सिद्धांत रूप में, इसका उपयोग करने वाला एप्लिकेशन चलाया जाएगा, अपना प्राथमिक कार्य निष्पादित करेगा, और फिर पुन: obfuscated कोड के एक नए संस्करण का उपयोग कर फिर से अपने निष्पादन योग्य पुनर्जन्म? क्या आप इस विधि के उपयोग के किसी भी अनुप्रयोग के बारे में जानते हैं? – MagicAndi

+0

मैं कुछ समय पहले इस तकनीक में नहीं आया था, जब मैं रिवर्स इंजीनियरिंग था ..... लेकिन हम इसमें शामिल नहीं होंगे। विचार निम्न के साथ था: कोड के ब्लॉक "छिपे हुए" कोड के दूसरे ब्लॉक के लिए अपने डिक्रिप्शन दिनचर्या को छिपाने के लिए एक पॉलिमॉर्फिक एल्गोरिदम का उपयोग करता है। उत्तरार्द्ध में कुछ "कोड के महत्वपूर्ण बिट्स" होंगे लेकिन मैं और नहीं कहूंगा ;-) – jldupont

3

पॉलिमॉर्फिक कोड एक अच्छी बात है, लेकिन रूपांतर भी अच्छा है। वैध उपयोगों के लिए: ठीक है, मैं एंटी-क्रैकिंग और प्रतिलिपि सुरक्षा के अलावा कुछ भी नहीं सोच सकता। Vx.org.ua को देखें यदि आप असली दुनिया का उपयोग नहीं करते हैं (हालांकि वैध नहीं है)

+0

मेटामोर्फिक कोड मजेदार है। उन दिनों में लोगों ने सोचा कि कंप्यूटर उसमें खुफिया जानकारी हासिल करेंगे! – wishi

+0

icefex, उत्तर देने के लिए धन्यवाद, और मुझे मेटामोर्फिक शब्द के साथ परिचय। +1। – MagicAndi

4

Digitally watermarking संगीत यह निर्धारित करने के लिए अक्सर किया जाता है कि ट्रैक को लीक करने के लिए कौन जिम्मेदार था, उदाहरण के लिए। यह संगीत की प्रत्येक प्रति अद्वितीय बनाता है ताकि प्रतियों को मूल मालिक को वापस देखा जा सके, लेकिन ट्रैक के श्रव्य गुणों को प्रभावित नहीं करता है।

इसे वितरित करने से पहले प्रत्येक व्यक्तिगत प्रति को polymorphic engine के माध्यम से संकलित सॉफ़्टवेयर के लिए कुछ ऐसा किया जा सकता है। फिर यदि इस सॉफ़्टवेयर का एक क्रैक संस्करण इंटरनेट पर जारी किया गया है, तो डेवलपर यह बता सकता है कि पॉलिमॉर्फिक इंजन (डीएनए परीक्षण का एक प्रकार) का उत्पादन करने वाले विशिष्ट बदलावों की तलाश करके इसे किसने क्रैक किया। जहां तक ​​मुझे पता है, इस तकनीक का अभ्यास कभी भी नहीं किया गया है।

यह बिल्कुल ठीक नहीं है जो आप खोज रहे थे, क्योंकि पॉलिमॉर्फिक इंजन को कोड के साथ वितरित नहीं किया जाता है, लेकिन मुझे लगता है कि यह एक वैध व्यापारिक उपयोग के सबसे नज़दीक है जिसे आप इस तरह की तकनीक के लिए पाएंगे।

+0

मार्क, बहुत ही रोचक आवेदन; विशेष रूप से यदि jldupont के उत्तर के साथ संयुक्त - एक आवेदन के प्रत्येक डिजिटल संस्करण के लिए एक विशिष्ट obfuscation और वॉटरमार्क। विशेष रूप से, डीएनए अनुरूपता को आगे ले जाने के लिए, यदि आप पहचान सकते हैं कि कौन सा संस्करण एप्लिकेशन के एक विशेष उदाहरण से निकला है। – MagicAndi

+0

इसके अलावा, +1 भी! – MagicAndi

+0

+1। ऐसा लगता है कि सॉफ़्टवेयर पर दूसरी बार पॉलिमॉर्फिक इंजन चलाकर इसे तीन बार पार किया जा सकता है ... लेकिन यह तब होता है जब आप किसी भी हथियार दौड़ में शामिल होते हैं। ;) – ojrac

1

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

2

Sami notes के रूप में, ऑन-द-फ्लाई ऑप्टिमाइज़ेशन पॉलिमॉर्फिक कोड का एक उत्कृष्ट अनुप्रयोग है। इसका एक शानदार उदाहरण Fastest Fourier Transform in the West है। इसके निपटारे में कोड पथ और सॉल्वर पैरामीटर समायोजित करने के लिए इसमें self-profiling के साथ संयोजन होता है। नतीजा यह है कि प्रोग्राम आपके कंप्यूटिंग पर्यावरण के लिए खुद को अनुकूलित करता है, जो बाद के रनों के साथ तेजी से बढ़ रहा है!

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

+0

ire_and_curses, उदाहरण के लिए धन्यवाद! +1 – MagicAndi

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