2010-03-05 26 views
11

हम ग्राहकों को इसे जारी करने से पहले कुछ कोड को खराब करने के बारे में सोच रहे हैं। हम तकनीकी समर्थन पर होने वाले प्रभाव के बारे में सोच रहे हैं। क्या ग्राहक हमें सार्थक स्टैक निशान प्रदान कर सकते हैं या क्या वे भी खराब हो जाएंगे?Obfuscator & Tech Support

मैं आपके अनुभव के बारे में सुनने की आशा करता हूं। अग्रिम में धन्यवाद।

उत्तर

9

आपको obfuscated स्टैक निशान मिलेगा। लेकिन obfuscators मैपिंग फाइलें उत्पन्न कर सकते हैं जो वास्तविक नामों पर obfuscated नामों को मानचित्रित करते हैं .. आपको इन मैपिंग फ़ाइलों को एक सुरक्षित स्थान पर रखना होगा और जब आप आवश्यक हो तो स्टैक निशान को "deobfuscate" करने के लिए उपयोग कर सकते हैं।

तकनीकी सहायता के मामले में

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

यहाँ

Dotfuscator अस्पष्टकर्ता साथ प्रक्रिया को समझा दो लिंक हैं:

http://www.preemptive.com/images/stories/dotfuscator_documentation/Dotfuscator/The_Map_File.html

http://www.preemptive.com/images/stories/dotfuscator_documentation/Dotfuscator/Decoding_Obfuscated_Stack_Traces.html

+2

जैसा कि ध्यान दिया गया है, अधिकांश उपकरणों में डी-अस्पष्ट स्टैक निशान उपलब्ध हैं (उदा। Http://www.ssware.com/cryptoobfuscator/obfuscator-net।एचटीएम) –

+0

मैं कभी-कभी क्रैश रिपोर्ट प्राप्त करने के लिए एक वेब सेवा बनाता हूं। उपयोगकर्ता "सबमिट त्रुटि रिपोर्ट" बटन सबमिट कर सकता है और स्टैक ट्रेस और प्रोग्राम स्थिति के बारे में अन्य उपयोगी जानकारी गलत टेक्स्ट प्रारूप में एन्कोड किए गए स्टैक ट्रेस के किसी भी जोखिम के साथ प्रसारित नहीं की जा सकती है (क्योंकि कई obfuscators कक्षा/विधि के लिए यूनिकोड वर्णों का उपयोग करते हैं नाम नहीं)। –

1

स्टैक पर तरीकों अपने रिलीज में समझ से परे रहे हैं, तो आप किसी भी स्टैक ट्रेस में अस्पष्ट विधि के नाम मिल जाएगा।

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

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

+0

मैं अगर कंपनी है जो वे आंतरिक रूप से उपयोग कर सकते हैं असली जगह त्रुटि हुई पर प्राप्त करने के लिए स्रोत कोड पर कहानियो के लिए एक मुश्किल होता लॉग रोक सकता है सोच रहा हूँ। –

+0

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

1

इस के बाद से सबसे ऑबफस्केटर डी-अंधेरा ढेर करने के लिए वापस निशान करने की क्षमता प्रदान नहीं आम तौर पर एक मुद्दा है उनके मूल निशान

1

हम BitHelmet का उपयोग करते हैं। समस्या यह है कि, सबसे मजबूत obfuscation तकनीक का उपयोग करते समय, स्टैक ट्रेस deobfuscated नहीं किया जा सकता है। बिटहल्मेट पूर्ण हस्ताक्षर नामकरण (कुछ प्रकार का ओवरलोड प्रेरण, केवल बेहतर) का उपयोग करता है। क्या होता है, कई विधियां एक ही नाम से समाप्त होती हैं लेकिन विभिन्न रिटर्न प्रकार के साथ (यह सी # में नहीं की जा सकती है, लेकिन सीएलआर के लिए यह ठीक है)। वापसी के प्रकार ढेर निशान में नहीं दिखाए जाते हैं! तो सबसे मजबूत obfuscation का उपयोग कर स्टैक ट्रेस deobfuscate वास्तव में संभव नहीं है।

हम वही सवाल पूछा की तुलना में तुमने किया था, हम इसे विचार-विमर्श किया और हम निष्कर्ष है कि वास्तव में हम बेहतर कहानियो को पसंद करते हैं पर पहुंच गया। स्टैक निशान वास्तव में उपयोगी नहीं होते हैं जब तकनीकी समर्थन प्रदान करते हैं तो कुछ अन्य डेटा जो केवल अंतिम उपयोगकर्ता प्रदान कर सकते हैं। "कृपया मुझे बताओ कि आप क्या कर रहे थे ???" :)

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