दिखाए जाने से रोकें विधि के नाम मैं अपने निष्पादन में सुरक्षा को संभालने के लिए एक वर्ग के लिए लिख रहा हूँ (जाँच धारावाहिकों, मुकदमे की तारीख की जाँच आदि)। जब मैं निष्पादन योग्य (यहां तक कि रिलीज बिल्ड में, सभी डीबग और आरटीटीआई पीढ़ी के बंद होने के साथ) संकलित करता हूं, जब मैं इसे नोटपैड में खोलता हूं और कच्चे डेटा में विधि का नाम खोजता हूं, तो मैं अपनी कक्षा को इकट्ठा करने वाले तरीकों के सभी नाम देख सकता हूं । कोड बेस में किसी भी कक्षा में कोई प्रकाशित सदस्य नहीं हैं।डेल्फी: निष्पादनयोग्य
यह सुरक्षा के लिए बुरा है। क्या डेल्फी को निष्पादन योग्य तरीके से विधि नामों को स्टोर न करने का कोई तरीका है? यदि आरटीटीआई की आवश्यकता नहीं है और कोई COM विस्फोट नहीं है तो यह उन्हें बिल्कुल क्यों स्टोर कर रहा है? क्या कोई संकलक विकल्प इसे नियंत्रित कर रहा है?
हो सकता है कि लक्ष्य निष्पादन में किसी भी वर्ग का कोई भी तरीका पाठ के रूप में निष्पादन के अंदर संग्रहित है। जाहिर है इस विस्तारित RTTI के कारण होता है डेल्फी में सभी वर्गों के लिए डिफ़ॉल्ट रूप से चालू किया जा रहा 2010
@FractalizeR -। यह गलत तरीके से नहीं लेते हैं लेकिन यदि आप obfuscation पर अपनी सुरक्षा का आधार (हिस्सा) कर रहे हैं, तो आप गलत दृष्टिकोण ले रहे हैं। मुझे सुरक्षा के बारे में कुछ भी नहीं पता है लेकिन यह जानने के लिए पर्याप्त है कि आपको कोशिश नहीं करनी चाहिए डिवाइस अपनी खुद की 'अटूट' योजना। मेरा सुझाव है कि आप अपने आवेदन के सुरक्षा पहलू को संभालने के लिए एक वाणिज्यिक या ओपन सोर्स समाधान की तलाश करेंगे। –
यदि आप देखना चाहते हैं कि कौन से प्रतीकों (जैसे प्रक्रिया और कार्य नाम) आपके exe में रहते हैं, तो एक अच्छा परीक्षण इडा (इंटरएक्टिव डिससेबलर) में exe लोड करना होगा: http://www.hex-rays.com/idapro/मूल्यांकन और फ्रीवेयर संस्करण उपलब्ध हैं। – Remko
@Lieven मैं अपने exe पर थीमिडा रक्षक का उपयोग करने की योजना बना रहा हूं, लेकिन इस मामले में भी सुरक्षा को मजबूत करने के लिए किसी को अत्यधिक जानकारी को खत्म करने की जरूरत है। –