mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
5.6 KiB
5.6 KiB
Xamarin 应用
从零开始学习 AWS 黑客技术,成为专家 htARTE(HackTricks AWS 红队专家)!
支持 HackTricks 的其他方式:
- 如果您想看到您的公司在 HackTricks 中做广告或下载 PDF 版本的 HackTricks,请查看订阅计划!
- 获取官方 PEASS & HackTricks 商品
- 探索PEASS 家族,我们的独家NFT收藏品
- 加入 💬 Discord 群组 或 电报群组 或在 Twitter 🐦 @carlospolopm 上关注我。
- 通过向 HackTricks 和 HackTricks Cloud github 仓库提交 PR 来分享您的黑客技巧。
这是博客文章https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers的摘要
基本信息
Xamarin 是一个为开发人员设计的开源平台,使用 .NET 和 C# 框架构建 iOS、Android 和 Windows 应用。该平台提供访问众多工具和扩展,以高效创建现代应用程序。
Xamarin 的架构
- 对于Android,Xamarin 通过 .NET 绑定与 Android 和 Java 命名空间集成,在 Mono 执行环境中与 Android Runtime (ART) 一起运行。托管可调用包装器 (MCW) 和 Android 可调用包装器 (ACW) 促进 Mono 和 ART 之间的通信,两者都建立在 Linux 内核上。
- 对于iOS,应用程序在 Mono 运行时下运行,利用完全的 Ahead of Time (AOT) 编译将 C# .NET 代码转换为 ARM 汇编语言。此过程与 Objective-C Runtime 在类 UNIX 内核上运行。
.NET Runtime 和 Mono 框架
.NET 框架包括用于应用程序开发的程序集、类和命名空间,.NET Runtime 管理代码执行。它提供平台独立性和向后兼容性。Mono 框架是 .NET 框架的开源版本,于 2005 年启动,旨在将 .NET 扩展到 Linux,现在得到 Microsoft 的支持,并由 Xamarin 领导。
反向工程 Xamarin 应用
反编译 Xamarin 程序集
反编译将编译后的代码转换回源代码。在 Windows 中,Visual Studio 的模块窗口可以识别用于反编译的模块,从而可以直接访问第三方代码并提取源代码进行分析。
JIT 与 AOT 编译
- Android 支持即时 (JIT) 和提前 (AOT) 编译,具有混合 AOT 模式以获得最佳执行速度。完全 AOT 仅适用于企业许可证。
- iOS 由于苹果对动态代码执行的限制,仅使用 AOT 编译。
从 APK/IPA 中提取 dll 文件
要访问 APK/IPA 中的程序集,请解压文件并浏览程序集目录。对于 Android,可以使用 XamAsmUnZ 和 xamarin-decompress 等工具解压缩 dll 文件。
python3 xamarin-decompress.py -o /path/to/decompressed/apk
在Android中,pyxamstore可以解包汇编块。
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
iOS的dll文件可以轻松访问并进行反编译,揭示应用程序代码的重要部分,这些部分通常在不同平台上共享共同的基础。
动态分析
动态分析涉及检查SSL绑定并使用类似Fridax的工具对Xamarin应用程序中的.NET二进制文件进行运行时修改。Frida脚本可用于绕过root检测或SSL绑定,增强分析能力。
其他有趣的Frida脚本:
更多信息
- https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers
- https://thecobraden.com/posts/unpacking_xamarin_assembly_stores/
从零开始学习AWS黑客技术,成为专家 htARTE (HackTricks AWS Red Team Expert)!
支持HackTricks的其他方式:
- 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看SUBSCRIPTION PLANS!
- 获取官方PEASS & HackTricks周边产品
- 探索PEASS Family,我们的独家NFTs收藏品
- 加入 💬 Discord群 或 电报群 或在Twitter 🐦 @carlospolopm上关注我。
- 通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。