2010-09-05 11 views
9

मैं एक असेंबली पर काम कर रहा हूं जो विभिन्न रंग परिवर्तनों को संभालता है। जब मैं असेंबली में एक बग होने पर परीक्षण करने के लिए एक नई परियोजना में असेंबली लोड करता हूं, तो विजुअल स्टूडियो डीएलएल से अपमानजनक कोड खोलता है। मैं असेंबली में सभी कोड के माध्यम से कदम उठा सकते हैं।मैं अपनी असेंबली को डीबग करने में सक्षम क्यों हूं?

मैं निश्चित रूप से कोड को इतना आसानी से दिखाना/उपलब्ध नहीं करना चाहता हूं। मैं चाहता हूं कि कोड असेंबली में कुछ हद तक "लॉक" हो।

मैं डीएलएल को खोलने के बजाय किसी प्रकार की त्रुटि को फेंकने के लिए कैसे सेट कर सकता हूं?

संपादित

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

+0

यह बल्कि सरल है: अपने DLL के साथ स्रोत कोड फ़ाइलों जहाज नहीं है। –

+0

कोड साझा करने के साथ क्या गलत है? :( – alternative

+0

कोड साझा करने में कुछ भी गलत नहीं है। इस विशेष मामले में, मैं कोड को कुछ हद तक निजी रखना चाहता हूं। –

उत्तर

15

इसका कारण यह है कि आप वी.एस. मशीन पर स्थापित किया है हो रहा है, और क्योंकि आप PDB फ़ाइलों की तैनाती कर रहे हैं - आप इस संवाद बॉक्स नहीं मिलेगा अगर वी.एस. स्थापित नहीं है।

इसके अतिरिक्त:

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

इन दोनों में मदद मिलेगी, लेकिन किसी भी विधानसभा आसानी से परावर्तक साथ decompiled किया जाएगा, ताकि आप भी ऑबफस्केटर जांच करने के लिए आसानी से अपने कोड को देखने से अन्य प्रोग्रामर को रोकने के लिए कर सकते हैं।

+0

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

2

आपको अपनी बाइनरी को खराब करने की आवश्यकता है।

0

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

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

इस पर मेरा आलेख देखें। http://www.codeproject.com/KB/dotnet/code_security.aspx

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