2009-07-01 10 views
15

मैं यह नहीं कह सकता कि मैंने कभी एक वाणिज्यिक ऐप देखा है जो .NET (अन्य तब devs/open source के लिए नियंत्रण) का उपयोग करता है। RedGates .NET Reflector का उपयोग कर एक .NET अनुप्रयोग को 'डीकंपाइल' करना इतना आसान हो रहा है, मैं सोच रहा था कि .NET को ASP.NET की तरफ तैयार किया गया था (क्योंकि आप सर्वर पर चलने वाले कोड को 'डीकंपाइल' नहीं कर सकते हैं और यह संग्रहीत नहीं है उपयोगकर्ता मशीन)?क्या कोई भी .NET का उपयोग कर डेस्कटॉप ऐप्स लिखता है?

+18

बाइटकोड भाषाओं में बहुत से मेटाडेटा शामिल हैं जो अनुप्रयोगों के रिवर्स इंजीनियरिंग में सहायता कर सकते हैं और परावर्तक जैसे टूल को जन्म दे सकते हैं। हालांकि, मूल ऐप और एक .net को उलटने में कठिनाई में विभाजन उस चौड़े नहीं है। क्या यह थोड़ा आसान है? ज़रूर। क्या आपके ऐप को लिखने के लिए काफी अंतर है? बिल्कुल नहीं। आईडीए प्रो जैसे शक्तिशाली उपकरणों से पहले मूल निष्पादन योग्य धनुष नीचे आते हैं। हेक्सरेज़ प्लगइन के साथ मैं छद्म कोड की तरह परावर्तक भी प्राप्त कर सकता हूं। – mmcdole

+2

@ सिमुकाल: यह पूरी तरह से एक जवाब होना चाहिए (मैं इसे ऊपर उठाया होगा)। – Kredns

+2

क्या किसी के किसी भी व्यक्ति के किसी अन्य व्यक्ति के रिवर्स इंजीनियरिंग में कोई उदाहरण हैं और वास्तव में परिणाम के साथ कुछ भी उपयोगी कर रहे हैं? यह मेरे लिए एक बड़ी गैर-मुद्दा की तरह लगता है। – dkretz

उत्तर

25

मेरी कंपनी WPF के साथ .NET 3.5 में मेडिकल इमेजिंग एप्लिकेशन बनाती है। मैं वर्तमान में .NET में अपना स्वयं का एप्लिकेशन विकसित कर रहा हूं।

पेंट.नेट मूल कोड में विचित्र रूप से पर्याप्त है। मैं पिछले वाक्य के बारे में स्पष्ट रूप से झूठ बोल रहा हूँ। यह स्पष्ट रूप से .NET में लिखा गया है।

यह आपके विचार से कहीं अधिक प्रचलित है।

जैसा कि किसी और ने उल्लेख किया है - आप दूसरों के लिए अपने आवेदन को कम करने के लिए इसे और अधिक कठिन बनाने के लिए एक obfuscator का उपयोग कर सकते हैं। यह असंभव नहीं है, लेकिन यह और भी मुश्किल है - कहा जा रहा है कि, कुछ भी समय/संसाधनों को इंजीनियर/उलटा इंजीनियर किया जा सकता है।

+2

हाँ, हम wpf में चिकित्सा इमेजिंग ऐप्स भी बनाते हैं। – mmr

+0

@mmr बहुत अच्छा :-) यहां पर एक साथी चिकित्सा इमेजिंग लड़का देखने के लिए अच्छा लगा! –

+1

मैं WinForms .NET में चिकित्सा नैदानिक ​​सॉफ्टवेयर लिखता हूं। जाहिर है, नेट उद्योग चिकित्सा में बहुत लोकप्रिय है। – NascarEd

4

Redgate से अधिकांश उत्पादों .net डेस्कटॉप क्षुधा

+1

आपने मेरे प्रश्न को गलत समझा। यह रेडगेट के बारे में नहीं है लेकिन मौसम सामान्य है, रोज़ाना देवता वाणिज्यिक डेस्कटॉप ऐप्स बनाने के लिए .NET का उपयोग करते हैं। –

+2

मुझे लगता है कि वह सवाल समझ गया है ... वह सिर्फ उस उदाहरण का उपयोग कर रहा है जिसका उल्लेख आपने अपनी पोस्ट में उल्लेख किया है। –

5

खैर व्यक्तिगत रूप से, मैं का उपयोग Microsoft Pro Photo Tools जियोटैगिंग के लिए कर रहे हैं। यह नेट में लिखा गया है। आप इसे बनाने के लिए कोड को भी खराब कर सकते हैं ताकि परावर्तक उपकरण इसे पढ़ न सके। Read Microsoft's article on obfuscating a .Net app

8

मुझे एंटरप्राइज़ अनुप्रयोगों के बारे में पता है जो .NET का उपयोग करते हैं, हालांकि मुझे लगता है कि अधिकतर प्रबंधित सी ++ का उपयोग किया जाता है, जिसे परावर्तक के साथ विघटित नहीं किया जा सकता है।

मैं व्यक्तिगत रूप से एक .NET आधारित विंडोज एप्लिकेशन बेचता हूं। मैं कोड को obfuscate करने के लिए Eazfuscator.NET का उपयोग करें। बहुत से वाणिज्यिक और मुफ्त उपकरण हैं जो संकलन के बाद .NET कोड को खराब करते हैं।

+1

Obfuscation एक कुशल आरई में बाधा का बड़ा नहीं है। जब आप एक .NET ऐप को वापस करने में जाते हैं तो मुझे पहले से ही लगता है कि यह obfuscated और पैक किया गया है, और यह अभी भी पर्याप्त नहीं है। लेकिन यह देशी के बारे में भी सच है। – mmcdole

+1

मैं सहमत हूं। Obfuscation गैर-कुशल उपयोगकर्ताओं के खिलाफ मदद करता है जो कोड को देखने के लिए केवल प्रतिबिंब खींचते हैं। –

+0

@ क्रिस थॉम्पसन, निश्चित रूप से। एक बंद स्रोत ऐप को खराब करने के लिए आप मूर्ख नहीं होंगे ~ नहीं। – mmcdole

11

माइक्रोसॉफ्ट एक्सप्रेशन स्टूडियो

है

विजुअल स्टूडियो 2010 नेट

है

लाल गेट सॉफ्टवेयर (अधिकतर) नेट

है ... वहाँ भी है SharpDevelop (खुला स्रोत हालांकि), और माइक्रोसॉफ्ट प्रो फोटो उपकरण।

+1

लेकिन वे ज्यादातर देव उपकरण हैं जिन्हें वह पहले से ही अपने प्रश्न के अनुसार जानता है: "... एक वाणिज्यिक ऐप जो .NET (अन्य तब devs/open source के लिए नियंत्रण) का उपयोग करता है ..."; –

+0

जब उन्होंने नियंत्रण कहा देव/ओपन सोर्स, मुझे लगता है कि वह वाणिज्यिक .NET नियंत्रण पैकेज जैसे टेलरिक और इंफ्राजिस्टिक्स का मतलब था। –

5

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

3

उत्कृष्ट छवि संपादन सॉफ्टवेयर Paint.NET सी # प्रबंधित कोड में 100% लिखा गया है।

1

मत भूलना कि एफ स्पॉट (फोटो प्रबंधक) और Banshee (संगीत) दोनों, मोनो पर चलने के लिए लिखा जाता है जो, राजनीति और पेटेंट छोड़ने बाहर इसका, लिनक्स के लिए .NET है। लेकिन वे डेस्कटॉप ऐप हैं।

1

मीडिया केंद्र (कुछ भागों, ज्यादातर इंटरफेस)
Zune खिलाड़ी (भागों)
अभिव्यक्ति

0

विंडोज के लिए निकोन कैप्चर एनएक्स की आवश्यकता है। ईटी फ्रेमवर्क, हालांकि स्पष्ट रूप से पूरी चीज प्रबंधित कोड नहीं है।

सोर्सगियर गलती और किले के ग्राहक।

1

साफ़ कार्यालय स्प्रेडशीट .NET में लिखा गया है। यह वास्तव में एक्सेल

0

नोवेल का PlateSpin माइग्रेट/प्रोटेक्ट और रिकॉन उत्पादों में सभी .NET डेस्कटॉप क्लाइंट हैं। हालांकि, उपभोक्ता की बजाय उद्यम की ओर लक्षित हैं।

अस्वीकरण: मैं वहाँ काम ...

0

अधिक आधुनिक उपयोगिताओं कि Linn Products इसकी उच्च अंत ऑडियो सिस्टम घटकों के प्रबंधन के लिए उपयोग करता है में से कुछ प्रत्येक नेट उत्पाद क्या तुमने कभी पर ठोकर खाई उल्लेख के नेट में लिखे गए हैं

1

इसके बजाय, बस जाने हर किसी को याद है कि जावा एक जेवीएम में भी चल रहा है और उसी तरह से रिवर्स इंजीनियर किया जा सकता है और उसी कारण से .NET

और .NET परिपक्व होने से पहले कई अलग-अलग डोमेनों में जावा से सर्वर पर सर्वर का उपयोग किया जाता है।

"व्यापार"/"गंभीर" के लिए आर-ई के बारे में जुनून (अपने पसंदीदा "मैं दूसरों की तुलना में बेहतर हूं" विशेषण का चयन करें) आवेदन खत्म हो गया है।

मैं स्वीकार करता हूं कि कोड-चोरी होती है (हालांकि, यह अक्सर छोटे शडी व्यवसायों के लिए ध्यान दिए बिना ऐसा कर सकता है ... अन्यथा पीआर नुकसान बहुत महान हैं)। लेकिन अगर कोई आपके आवेदन को आर-ई करना चाहता है, तो वह इससे कोई फर्क नहीं पड़ता कि आपने कितने सुरक्षा को जोड़ने की कोशिश की है। थोड़ी सी सुरक्षा अच्छी है, लेकिन पागल हो रही है यह सिर्फ बेवकूफ है।

1

मैं वीबीनेट का उपयोग कर एक सीएडी सिस्टम में कॉम इंटरऑप प्लगइन लिखता हूं। यह आसानी से सीएडी इंजन कार्यों का उपयोग करने के बिना सभी अपेक्षित 3 डी गणित को संभालता है। मूल रूप से यह वीबी 6 में लिखा गया था। मुझे कहना है कि यह VB6 के बजाय .Net का उपयोग करके एक खुशी है। मैं बहुत अधिक उत्पादक हूं, कोड बहुत साफ है और अधिक ढीला है। जैसा कि पिछले कुछ पोस्टर्स ने कहा था, अगर आपको कुछ हार्ड कोर प्रदर्शन की आवश्यकता है तो आप हमेशा सी ++ या सी का उपयोग कर सकते हैं। यदि आप विंडोज वातावरण पर विकसित होते हैं, तो नेट आपकी पहली पसंद होनी चाहिए (कम से कम प्रेजेंटेशन और बिजनेस लेयर के लिए)।

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

चीयर्स, ट्रॉय

0

XNA फ्रेमवर्क स्वतंत्र डेवलपर्स सी # में XBox 360 और Windows खेल कोड कामयाब लिखने के लिए अनुमति देता है। ये एक्सबॉक्स लाइव के माध्यम से उपलब्ध व्यावसायिक रूप से हैं:

http://catalog.xna.com/en-US/gamescatalog.aspx

तथ्य खेल चलाता है कि पर XBox मंच इसे और अधिक मुश्किल के लिए कोड रिवर्स इंजीनियर बना देता है, लेकिन मुझे लगता है असंभव नहीं संदेह है।

0

मुझे वास्तव में सवाल पसंद है और मैं हमेशा खुद को एक ही बात पूछ रहा हूं! क्या होगा यदि कोई बाहर निकल सकता है और इस कोड का उपयोग कर सकता है जिसे मैंने पूरा करने के लिए इतना कठिन काम किया है ?!
कहा जा रहा है कि, मैंने पिछले 7 वर्षों में नेट उत्पादों का उपयोग उन सभी उत्पादों के लिए किया है जिन पर मैंने काम किया है! क्या इसे अव्यवस्थित किया जा सकता है? ज़रूर! लेकिन, क्या मुझे गुस्सा होना चाहिए कि कोई मेरे कोड का उपयोग कर सकता है अगर उन्होंने इसे कम करने के लिए पर्याप्त मेहनत की और फिर इसे समझ लिया? मेरे लिए, अगर कोई ऐसा करने के लिए समय और संसाधन खर्च करता है तो मैं खुश रहूंगा! इसका मतलब है कि मैं काफी अच्छा हूँ! इसका मतलब यह भी है कि मैं वहां किसी को शिक्षित करने में भाग ले रहा हूं!
दूसरी तरफ, जब कोई आपके कोड का उपयोग कर रहा है, तो मुझे लगता है कि आप अधिक उन्नत चीजों को विकसित करने के लिए बहुत दूर होंगे जो आप दो साल पहले लिखे गए पुराने कोड के बारे में भूल गए होंगे!
मैंने अभी एक ऐसे उत्पाद पर काम करना समाप्त कर दिया है जिसका उपयोग एक संग्रह प्रणाली, मानव संसाधन प्रबंधन प्रणाली और मध्यम आकार की कंपनियों के लिए प्रशासनिक प्रबंधन के रूप में किया जा सकता है और यह जल्द ही बाजार में होगा।
नीचे की रेखा के रूप में, मैं कहूंगा: उन सभी के लिए ज्ञान उपलब्ध होना चाहिए जो इसका उपयोग करने के लिए समय व्यतीत करेंगे! कल्पना कीजिए कि अगर हमारे ज्ञान को हम सभी के सामने फैलाने से पहले कुछ महान वैज्ञानिकों की मृत्यु हो गई है!

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