* क्या आप किसी **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी को HackTricks में विज्ञापित** देखना चाहते हैं? या क्या आपको **PEASS की नवीनतम संस्करण या HackTricks को PDF में डाउनलोड करने की अनुमति** चाहिए? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष संग्रह [**NFTs**](https://opensea.io/collection/the-peass-family)
* प्राप्त करें [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या मुझे **Twitter** पर **फ़ॉलो** करें [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
Xamarin एक ओपन-सोर्स प्लेटफ़ॉर्म है जो डेवलपरों को .NET और C# फ़्रेमवर्क का उपयोग करके iOS, Android और Windows के लिए आधुनिक ऐप्स बनाने की सुविधा प्रदान करती है।
Mono निष्पादन पर्यावरण MCW (Managed Callable Wrappers) के माध्यम से इन नेमस्पेस में कॉल करता है और ART को ACW (Android Callable Wrappers) प्रदान करता है।
इन दोनों पर्यावरणों को लिनक्स कर्नल के ऊपर चलाया जाता है और उपयोगकर्ता कोड के लिए विभिन्न API को आमंत्रित करता है। इस व्यवस्था से डेवलपरों को निम्नलिखित प्रणाली तक पहुंच मिलती है।
Xamarin.iOS ऐप्लिकेशन Mono रनटाइम पर्यावरण के तहत कार्य करते हैं और C# .NET कोड को ARM असेंबली भाषा में कंपाइल करने के लिए पूर्ण आगे कंपाइलेशन (AOT) का उपयोग करते हैं।
यह Objective-C रनटाइम के साथ चलता है। रनटाइम पर्यावरण एक UNIX-जैसे कर्नल के ऊपर चलते हैं और उपयोगकर्ता कोड के लिए कई API को आमंत्रित करते हैं, जिससे डेवलपरों को प्रबंधित या प्राकृतिक प्रणाली तक पहुंच मिलती है।
**.Net फ़्रेमवर्क एक संग्रह हैं, जिसमें डेवलपर एप्लिकेशन बनाने के लिए उपयोग कर सकते हैं; .Net Runtime कंपाइल किए गए कोड को चलाता है, और इस प्रक्रिया को मैनेज़्ड कोड निष्पादन कहा जाता है। .NET Runtime पुराने फ़्रेमवर्क संस्करणों के साथ संगत होने और प्लेटफ़ॉर्म स्वतंत्रता सुनिश्चित करने कई सुविधाएँ प्रदान करता है।
**Mono Framework** 2005 में Linux (Ximian/SuSe/Novell) के लिए .NET फ़्रेमवर्क के एक अमल के रूप में शुरू किया गया था। Microsoft द्वारा प्रायोजित और Xamarin द्वारा नेतृत्व किया जाने वाला Mono, ECMA मानकों पर आधारित .NET फ़्रेमवर्क का ओपन-सोर्स अमल है।
एंड्रॉइड **APK के मामले में ये dll फ़ाइलें संपीड़ित** होती हैं और सीधे डीकंपाइलेशन के लिए सीधे उपयोग नहीं की जा सकती हैं। भाग्य से हमें ऐसे उपकरण भी मिलते हैं जिनका हम उपयोग कर सकते हैं इन dll फ़ाइलों को **अनसंदर्भित करने के लिए** जैसे [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) और [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress).
यह संभव है कि आप निर्देशिका में `assemblies.blob` और `assemblies.manifest` देखेंगे इसके बजाय dll फ़ाइलें। यह एक Xamarin AssemblyStore है और एंड्रॉइड एप्लिकेशन में dlls पैक करने के लिए वर्तमान में सिफारिश की जाने वाली तरीका है। `assemblies.manifest` एक पाठ फ़ाइल है जो `assemblies.blob` बाइनरी फ़ाइल की सामग्री का वर्णन करती है। इन्हें अनपैक करने के लिए आपको [pyxamstore](https://github.com/jakev/pyxamstore) का उपयोग करना होगा।
**Dll फ़ाइलों को डीकंपाइल करने पर अधिकांश एप्लिकेशन कोड पाया जा सकता है।** यह भी ध्यान दें कि Xamarin Framework आधारित ऐप्स में iOS और Android आदि जैसे सभी प्लेटफ़ॉर्मों के बिल्ड में 90% साझा कोड होता है।
उपरोक्त स्क्रीनशॉट में दिखाए गए dll फ़ाइलों की सूची से हम पुष्टि कर सकते हैं कि यह एक Xamarin ऐप है। इसमें ऐप-विशिष्ट dll फ़ाइलें शामिल हैं जो ऐप के लिए आवश्यक पुस्तकालय फ़ाइलें जैसे `Xamarin.Essentails.dll` या `Mono.Security.dll` शामिल हैं।
अंत में आप [**इन सिफारिश किए गए उपकरणों**](../reversing/reversing-tools-basic-methods/#net-decompiler) का उपयोग करके DLL से **C# कोड** तक पहुंच सकते हैं।
जांचें कि क्या ऐप्लिकेशन में कोई भी प्रकार का SSL पिनिंग है। यदि नहीं है, तो अनुरोधों को अवरोधित करने के लिए बर्प का उपयोग करना चाहिए। **यहां फ्रीडा जावा या ObjC रनटाइम काम नहीं करेगा**, लेकिन भाग्य से ऐसा एक उपकरण है जिसका उपयोग मेथडों में हुक करने के लिए किया जा सकता है।
[**Fridax**](https://github.com/NorthwaveSecurity/fridax) आपको आसानी से **एक्सामरिन ऐप्लिकेशन के भीतर .NET बाइनरी को रनटाइम पर संशोधित करने** की अनुमति देता है। स्थिर विश्लेषण आपको ऐप्लिकेशन में मौजूद विभिन्न मेथड्स की पहचान करने में मदद करेगा, जिन्हें फ्रीडा के उपयोग से गतिशील विश्लेषण के लिए हुक किया जा सकता है। नीचे कुछ फ्रीडा स्क्रिप्ट हैं जो हमें रूट डिटेक्शन या SSL पिनिंग को बाइपास करने में मदद कर सकते हैं:
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी कंपनी को **हैकट्रिक्स में विज्ञापित** देखना चाहते हैं? या क्या आप **PEASS के नवीनतम संस्करण का उपयोग करना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं**? [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) का संग्रह
* प्राप्त करें [**आधिकारिक PEASS और HackTricks swag**](https://peass.creator-spring.com)