# Xamarin Apps
जीरो से हीरो तक AWS हैकिंग सीखें htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **मुझे** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में।
यह एक सारांश है ब्लॉग पोस्ट का [https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers](https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers)
## **मूल जानकारी**
Xamarin एक **ओपन-सोर्स प्लेटफॉर्म** है जो डेवलपर्स को **.NET और C# फ्रेमवर्क का उपयोग करके iOS, Android, और Windows के लिए ऐप्स बनाने** के लिए डिज़ाइन किया गया है। यह प्लेटफॉर्म मॉडर्न एप्लिकेशन अभिकलन के लिए कई उपकरण और एक्सटेंशन का उपयोग करने की सुविधा प्रदान करता है।
### Xamarin की वास्तुकला
- **Android** के लिए, Xamarin Android और जावा नेमस्पेस को .NET बाइंडिंग के माध्यम से एकीकृत करता है, जो Android Runtime (ART) के साथ मोनो निष्पादन वातावरण के भीतर कार्य करता है। Managed Callable Wrappers (MCW) और Android Callable Wrappers (ACW) Mono और ART के बीच संचार को सुविधाजनक बनाते हैं, जो दोनों लिनक्स कर्नेल पर आधारित हैं।
- **iOS** के लिए, एप्लिकेशन मोनो रनटाइम के तहत चलते हैं, C# .NET कोड को ARM असेंबली भाषा में रूपांतरित करने के लिए पूर्ण Ahead of Time (AOT) कॉम्पाइलेशन का उपयोग करते हैं। यह प्रक्रिया यूनिक्स-जैसे कर्नेल पर Objective-C रनटाइम के साथ चलती है।
### .NET रनटाइम और मोनो फ्रेमवर्क
**.NET फ्रेमवर्क** एप्लिकेशन विकास के लिए एसेम्ब्ली, क्लास, और नेमस्पेस शामिल करता है, जबकि .NET रनटाइम कोड निष्पादन का प्रबंधन करता है। यह प्लेटफॉर्म स्वतंत्रता और पिछली संगतता प्रदान करता है। **मोनो फ्रेमवर्क** एक ओपन-सोर्स संस्करण है जो 2005 में शुरू किया गया था ताकि .NET को लिनक्स तक फैलाया जा सके, जो अब माइक्रोसॉफ्ट द्वारा समर्थित है और Xamarin द्वारा नेतृत्व किया जाता है।
### Xamarin ऐप्स का रिवर्स इंजीनियरिंग
#### Xamarin एसेम्ब्लीज का डीकॉम्पाइलेशन
डीकॉम्पाइलेशन संकलित कोड को मूल कोड में वापस रूपांतरित करता है। Windows में, Visual Studio के Modules विंडो में मॉड्यूल्स को डीकॉम्पाइल करने के लिए पहचान सकता है, जिससे तीसरे पक्ष कोड का सीधा उपयोग करने और विश्लेषण के लिए मूल कोड को निकालने की सुविधा होती है।
#### JIT vs AOT कॉम्पाइलेशन
- **Android** JIT और AOT कॉम्पाइलेशन का समर्थन करता है, जिसमें श्रेष्ठ निष्पादन गति के लिए हाइब्रिड AOT मोड शामिल है। पूर्ण AOT केवल एंटरप्राइज लाइसेंस के लिए है।
- **iOS** केवल AOT कॉम्पाइलेशन का उपयोग करता है क्योंकि Apple ने डायनेमिक कोड निष्पादन पर प्रतिबंध लगाया है।
### APK/IPA से dll फ़ाइलों को निकालना
APK/IPA में एसेम्ब्लीज तक पहुंचने के लिए, फ़ाइल को अनज़िप करें और एसेम्ब्लीज डायरेक्टरी की जांच करें। Android के लिए, [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) और [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress) जैसे उपकरण dll फ़ाइलों को अनज़िप कर सकते हैं।
```bash
python3 xamarin-decompress.py -o /path/to/decompressed/apk
```
Android में एसेम्बली ब्लॉब्स के लिए, [pyxamstore](https://github.com/jakev/pyxamstore) उन्हें अनपैक कर सकता है।
```bash
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
```
iOS dll फ़ाइलें आसानी से डीकॉम्पाइल के लिए उपलब्ध होती हैं, जो अनुप्रयोग कोड के महत्वपूर्ण हिस्से उजागर करती हैं, जो अक्सर विभिन्न प्लेटफ़ॉर्मों पर एक सामान्य आधार साझा करता है।
### गतिशील विश्लेषण
गतिशील विश्लेषण में SSL पिनिंग की जांच और Xamarin ऐप्स में .NET बाइनरी के रनटाइम संशोधन के लिए [Fridax](https://github.com/NorthwaveSecurity/fridax) जैसे उपकरणों का उपयोग शामिल है। Frida स्क्रिप्ट्स उपलब्ध हैं जो रूट का पता लगाने या SSL पिनिंग को दुरुस्त करने में मदद करते हैं, विश्लेषण क्षमताओं को बढ़ाते हैं।
अन्य दिलचस्प Frida स्क्रिप्ट्स:
* [**xamarin-antiroot**](https://codeshare.frida.re/@Gand3lf/xamarin-antiroot/)
* [**xamarin-root-detect-bypass**](https://codeshare.frida.re/@nuschpl/xamarin-root-detect-bypass/)
* [**Frida-xamarin-unpin**](https://github.com/GoSecure/frida-xamarin-unpin)
## अधिक जानकारी
* [https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers](https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers)
* [https://thecobraden.com/posts/unpacking\_xamarin\_assembly\_stores/](https://thecobraden.com/posts/unpacking\_xamarin\_assembly\_stores/)
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks** में देखना चाहते हैं या **PDF में HackTricks डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) का खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** ट्विटर पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**।**
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को।