Skip to content

Latest commit

 

History

History
127 lines (95 loc) · 9.94 KB

File metadata and controls

127 lines (95 loc) · 9.94 KB

PulseAPK

🌍 Languages
English | Deutsch | Español | Français | עברית | 한국어 | Беларуская | Suomi | Latviešu | Eesti | Lietuvių | Čeština | Slovenčina | Magyar | العربية | Português | Русский | Українська | 中文

PulseAPK — это профессиональный GUI для обратной инженерии Android и анализа безопасности, созданный на Avalonia (.NET 8). Он объединяет мощь apktool с расширенными возможностями статического анализа, упакованными в высокопроизводительный интерфейс в стиле киберпанк. PulseAPK оптимизирует весь рабочий процесс: от декомпиляции до анализа, пересборки и подписания.

Смотреть демо на YouTube

PulseAPK организован как единый рабочий экран с верхней навигацией по инструментам: Decompile, Build, Analyser, Settings и About. Каждый раздел отвечает за отдельный этап жизненного цикла APK, чтобы вы могли переходить от декодирования к анализу и подписи, не выходя из приложения.

Ключевые возможности

  • 🛡️ Статический анализ безопасности: Автоматически сканирует код Smali на уязвимости, включая обнаружение рута, проверки эмулятора, жестко заданные учетные данные и небезопасное использование SQL/HTTP.
  • ⚙️ Динамический движок правил: Полностью настраиваемые правила анализа через smali_analysis_rules.json. Изменяйте шаблоны обнаружения на лету без перезапуска приложения. Используется кэширование для оптимальной производительности.
  • 🚀 Современный UI/UX: Отзывчивый темный интерфейс, созданный для эффективности, с отображением консольного вывода в реальном времени.
  • 📦 Полный рабочий цикл: Декомпиляция, анализ, редактирование, перекомпиляция и подпись APK в едином окружении.
  • ⚡ Безопасность и надежность: Включает интеллектуальную валидацию и предотвращение сбоев для защиты рабочего пространства и данных.
  • 🔧 Полная настройка: Управление путями к инструментам (Java, Apktool), настройками рабочего пространства и параметрами анализа.

Расширенные возможности

Анализ безопасности

PulseAPK включает встроенный статический анализатор, который сканирует декомпилированный код на распространенные индикаторы безопасности:

  • Обнаружение рута: Выявляет проверки Magisk, SuperSU и распространенных бинарников рута.
  • Обнаружение эмулятора: Находит проверки QEMU, Genymotion и специфических системных свойств.
  • Конфиденциальные данные: Ищет жестко заданные API-ключи, токены и заголовки basic auth.
  • Небезопасное сетевое взаимодействие: Отмечает использование HTTP и потенциальные точки утечки данных.

Правила определяются в smali_analysis_rules.json и могут быть настроены под ваши задачи.

Управление APK

  • Декомпиляция: Легко декодируйте ресурсы и исходники с настраиваемыми опциями.
  • Перекомпиляция: Пересобирайте ваши измененные проекты в валидные APK.
  • Подписание: Встроенное управление keystore для подписи пересобранных APK, чтобы они были готовы к установке на устройство.

Требования

  1. Java Runtime Environment (JRE): Требуется для apktool. Убедитесь, что java находится в PATH.
  2. Apktool: Скачайте apktool.jar с ibotpeaches.github.io.
  3. Ubersign (Uber APK Signer): Требуется для подписи пересобранных APK. Скачайте последнюю версию uber-apk-signer.jar из GitHub releases.
  4. .NET 8.0 Runtime: Требуется для запуска PulseAPK на поддерживаемых платформах (Windows, Linux и macOS).

Быстрый старт

  1. Скачать и собрать

    dotnet build
    dotnet run
  2. Настройка

    • Откройте Settings.
    • Укажите путь к apktool.jar.
    • PulseAPK автоматически обнаружит установленную Java на основе переменных окружения.
  3. Анализ APK

    • Декомпилируйте целевой APK во вкладке Decompile.
    • Перейдите на вкладку Analysis.
    • Выберите папку с декомпилированным проектом.
    • Нажмите Analyze Smali, чтобы получить отчет безопасности.
  4. Изменение и пересборка

    • Редактируйте файлы в папке проекта.
    • Используйте вкладку Build для пересборки в новый APK.
    • Используйте вкладку Sign для подписи выходного APK.

Скриншоты

1) Процесс декомпиляции

Экран декомпиляции PulseAPK

  • На этом экране выбирается входной APK и папка вывода, после чего запускается декомпиляция.
  • Простой сценарий: выбрать APK -> указать путь вывода -> нажать decompile.

2) Процесс сборки

Экран сборки PulseAPK

  • На этом экране пересобирается декомпилированный проект в новый APK.
  • Простой сценарий: выбрать папку проекта -> указать имя/путь выхода -> нажать build (и включить подпись при необходимости).

3) Результаты статического анализа

Результат анализа PulseAPK

  • Здесь отображаются результаты поиска уязвимостей в Smali/статическом анализе.
  • Простой сценарий: сначала декомпилировать -> открыть вкладку/вывод анализа -> проверить результаты и экспортировать отчёт.

Техническая архитектура

PulseAPK использует чистую архитектуру MVVM (Model-View-ViewModel):

  • Core: .NET 8.0, Avalonia.
  • Analysis: Пользовательский статический анализатор на базе regex с правилами горячей перезагрузки.
  • Services: выделенные сервисы для работы с Apktool, мониторинга файловой системы и управления настройками.

Лицензия

Этот проект с открытым исходным кодом и доступен по лицензии Apache License 2.0.

❤️ Поддержите проект

Если PulseAPK полезен для вас, вы можете поддержать его разработку, нажав кнопку "Support" вверху.

Звездочка репозитория тоже очень помогает.

Вклад

Мы приветствуем вклад в проект! Обратите внимание, что все контрибьюторы должны подписать наше Соглашение о передаче авторских прав (CLA), чтобы их работа могла быть законно распространена. Отправляя pull request, вы соглашаетесь с условиями CLA.