Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
mauidll — 从 MAUI Android 程序集存储中提取托管 (.NET) 程序集。 | Kitploit
工具/GitHubGitHub/bishopfox/mauidll
Android安全静态分析动态代码分析 (DAST)逆向工程移动安全实用工具与框架二进制分析
GitHubbishopfox/mauidll

mauidll

从 MAUI Android 程序集存储中提取托管 (.NET) 程序集。

查看仓库
101天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

mauidll

从 MAUI Android assembly store 中提取托管(.NET)程序集。

.NET Android 应用将其托管代码打包在一个共享库中,通常是 libassemblies.<abi>.blob.so(较旧版本)或 libassembly-store.so。 mauidll 解析该文件,并将其中包含的每个程序集以标准 .dll 文件的形式 写入磁盘,可直接在 ILSpy 等反编译器中查看。

该工具是一个单一的自包含 Crystal 程序,没有任何外部依赖。它所需的 LZ4 解压器已内联实现,因此除标准库外无需任何其他东西。

快速开始

root@kitploit:~
crystal build --release mauidll.cr -o mauidll
./mauidll libassembly-store.so extracted-dlls

crystal build 生成的二进制文件是自包含的:它只需要在构建机器上安装 Crystal,而在任何运行它的机器上都不需要。

安装

1. 安装 Crystal

mauidll 使用 Crystal 语言编译。如果你还没有 Crystal:

macOS

最常用的方式是通过 Homebrew:

root@kitploit:~
brew install crystal

Crystal 也以官方通用压缩包(Apple Silicon 和 Intel)的形式提供, 可从下载页面获取。

Linux

在 Debian、Ubuntu 及相关发行版上,安装官方软件包仓库,然后安装编译器:

root@kitploit:~
curl -fsSL https://crystal-lang.org/install.sh | sudo bash
sudo apt install crystal

或者,在任何支持 snap 的发行版上:

root@kitploit:~
sudo snap install crystal --classic

在 Arch Linux 上:

root@kitploit:~
sudo pacman -S crystal shards

2. 构建

root@kitploit:~
crystal build --release mauidll.cr -o mauidll

mauidll 使用 Crystal 1.20.x 开发和测试。它仅使用标准库,因此任何 较新的版本都应该可以正常工作。

用法

root@kitploit:~
./mauidll <assembly-store.so> [outdir]
参数含义
assembly-store.sostore 的路径,例如 libassemblies.arm64-v8a.blob.so
outdir(可选)输出目录,默认为当前目录下的 dlls

示例:

root@kitploit:~
./mauidll /tmp/app64-v8a/libassembly-store.so /tmp/extracted

输出行会为每个程序集报告一行(name: size -> decompressed size, valid PE),随后是一个摘要,例如:

root@kitploit:~
Extracted 235 entries, valid PE (MZ) after extraction: 235/235

工作原理

  1. store 文件是一个 ELF 对象。assembly store 位于一个不可加载的 payload 节中,mauidll 通过 ELF 节头定位它(同时支持 32 位和 64 位 ELF)。
  2. payload 以一个 20 字节的 XABA 头开始:magic、version、entry count、index entry count 和 index size。
  3. 索引之后是描述符,每个 28 字节(mapping index、data offset、data size),然后是一个名称表(每个条目为 uint32 小端长度 + UTF-8 字节)。
  4. 每个 blob 要么是已压缩的程序集,要么是原始程序集。以 XALZ 开头的 blob 是原始 LZ4 块(不是 LZ4 帧格式),前面有一个 12 字节的头, 其中包含未压缩大小;其他任何内容(以 MZ 开头)都按原样存储。
  5. 解压后的 blob 会以其程序集名称写入磁盘,并检查其是否以 MZ PE 签名开头。
下载工具