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

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

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

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

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

Категории

Все категории
Loading categories
ALEAPP — Парсер журналов Android, событий и Protobuf | Kitploit
Инструменты/GitHubGitHub/abrignoni/aleapp
Мобильная криминалистикаЦифровая криминалистикаРеагирование на ИнцидентыАнализ Журналов
GitHubabrignoni/aleapp

ALEAPP

Парсер журналов Android, событий и Protobuf

Репозиторий
8822391 день назадПроверено Kitploit

Популярное

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

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

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

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

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

ALEAPP

Парсер журналов, событий и protobuf Android (ALEAPP)

Если хотите внести свой вклад, пишите мне сюда: https://abrignoni.github.io

Посты в блоге здесь: https://leapps.org/blog

Требования

Python 3.10 или выше

Зависимости

Зависимости для вашего окружения Python перечислены в requirements.txt. Установите их с помощью приведённой ниже команды. Убедитесь, что часть py корректна для вашего окружения, например py, python или python3 и т. д.

py -m pip install -r requirements.txt или pip3 install -r requirements.txt

Для запуска на Linux вам также потребуется установить tkinter отдельно, например так:

sudo apt-get install python3-tk

Компиляция в исполняемый файл

Для компиляции в исполняемый файл, чтобы запускать программу в системе без установленного Python.

ОС Windows

Чтобы создать aleapp.exe, выполните:

root@kitploit:~
pyinstaller scripts\pyinstaller\aleapp.spec

Чтобы создать aleappGUI.exe, выполните:

root@kitploit:~
pyinstaller scripts\pyinstaller\aleappGUI.spec

macOS

Чтобы создать aleapp, выполните:

root@kitploit:~
pyinstaller scripts/pyinstaller/aleapp_macOS.spec

Чтобы создать aleappGUI.app, выполните:

root@kitploit:~
pyinstaller scripts/pyinstaller/aleappGUI_macOS.spec

Linux

Чтобы создать aleapp, выполните:

root@kitploit:~
pyinstaller scripts/pyinstaller/aleapp_Linux.spec

Чтобы создать aleappGUI, выполните:

root@kitploit:~
pyinstaller scripts/pyinstaller/aleappGUI_Linux.spec

Использование

CLI

root@kitploit:~
$ python aleapp.py -t <zip | tar | fs | gz> -i <path_to_extraction> -o <path_for_report_output>

GUI

root@kitploit:~
$ python aleappGUI.py

Справка

root@kitploit:~
$ python aleapp.py --help

Добавление плагинов артефактов

Каждый плагин представляет собой исходный файл Python, который следует добавить в папку scripts/artifacts; он загружается динамически при каждом запуске ALEAPP.

Исходный файл плагина должен содержать словарь с именем __artifacts_v2__ в самом начале модуля, который определяет артефакты, обрабатываемые плагином. Ключи словаря __artifacts_v2__ должны быть идентификаторами артефакта(ов), уникальными в рамках ALEAPP. Значения должны быть словарями, содержащими следующие ключи:

  • name: название артефакта в виде строки.
  • description: описание артефакта в виде строки.
  • author: автор плагина в виде строки.
  • version: версия артефакта в виде строки.
  • date: дата последнего обновления артефакта в виде строки.
  • requirements: любые требования для обработки артефакта в виде строки.
  • category: категория артефакта в виде строки.
  • notes: любые дополнительные примечания в виде строки.
  • paths: кортеж строк, содержащих шаблоны поиска glob для сопоставления с путём данных, которые плагин ожидает для артефакта.
  • function: имя функции, которая является точкой входа для обработки артефакта, в виде строки.

Например:

root@kitploit:~
__artifacts_v2__ = {
    "cool_artifact_1": {
        "name": "Cool Artifact 1",
        "description": "Extracts cool data from database files",
        "author": "@username",
        "version": "0.1",
        "date": "2022-10-25",
        "requirements": "none",
        "category": "Really cool artifacts",
        "notes": "",
        "paths": ('*/com.android.cooldata/databases/database*.db',),
        "function": "get_cool_data1"
    },
    "cool_artifact_2": {
        "name": "Cool Artifact 2",
        "description": "Extracts cool data from XML files",
        "author": "@username",
        "version": "0.1",
        "date": "2022-10-25",
        "requirements": "none",
        "category": "Really cool artifacts",
        "notes": "",
        "paths": ('*/com.android.cooldata/files/cool.xml',),
        "function": "get_cool_data2"
    }
}

Функции, указанные как точки входа в словаре __artifacts__, должны принимать следующие аргументы:

  • Итерируемый объект с найденными файлами, которые должны быть обработаны (в виде строк)
  • Путь к выходной папке ALEAPP (в виде строки)
  • Объект seeker (типа FileSeekerBase), который нашёл файлы
  • Логическое значение, указывающее, ожидается ли от плагина перенос текста

Например:

root@kitploit:~
def get_cool_data1(files_found, report_folder, seeker, wrap_text):
    pass  # do processing here

Ожидается, что плагины, как правило, предоставляют вывод в формате HTML-отчёта ALEAPP, TSV и, при необходимости, отправляют записи в хронологию (timeline). Функции для генерации такого вывода можно найти в модулях artifact_report и ilapfuncs. В общих чертах пример может выглядеть так:

root@kitploit:~
__artifacts_v2__ = {
    "cool_artifact_1": {
        "name": "Cool Artifact 1",
        "description": "Extracts cool data from database files",
        "author": "@username",  # Replace with the actual author's username or name
        "version": "0.1",  # Version number
        "date": "2022-10-25",  # Date of the latest version
        "requirements": "none",
        "category": "Really cool artifacts",
        "notes": "",
        "paths": ('*/com.android.cooldata/databases/database*.db',),
        "function": "get_cool_data1"
    }
}

import datetime
from scripts.artifact_report import ArtifactHtmlReport
import scripts.ilapfuncs

def get_cool_data1(files_found, report_folder, seeker, wrap_text):
    # let's pretend we actually got this data from somewhere:
    rows = [
     (datetime.datetime.now(), "Cool data col 1, value 1", "Cool data col 1, value 2", "Cool data col 1, value 3"),
     (datetime.datetime.now(), "Cool data col 2, value 1", "Cool data col 2, value 2", "Cool data col 2, value 3"),
    ]

    headers = ["Timestamp", "Data 1", "Data 2", "Data 3"]

    # HTML output:
    report = ArtifactHtmlReport("Cool stuff")
    report_name = "Cool DFIR Data"
    report.start_artifact_report(report_folder, report_name)
    report.add_script()
    report.write_artifact_data_table(headers, rows, files_found[0])  # assuming only the first file was processed
    report.end_artifact_report()

    # TSV output:
    scripts.ilapfuncs.tsv(report_folder, headers, rows, report_name, files_found[0])  # assuming first file only

    # Timeline:
    scripts.ilapfuncs.timeline(report_folder, report_name, rows, headers)

Благодарности

Этот инструмент является результатом совместных усилий многих людей из сообщества DFIR.

Логотип ALEAPP предоставлен Derek Eiri.

Скачать инструмент