Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
This is a summary of the blog post [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, geliştiricilerin **iOS, Android ve Windows için uygulamalar oluşturmasını** sağlamak amacıyla tasarlanmış **açık kaynak bir platformdur** ve .NET ile C# frameworklerini kullanır. Bu platform, modern uygulamaları verimli bir şekilde oluşturmak için birçok araç ve uzantıya erişim sunar.
- **Android** için, Xamarin, .NET bağlamaları aracılığıyla Android ve Java ad alanlarıyla entegre olur ve Mono yürütme ortamında Android Runtime (ART) ile birlikte çalışır. Managed Callable Wrappers (MCW) ve Android Callable Wrappers (ACW), Mono ve ART arasında iletişimi kolaylaştırır; her ikisi de Linux çekirdeği üzerine inşa edilmiştir.
- **iOS** için, uygulamalar Mono çalışma zamanı altında çalışır ve C# .NET kodunu ARM montaj diline dönüştürmek için tam Ahead of Time (AOT) derlemesi kullanır. Bu süreç, UNIX benzeri bir çekirdek üzerinde Objective-C Runtime ile birlikte çalışır.
**.NET framework**, uygulama geliştirme için derlemeler, sınıflar ve ad alanları içerir ve .NET Runtime, kod yürütmesini yönetir. Platform bağımsızlığı ve geriye dönük uyumluluk sunar. **Mono Framework**, 2005 yılında .NET'i Linux'a genişletmek amacıyla başlatılan açık kaynak bir .NET framework versiyonudur ve şu anda Microsoft tarafından desteklenmekte ve Xamarin tarafından yönetilmektedir.
Değiştirme, derlenmiş kodu tekrar kaynak koda dönüştürür. Windows'ta, Visual Studio'daki Modüller penceresi, değiştirme için modülleri tanımlayabilir ve üçüncü taraf koda doğrudan erişim sağlayarak analiz için kaynak kodunu çıkarmaya olanak tanır.
- **Android**, Just-In-Time (JIT) ve Ahead-Of-Time (AOT) derlemesini destekler ve optimal yürütme hızı için Hibrit AOT moduna sahiptir. Tam AOT, yalnızca Kurumsal lisanslara özeldir.
- **iOS**, Apple'ın dinamik kod yürütme üzerindeki kısıtlamaları nedeniyle yalnızca AOT derlemesi kullanır.
APK/IPA'daki derlemelere erişmek için dosyayı açın ve derlemeler dizinini keşfedin. Android için, [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) ve [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress) gibi araçlar dll dosyalarını açabilir.
iOS dll dosyaları, uygulama kodunun önemli kısımlarını ortaya çıkararak dekompilasyon için kolayca erişilebilir durumdadır; bu kod genellikle farklı platformlar arasında ortak bir temel paylaşır.
Dinamik analiz, SSL pinning kontrolü yapmayı ve Xamarin uygulamalarındaki .NET ikili dosyalarının çalışma zamanı değişiklikleri için [Fridax](https://github.com/NorthwaveSecurity/fridax) gibi araçlar kullanmayı içerir. Root tespiti veya SSL pinning'i atlatmak için Frida betikleri mevcuttur ve bu, analiz yeteneklerini artırır.
Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.