यदि कोई ClickOnce संस्करण जारी करेगा, तो इसे Dotfuscator द्वारा कैसे रोक दिया जा सकता है?क्लिकऑन के लिए obfuscation का उपयोग कैसे करें?
उत्तर
आप डॉटफुस्केटर प्रोजेक्ट में इनपुट के रूप में तैनाती के रूप में ("foo.application") जोड़कर एक क्लिकऑन एप्लिकेशन को स्वचालित रूप से obfuscate करने के लिए डॉटफुस्केटर के वाणिज्यिक संस्करण का उपयोग कर सकते हैं। डॉटफुस्केटर आपको क्लिकऑन एप्लिकेशन में निहित असेंबली में किसी भी आवश्यक बहिष्करण को जोड़ने की अनुमति देगा और अप्रयुक्त असेंबली युक्त अद्यतन तैनाती और एप्लिकेशन मैनिफ़ेस्ट बनाएगा।
विजुअल स्टूडियो (विजुअल स्टूडियो 2010 समेत) में शामिल डॉटफुस्केटर का मुफ्त संस्करण क्लिकऑन अनुप्रयोगों को स्वचालित रूप से खराब करने की सुविधा नहीं है। एक कामकाजी obfuscated ClickOnce एप्लिकेशन प्राप्त करने के लिए आपको ClickOnce प्रकट करने को फिर से बनाना या अपडेट करना होगा क्योंकि obfuscation असेंबली के हस्ताक्षर बदलता है।
आप mage.exe या mageui.exe (विंडोज़/नेट SDK में शामिल) ClickOnce प्रकट होता है अद्यतन करने के लिए उपयोग कर सकते हैं। यदि आप mage.exe का उपयोग करने जा रहे हैं तो आपको यह पता होना चाहिए कि आप अपने क्लिकऑन विकल्पों में "उपयोग करें। फ़ाइल फ़ाइल एक्सटेंशन" विकल्प का उपयोग नहीं कर सकते क्योंकि यह इसे पहचान नहीं पा रहा है।
मानते हुए अपने ClickOnce आवेदन "फू" नाम और संस्करण 1.0.0.0 प्रक्रिया का पालन करना चाहते हैं पर है है:
- डिस्क
- भागो Dotfuscator सीई पर एक निर्देशिका करने के लिए अपने ClickOnce आवेदन प्रकाशित करें और उन असेंबली को जोड़ें जिन्हें आप अपनी प्रोजेक्ट
- असेंबली को बाधित करें से बिन निर्देशिका से obfuscated करना चाहते हैं। Obfuscated असेंबली डिफ़ॉल्ट रूप से "Dotfuscated" नामक एक उपनिर्देशिका में डाल दिया जाएगा।
- sn.exe (केवल यदि आप शुरू में मजबूत उन्हें नाम)
- कॉपी ClickOnce में वालों के ऊपर प्रकाशित \ Application Files \ Foo_1_0_0_0 निर्देशिका
अद्यतन आवेदन प्रकट से अधिक समझ से परे विधानसभाओं के साथ अपने समझ से परे विधानसभाओं पुनः साइन और यह इस्तीफा देने:
mage.exe -दिनांक "आवेदन Files \ Foo_1_0_0_0 \ Foo.exe.manifest" -CertFile "c: \ फू \ foo.pfx" -पासवर्ड पासवर्ड
अद्यतन तैनाती प्रकट और इसे इस्तीफा दें:
mage.exe -Update Foo.application -AppManifest "एप्लिकेशन फ़ाइलें \ Foo_1_0_0_0 \ Foo.exe.manifest" -CertFile "c: \ Foo \ foo।pfx "-पासवर्ड पासवर्ड
अब आप एक वैध आवेदन और तैनाती प्रकट समझ से परे विधानसभाओं का उपयोग कर सकते है। तुम भी एक ही काम पूरा कर MageUI.exe उपकरण का उपयोग कर सकते हैं (और यह जानता है कि कैसे साथ विधानसभाओं को संभालने के लिए। विस्तार तैनात), लेकिन यह स्वचालित करने के लिए के रूप में आसान नहीं है।
हां, ये संगत प्रौद्योगिकियां हैं। क्लिकऑन बस किसी एप्लिकेशन और उसके संबंधित बाइनरी को लक्ष्य मशीन पर तैनाती पर केंद्रित करता है। डॉटफुस्केटर डीएलएल और एक्सई फाइलों को बंद कर देता है। जब तक आप आवेदन प्रकाशित करने से पहले डॉटफुस्केटर चलाते हैं, तब तक वे एक साथ काम करेंगे।
लेकिन, वीएस -2010 में, यदि आप क्लिकऑन 'प्रकाशित' करते हैं, तो कोई डीएल/एक्सई नहीं है। एप्लिकेशन को प्रकाशित करने से पहले 'डॉटफस्केटर कैसे चलाएं'। – Begtostudy
जोड़ें, 'एप्लिकेशन प्रकाशित करने से पहले डॉटफस्केटर चलाएं', कैसे प्रकाशित करें? – Begtostudy
यदि आप वीएस -2010 का उपयोग कर रहे हैं, तो डॉटफुस्केटर जो इसके साथ आता है, फाइलों को खराब कर देगा और फिर आपके लिए प्रकट हो जाएगा। [संपादित करें - यह तब तक सही नहीं है जब तक आप पूर्ण संस्करण खरीद नहीं लेते; यह सिर्फ वीएस -2008 की तरह काम करता है।]
यदि आप वीएस -2008 का उपयोग कर रहे हैं, तो आपको फ़ाइलों को obfuscate, और फिर Mage या MageUI के साथ प्रकट होने पर पुनः हस्ताक्षर करने की आवश्यकता होगी।
लेकिन, वीएस -2010 में, यदि आप क्लिकऑन 'प्रकाशित' करते हैं, तो कोई डीएल/एक्सई नहीं है। एप्लिकेशन को प्रकाशित करने से पहले 'डॉटफस्केटर कैसे चलाएं'। – Begtostudy
उपरोक्त निर्देश देखें। प्रीपेप्टिव लोगों के लिए धन्यवाद जिन्होंने ट्विटर पर जानकारी के लिए उनसे पूछा था। :-) – RobinDotNet
मैं an answer to forum post How to deal with ClickOnce से समझ में आ गया।
मैं एक समाधान जो Kuemerle के लिए इसी तरह की है, लेकिन इससे पहले कि प्रक्रिया को प्रकाशित करें। यह Visual Studio और MSBuild आदेश में प्रकाशित साथ काम करता है लाइन
प्रोजेक्ट फ़ाइल में BeforePublish लक्ष्य जोड़ें।
<ItemGroup>
<ClickOnceFiles Include="bin\Release\ClickOnce.*"/>
</ItemGroup>
<Target Name="BeforePublish">
<Exec Command="{path to dotfuscator}\dotfuscator.exe Dotfuscator.xml" />
<Exec Command="mage.exe -u bin\Release\ClickOnce.exe.manifest" />
<Exec Command="mage.exe -u bin\Release\ClickOnce.application -AppManifest bin\Release\ClickOnce.exe.manifest" />
<Copy SourceFiles="@(ClickOnceFiles)" DestinationFolder="obj\Release" OverwriteReadOnlyFiles="True" />
</Target>
ClickOnce फ़ाइलों ClickOnce.application
, ClickOnce.exe
, और ClickOnce.exe.manifest
हैं। मेरा dotfuscator.xml
प्रोजेक्ट फ़ाइल के साथ एक ही फ़ोल्डर में है। कुंजी अंतिम आदेश है, क्लिकऑन फ़ाइलों को obj
फ़ोल्डर में कॉपी करें।
उम्म, उपरोक्त का कौन सा हिस्सा फाइलों की संख्या के आधार पर प्रकट होता है? आखिरकार, मेरे पास obfuscation से पहले एक्स फाइलें हो सकती हैं लेकिन obfuscation के बाद केवल एक फ़ाइल (मैनिफेस्ट और .vsto फ़ाइलों को निश्चित रूप से गिनती नहीं है)। –
मैं कि क्या यह दृश्य स्टूडियो के बाद के संस्करणों में ही संभव है पता नहीं है लेकिन मेरे लिए यह पूरी तरह काम करता है:
- में निष्पादन का निर्माण रिलीज मोड
- प्रारंभ की exe-modificator अपनी पसंद और पर फ़ाइल को संशोधित obj/रिलीज/< फ़ाइल नाम > .exe (सूचना: नहीं bin/ लेकिन obj/)
- पुश प्रकाशित करें जो पिछले निर्माण किया गया था अप-टू-डेट
- लाभ मान लिया गया दृश्य स्टूडियो की अब बटन: डी
गहरे समुद्र अस्पष्टकर्ता ClickOnce के साथ काम करता
देखना माइक्रोसॉफ्ट ऑनलिंग दस्तावेज़: Walkthrough: Manually Deploying a ClickOnce Application
एज़िरिज .NET रिएक्टर के पास एक उत्कृष्ट क्लिकऑन एकीकरण है।
- 1. सीएसएसआरसोर्स obfuscation के साथ निर्भर शैली के नामों का उपयोग कैसे करें?
- 2. क्लिकऑन एप्लिकेशन में EventLog का उपयोग
- 3. कुछ मॉडल वर्गों के लिए gwt obfuscation अक्षम करें
- 4. क्लिकऑन
- 5. क्लिकऑन
- 6. क्लिकऑन
- 7. अनइंस्टॉल करें क्लिकऑन क्लाइंट
- 8. एंड्रॉइड के लिए मोनो, कोड obfuscation
- 9. जावास्क्रिप्ट Obfuscation के लिए नेट घटक?
- 10. टाइपस्क्रिप्ट Obfuscation
- 11. क्या स्कैला के लिए कोड obfuscation के लिए उपकरण हैं?
- 12. क्लिकऑन स्थापना
- 13. रूबी कोड obfuscation
- 14. गतिशील रूप से लोड असेंबली के साथ क्लिकऑन का उपयोग
- 15. क्लिकऑन एप्लिकेशन पर हस्ताक्षर कैसे करें
- 16. क्लिकऑन
- 17. डाटाबेसिंग और कोड obfuscation
- 18. क्लिकऑन
- 19. क्लिकऑन
- 20. वर्तमान क्लिकऑन के एप्लिकेशन प्रकाशक का नाम प्राप्त करें?
- 21. क्लिकऑन पूर्वापेक्षाएँ - पूर्वापेक्षाएँ के इंस्टॉल ऑर्डर को कैसे प्रबंधित करें?
- 22. क्लिकऑन के लिए कौन से विकल्प हैं?
- 23. ऐप स्टोर कोड obfuscation?
- 24. क्वेरी स्ट्रिंग पैरामीटर obfuscation
- 25. ईमेल obfuscation सवाल
- 26. क्लिकऑन परिनियोजन
- 27. सी # विंडोज़ सेवाओं के लिए क्लिकऑन परिनियोजन?
- 28. क्लिकऑन एप्लिकेशन के साथ फ़ाइलों को कैसे तैनात करें?
- 29. सिल्वरलाइट कोड Obfuscation
- 30. जावा कोड obfuscation
हाय @ जो, क्या आप समझा सकते हैं कि प्रमाणपत्र पीएफएक्स फ़ाइल कहां से आती है? – RHaguiuda
@RHaguiuda यदि आप बाहरी ग्राहकों को सॉफ्टवेयर भेज रहे हैं तो यह आमतौर पर एक प्रमाणपत्र विक्रेता (कॉमोडो, थॉवेट, आदि) से आता है। आंतरिक अनुप्रयोगों के लिए मैंने डोमेन नियंत्रक द्वारा हस्ताक्षरित कर्ट का उपयोग किया है या मेकर्ट.एक्सई –
हाय @ जोक्यूमेरल से स्वयं हस्ताक्षरित कर्ट का उपयोग किया है, यह सब करने के बाद क्लाइंट मशीन पर काम करना बंद कर दिया। यह अद्यतन के लिए जांच रहा है, इसे डाउनलोड कर रहा है और इसे चला रहा है। फिर काम करना बंद कर दिया। मैंने इवेंट व्यूअर की जांच की और 1.0.0 मिला।0 4f29010f ग घ System.NullReferenceException C: \ Users \ Interbiz \ AppData \ Local \ अस्थायी \ WER22D1.tmp.WERInternalMetadata.xml – Bindas