1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-imhex

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Шестнадцатеричный редактор для обратных инженеров, программистов и людей, ценищих свои сетчатки глаз при работе в три часа ночи.
/ˈɪmhɛks/

Статус рабочего процесса сборки Discord Сервер Общее количество загрузок Качество кода Перевод Плагины

Скачайте последнюю версию ImHex!

Скачайте последнюю nightly версию предварительной версии ImHex Используйте веб-версию ImHex прямо в вашем браузере! Прочтите документацию ImHex! ## ПоддержкаЕсли вам нравится моя работа, пожалуйста, рассмотрите возможность поддержки меня через GitHub Sponsors, Patreon или PayPal. Большое спасибо!

GitHub Donate Button Patreon Donate Button PayPal Donate Button

Скриншоты

Шестнадцатеричный редактор, шаблоны и информация о данных Закладки, информация о данных, представление поиска и процессор данных

Более скриншотов

Процессор данных расшифровывает некоторые данные и отображает их в виде изображения Парсер STL, написанный на языке шаблонов, визуализирует трёхмерную модель Представление информации о данных отображает различные характеристики файла

Возможности

Функциональный шестнадцатеричный просмотрщик - Изменение байтов - Управление патчами - Бесконечное отменение/повторение действий - "Копировать байты как..." - Байты - Шестнадцатеричная строка - Массив C, C++, C#, Rust, Python, Java и JavaScript - ASCII-Art шестнадцатеричный просмотр - Самостоятельная вставка HTML - Простой поиск строк и шестнадцатеричных значений - Переход с начала, конца и текущего положения курсора - Цветовое выделение - Настройка правил выделения переднего плана - Выделение фона с использованием шаблонов, результатов поиска и закладок - Отображение данных в виде списка различных типов - Шестнадцатеричные целые числа (8, 16, 32, 64 бита) - Подписанные и беззнаковые десятичные целые числа (8, 16, 32, 64 бита) - Числа с плавающей запятой (16, 32, 64 бита) - Цвета RGBA8 - HexII - Двоичные данные - Расшифровка данных как ASCII и пользовательские кодировки - Встроенная поддержка UTF-8, UTF-16, ShiftJIS, большинства Windows кодировок и многих других - Разбиение данных на страницы
Пользовательский язык для парсинга и выделения содержимого файла, аналогичный C++
  • Автоматическая загрузка на основе MIME-типов и магических значений
  • Массивы, указатели, структуры, объединения, перечисления, поля битового представления, пространства имён, поддержка малых и больших_ENDIAN, условные операторы и многое другое!
  • Полезные сообщения об ошибках, цветовое выделение синтаксиса и маркировка ошибок
  • Поддержка визуализации множества различных типов данных
    • Изображения
    • Аудио
    • 3D модели
    • Координаты
    • Временные метки
Поддержка тем оформления
Импорт и экспорт данных
  • Файлы в формате Base64
  • IPS и IPS32 патчи
  • Отчеты в формате Markdown
Проверка данных - Интерпретация данных различных типов с учётом порядка байтов, десятичной, шестнадцатеричной и восьмеричной систем счисления, а также инвертирование битов - Несigned и signed целые числа (8, 16, 24, 32, 48, 64 бит) - Числа с плавающей запятой (16, 32, 64 бит) - Signed и unsigned LEB128 - ASCII, Wide и UTF-8 символы и строки - time32_t, time64_t, дата и время DOS - GUID - Цвета RGBA8 и RGB65 - Копирование и изменение байт через инспектор - Добавление новых типов данных через язык шаблонов - Поддержка скрытия строк, которые не используются
Конфигурационный предварительный процессор данных
Расшифровка и декодирование данных перед отображением в шестнадцатеричном редакторе
  • Изменение данных без изменения исходного файла
  • Поддержка добавления пользовательских узлов
Загрузка данных из множества источников данных
Поддержка локальных файлов
  • Поддержка работы с большими файлами с быстрой и эффективной загрузкой
  • Поддержка сырых дисков и разделов
Поддержка доступа к памяти через GDB
  • Доступ к ОЗУ запущенного процесса или встроенных устройств через GDB
Поддержка данных Intel Hex и Motorola SREC
  • Процессорная память
  • Анализ всего адресного пространства запущенного процесса
Поиск данных
- Поддержка полного поиска файла или только части его содержимого - Извлечение строк - Вариант указания минимальной длины и набора символов (строчные буквы, прописные буквы, цифры, знаки препинания) - Вариант указания кодировки (ASCII, UTF-8, UTF-16 большие и малые концы) - Поиск последовательностей - Поиск последовательности байтов или символов - Вариант игнорирования регистра символов - Поиск с использованием регулярных выражений - Поиск строк с помощью регулярных выражений - Бинарный шаблон - Поиск последовательности байтов с опциональными wildcard'ами - Поиск значений - Поиск знаковых/беззнаковых целых чисел и чисел с плавающей точкой - Поиск диапазонов значений - Вариант указания размера и порядка байт - Вариант игнорирования накладных расходов
Поддержка хэширования данных
Поддержка различных алгоритмов хэширования
Поддержка множества различных алгоритмов хэширования
  • Доступно множество разных алгоритмов
    • CRC8, CRC16 и CRC32 с пользовательскими начальными значениями и полиномами
      • Доступно множество стандартных полиномов
    • MD5
    • SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
    • Adler32
    • AP
    • BKDR
    • Bernstein, Bernstein1
    • DEK, DJB, ELF, FNV1, FNV1a, JS, PJW, RS, SDBM
    • OneAtTime, Rotating, ShiftAndXor, SuperFast
    • Murmur2_32, MurmurHash3_x86_32, MurmurHash3_x86_128, MurmurHash3_x64_128
    • SipHash64, SipHash128
    • XXHash32, XXHash64
    • Tiger, Tiger2
    • Blake2B, Blake2S
  • Хэширование конкретных областей загруженных данных
  • Хэширование произвольных строк
Поддержка сравнения данных
  • Сравнение данных из разных источников
  • Подчеркивание различий
  • Таблица отличий
Интегрированный дизассемблер
  • Поддержка всех архитектур, поддерживаемых Capstone
    • ARM32 (ARM, Thumb, Cortex-M, AArch32)
    • ARM64
    • MIPS (MIPS32, MIPS64, MIPS32R6, Micro)
    • x86 (16-битный, 32-битный, 64-битный)
    • PowerPC (32-битный, 64-битный)
    • SPARC
    • IBM SystemZ
    • xCORE
    • M68K
    • TMS320C64X
    • M680X
    • Ethereum
    • RISC-V
    • WebAssembly
    • MOS65XX
    • Berkeley Packet Filter
Закладки
  • Поддержка закладок с пользовательскими названиями и цветами
  • Выделение отмеченной области в шестнадцатеричном редакторе
  • Переход к закладкам
  • Открытие содержимого закладки в новой вкладке
  • Добавление комментариев к закладкам
Мощный анализатор и визуализатор данных - Парсер файлов на основе магических чисел и база MIME типов - Граф распределения байтов - Граф энтропии - Наивысшая и средняя энтропия - Обнаружение зашифрованных/сжатых файлов - Граф двугранной и слоевой распределений
Поддержка правил YARA
  • Сканирование файла на уязвимости с использованием официальных правил YARA
  • Выделение совпадений в шестнадцатеричном редакторе
  • Переход к совпадениям
  • Применение нескольких правил одновременно
Полезные инструменты - Деманжер на основе LLVM для Itanium, MSVC, Rust и D-Lang - Таблица ASCII - Заменщик регулярных выражений - Оценщик математических выражений (калькулятор) - Графический калькулятор - Выбор цвета в шестнадцатеричной системе с поддержкой многих различных форматов - Конвертер оснований - Обмен байтами - Калькулятор прав доступа UNIX - Поиск определений терминов в Википедии - Утилиты работы с файлами - Разделение файла - Объединение файлов - Уничтожение данных в файле - Визуализатор IEEE754 для чисел с плавающей запятой - Калькулятор деления через умножение на обратимую величину - TCP-клиент/сервер - Калькулятор алгоритма Евклида
Встроенный обновитель содержимого
Загрузка всех найденных в базе данных файлов непосредственно из ImHex - Шаблонные файлы для декодирования различных форматов файлов - Библиотеки для языка шаблонов - Файлы magic для выявления типов файлов - Настраиваемые узлы процессора данных - Настраиваемые кодировки - Настраиваемые темы - Правила YARA
Модерн интерфейс
  • Поддержка нескольких рабочих пространств
  • Поддержка настраиваемых макетов
  • Отсоединяемые окна
Простое начало работы
  • Поддержка многих разных языков
  • Упрощённый режим для начинающих
  • Обширная документация
  • Много примерных файлов доступно на Базе данных
  • Ачивки, направляющие вас через возможности ImHex
  • Интерактивные учебные материалы

Язык шаблонов

Язык шаблонов — это полностью настраиваемый язык программирования, разработанный специально для ImHex. Он позволяет вам определять структуры и типы данных синтаксисом, похожим на C, а затем использовать их для парсинга и выделения содержимого файла.

База данных

Для шаблонов формата, библиотек, файлов magic и констант, обратитесь к репозиторию ImHex-Patterns.

Не стесняйтесь отправлять свои собственные файлы через Pull Request!## Требования

Чтобы использовать ImHex, должны выполняться следующие минимальные системные требования.> [!ВАЖНО]

В общем случае ImHex требует GPU с поддержкой OpenGL 3.0. Есть выпуски (с суффиксом -NoGPU), с отрисовкой в программном обеспечении, которые не требуют GPU, однако они могут работать значительно медленнее по сравнению с версией, ускоренной графическим процессором.

Если возможно, используйте на вашей системе дискретный GPU вместо встроенного. ImHex обычно работает хорошо даже с встроенными GPU, но известны проблемы с графическими артефактами при использовании некоторых драйверов Intel HD GPU на Windows.

Операционная система:

  • Windows: Windows 7 или выше (Windows 10/11 рекомендованы)

  • macOS: macOS 13 (Ventura) или выше,

    • Нижние версии также должны работать, но вам потребуется скомпилировать ImHex самостоятельно. Бинарники выпуска не будут работать.
    • Встроенные сборки macOS не подписываются и требуют от вас вручную разрешить их в настройках Безопасность и конфиденциальность.
  • Linux: "Современный" Linux. Официально поддерживаются следующие дистрибутивы. Другие дистрибутивы поддерживаются через выпуски AppImage и Flatpak.

    • Ubuntu и Debian
    • Fedora
    • RHEL/AlmaLinux
    • Arch Linux
    • Любые другие дистрибутивы также будут работать при компиляции ImHex из исходников.
  • Процессор: Официально поддерживаются x86_64 и ARM64, хотя любой 64-битный процессор с малым порядком байт должен работать.

  • Видеокарта: OpenGL 3.0 или выше - Поддерживаются интегрированные видеокарты Intel HD iGPUs, однако известно, что некоторые драйверы могут вызывать различные графические артефакты, особенно на Windows. Используйте на свой страх и риск.

  • В случае, если у вас нет доступной видеокарты, есть выпуски с программным рендерингом для Windows и macOS.
  • Память: ~150 МБ, больше требуется для более сложного анализа.
  • Хранение данных: 150 МБ## УстановкаИнформация о том, как установить ImHex, содержится в руководстве Установка.

Компиляция

Для компиляции ImHex на любой платформе требуется GCC (или Clang) версии, поддерживающей C++23 или более позднюю.
Релизы для Windows и Linux создаются с использованием последней доступной версии GCC. Релизы для macOS создаются с использованием последней доступной версии LLVM Clang.

Важно отметить, что компиляторы MSVC и AppleClang не поддерживаются, так как они обычно сильно устарели и недостаточно функциональны по сравнению с GCC и LLVM Clang.

[!NOTE] Многие зависимости включены в репозиторий с помощью подмодулей, поэтому убедитесь, что клонируете его с помощью опции --recurse-submodules. Все зависимости, которые не включены, можно установить с помощью скриптов установщиков зависимостей, расположенных в папке /dist.

Дополнительную информацию можно найти в руководстве Компиляция.

Вклад

См. Вклад

Разработка плагинов

Чтобы начать разработку плагинов для ImHex, используйте следующий шаблон проекта. Это позволит вам получить доступ ко всему библиотечному модулю libimhex, а также к API ImHex и регистру контента для взаимодействия с ImHex или добавления нового контента.

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

Вкладчики- iTrooz за внедрение ImHex на веб-платформу и множество вкладов во все части проекта

  • jumanji144 за значительные вклады в язык образцов и инфраструктуру ImHex

  • Mary за огромную помощь при переходе ImHex на macOS и участие в процессе разработки

  • Roblabla за добавление поддержки MSI-установщиков в ImHex

  • Mailaender за запуск ImHex на Flathub

  • Всем остальным, кто сообщал об ошибках через Discord или GitHub и с которыми было приятно общаться :)### Зависимости

  • Благодарю ocornut за их потрясающую Dear ImGui, которая используется для создания всего интерфейса.

  • Благодарю epezent за ImPlot, который используется для отображения данных в различных местах.

  • Благодарю Nelarius за ImNodes, который используется как основа для процессора данных.

  • Благодарю BalazsJako за ImGuiColorTextEdit, который используется для выделения синтаксиса языка шаблонов.- Благодарю nlohmann за их json библиотеку, используемую для конфигурационных файлов

  • Благодарю vitaut за их libfmt библиотеку, которая делает форматирование и логирование намного лучше

  • Благодарю btzy за nativefiledialog-extended и их отличную поддержку, используемые для управления диалогами выбора файлов на всех платформах

  • Благодарю danyspin97 за xdgpp, используемое для управления путями папок на Linux

  • Благодарю aquynh за capstone, которое является основой окна дизассемблирования

  • Благодарю rxi за microtar, используемое для извлечения скачанных активов магазина

  • Благодарю VirusTotal за Yara, используемое плагином Yara

  • Благодарю Martinsos за edlib, используемое для поиска последовательностей в представлении различий

  • Благодарю ron4fun за HashLibPlus, которое реализует каждый алгоритм хэширования

  • Благодарю mackron за miniaudio, используемое для воспроизведения аудиофайлов

  • Благодарю все остальные группы и организации, чьи библиотеки используются в ImHex

ЛицензияОсновная часть ImHex находится под лицензией GPLv2-only.

Значимыми исключениями являются следующие части, находящиеся под лицензией LGPLv2.1:

  • /lib/libimhex: Библиотека, которая позволяет плагинам взаимодействовать с ImHex.
  • /plugins/ui: Библиотека плагинов пользовательского интерфейса, содержащая некоторые общие элементы UI, которые могут использоваться другими плагинами.

Причина такого выбора заключается в возможности создания проприетарных плагинов для ImHex.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-imhex.git
git@api.gitlife.ru:oschina-mirror/mirrors-imhex.git
oschina-mirror
mirrors-imhex
mirrors-imhex
master