obfuscation - Ruby obfuscator -


क्या कोई रूबी ऑब्फ़सकेटर या "कंपाइलर" है?

कुछ विकल्प हैं, जैसे या हालांकि, व्याख्याय भाषाओं के सभी obfuscators एक गंभीर दोष है: वे आमतौर पर अधिक परिष्कृत metaprogramming तकनीकों को समझ नहीं है।

यही है, वे जरूरी नहीं बता सकते हैं कि कुछ जैसे foo.send (: बार, ...) एक पूरी तरह से अलग पुस्तकालय में बार विधि पर एक आमंत्रण है, या वह eval ("% w की आवश्यकता है {एबीसी डीआरडीफी} ") से तीन अलग-अलग पुस्तकालयों की आवश्यकता होती है ये तुच्छ उदाहरण हैं - जब आप method_missing और मिश्रण के रूप में इसके साथ फेंकते हैं तो चीजें ज्यादा जटिल हो जाती हैं।

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

दुर्भाग्य से, कई जवाहरात और लाइब्रेरीज़ परिष्कृत मेटाप्रोग्राफिक तकनीक का उपयोग करते हैं। यदि आप अस्पष्टता का उपयोग करने का प्रयास करते हैं और आपके प्रोग्राम को समान व्यवहार करने की अपेक्षा करते हैं, तो आपको संभवतः मुसीबत में पड़ेगा इससे भी बदतर है, क्योंकि वहाँ बहुत सारे स्तर का संकेत है, यदि कोई ओफ़्फोसकेटेड संस्करण में कोई बग होता है, तो आप कभी भी नहीं जानते हैं कि वास्तव में क्या हुआ या इसे कैसे पुन: उत्पन्न किया जा सकता है।


Comments

Popular posts from this blog

objective c - iPhone and it's wireless area -

unix - Listing all shared memory segments used by a process on AIX5.3+ -

.net - Self Tracking Entities (STE)'s and partial updates with EF4 and mVC2 -