6.5 KiB
Xamarin Uygulamaları
AWS hacklemeyi sıfırdan kahramanla öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklam vermek isterseniz veya HackTricks'i PDF olarak indirmek isterseniz ABONELİK PLANLARINA göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
Bu, https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers blog yazısının özeti.
Temel Bilgiler
Xamarin, .NET ve C# çerçevelerini kullanarak iOS, Android ve Windows için uygulamalar oluşturmak için geliştiriciler için tasarlanmış açık kaynaklı bir platformdur. Bu platform, modern uygulamaları verimli bir şekilde oluşturmak için birçok araç ve uzantıya erişim sağlar.
Xamarin'in Mimarisi
- Android için, Xamarin, .NET bağlantıları aracılığıyla Android ve Java ad alanlarını .NET bağlamına entegre eder ve Android Runtime (ART) ile birlikte Mono yürütme ortamında çalışır. Yönetilen Çağrılabilir Sargılar (MCW) ve Android Çağrılabilir Sargılar (ACW), Mono ve ART arasındaki iletişimi kolaylaştırır ve 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 derlemesine dönüştürmek için tam Önce Derleme (AOT) derlemesini kullanır. Bu işlem, UNIX benzeri bir çekirdek üzerinde Objective-C Runtime ile birlikte çalışır.
.NET Runtime ve Mono Framework
.NET çerçevesi, uygulama geliştirme için derlemeleri, sınıfları ve ad alanlarını içerir ve kod yürütmesini yöneten .NET Runtime'ı sunar. Platform bağımsızlığı ve geriye dönük uyumluluk sunar. Mono Framework, .NET çerçevesinin açık kaynaklı bir sürümü olup, 2005 yılında .NET'i Linux'a genişletmek için başlatılmıştır ve şu anda Microsoft tarafından desteklenmekte ve Xamarin tarafından yönetilmektedir.
Xamarin Uygulamalarının Tersine Mühendisliği
Xamarin Derlemelerinin Dekompilasyonu
Dekompilasyon, derlenmiş kodu tekrar kaynak koduna dönüştürür. Windows'ta, Visual Studio'daki Modüller penceresi, dekompilasyon için modülleri tanımlayabilir, üçüncü taraf koduna doğrudan erişim sağlayabilir ve analiz için kaynak kodunu çıkarabilir.
JIT ve AOT Derlemesi
- Android, Just-In-Time (JIT) ve Ahead-Of-Time (AOT) derlemesini destekler ve en iyi yürütme hızı için Hibrit AOT moduna sahiptir. Tam AOT, Yönetici lisanslarına özeldir.
- iOS, Apple'ın dinamik kod yürütme üzerindeki kısıtlamaları nedeniyle yalnızca AOT derlemesini kullanır.
APK/IPA Dosyalarından dll Dosyalarını Çıkarma
APK/IPA dosyalarındaki derlemelere erişmek için dosyayı açın ve derlemeler dizinini keşfedin. Android için, XamAsmUnZ ve xamarin-decompress gibi araçlar dll dosyalarını sıkıştırılmış halden çözebilir.
python3 xamarin-decompress.py -o /path/to/decompressed/apk
Android'deki derleme blokları için, pyxamstore onları açabilir.
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
iOS dll dosyaları deşifre edilmek için kolayca erişilebilir ve genellikle farklı platformlar arasında ortak bir temel paylaşan uygulama kodunun önemli bölümlerini ortaya çıkarır.
Dinamik Analiz
Dinamik analiz, SSL pinning kontrolü yapmayı ve Xamarin uygulamalarındaki .NET ikili dosyasının çalışma zamanı değişiklikleri için Fridax gibi araçları kullanmayı içerir. Frida betikleri, kök tespitini veya SSL pinning'i atlamak için kullanılabilir ve analiz yeteneklerini artırır.
Diğer ilginç Frida betikleri:
Daha fazla bilgi
- https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers
- https://thecobraden.com/posts/unpacking_xamarin_assembly_stores/
AWS hackleme konusunda sıfırdan kahraman olmak için htARTE (HackTricks AWS Red Team Expert)'ı öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz olan The PEASS Family'yi keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya bizi Twitter 🐦 @carlospolopm'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.