Skip to content

Latest commit

 

History

History
127 lines (95 loc) · 9.61 KB

File metadata and controls

127 lines (95 loc) · 9.61 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 та поширених root-бінарників.
  • Виявлення емулятора: Знаходить перевірки 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" вгорі.

Зірка репозиторію також дуже допомагає.

Внесок

Ми вітаємо внески! Зверніть увагу, що всі контриб'ютори повинні підписати наше Contributor License Agreement (CLA), щоб їхня робота могла бути законно поширена. Надсилаючи pull request, ви погоджуєтеся з умовами CLA.