Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
mauidll — Извлечение управляемых сборок (.NET) из хранилища сборок MAUI Android. | Kitploit
Инструменты/GitHubGitHub/bishopfox/mauidll
Безопасность AndroidСтатический анализДинамический анализ кода (DAST)Обратная инженерияМобильная безопасностьУтилиты и фреймворкиАнализ Бинарных Файлов
GitHubbishopfox/mauidll

mauidll

Извлечение управляемых сборок (.NET) из хранилища сборок MAUI Android.

Репозиторий
101 день назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

mauidll

Извлекает управляемые сборки (.NET) из хранилища сборок MAUI Android.

Приложения .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.soПуть к хранилищу, например 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. Файл хранилища — это объект ELF. Хранилище сборок находится в незагружаемой секции payload, которую mauidll находит через заголовки секций ELF (поддерживаются как 32-, так и 64-битный ELF).
  2. Полезная нагрузка начинается с 20-байтового заголовка XABA: магия, версия, количество записей, количество записей индекса и размер индекса.
  3. После индекса идут дескрипторы, по 28 байт каждый (индекс отображения, смещение данных, размер данных), затем таблица имён (uint32 little-endian длина + UTF-8 байты для каждой записи).
  4. Каждый блоб — это либо уже сжатая сборка, либо несжатая. Блоб, начинающийся с XALZ, — это необработанный LZ4 блок (не формат LZ4 frame), перед которым идёт 12-байтовый заголовок, включающий размер в несжатом виде; всё остальное (начинающееся с MZ) хранится как есть.
  5. Распакованные блобы записываются на диск под именем своей сборки и проверяются на наличие сигнатуры PE MZ в начале.
Скачать инструмент