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

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

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

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

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

Категории

Все категории
Loading categories
seer — Seer - a gui frontend to gdb | Kitploit
Инструменты/GitHubGitHub/epasveer/seer
Static AnalysisDynamic Analysis (Sandboxing)Memory ForensicsReverse EngineeringDebuggersBinary Analysis
GitHubepasveer/seer

seer

Seer - a gui frontend to gdb

Репозиторий
3.4k1163 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

Введение

Seer - графический интерфейс для gdb в Linux. (Ernie Pasveer [email protected])

Этот проект активно разрабатывается. Цель — простой, но приятный графический интерфейс для gdb.

Пожалуйста, сообщайте об ошибках или желаемых функциях на мою электронную почту или создайте задачу на странице моего проекта GitHub.

Установка

Seer можно установить как через менеджер пакетов, так и из исходного кода.

[!NOTE] Убедитесь, что требования выполнены перед установкой.

Требования

  • Linux

  • C++17

  • gdb с интерпретатором «mi» (проверьте, выполнив: gdb --interpreter=mi)

  • CMake (3.5.0 или новее)

  • QT6

    • При сборке Seer из исходного кода вам понадобятся установленные в вашей системе пакеты разработки QT6 для вашего дистрибутива.
      • Core
      • Gui
      • Widgets
      • PrintSupport
      • Charts
      • Svg
    • Инструкции по сборке Qt6 здесь: https://github.com/epasveer/seer/wiki/Building-Seer---Qt6
  • QT5

    • Seer больше не компилируется с Qt5. Дерево исходного кода версии 2.3 — последнее, которое это делает.
    • Инструкции по сборке Qt5 здесь: https://github.com/epasveer/seer/wiki/Building-Seer---Qt5

Установка из пакета

Доступно через следующие менеджеры пакетов:

Pamac (Manjaro)

root@kitploit:~
$ pamac install seer

zypper (openSUSE Tumbleweed)

root@kitploit:~
$ zypper install seergdb

Flathub

Веб-сайт Flathub. Здесь

root@kitploit:~
$ flatpak install flathub io.github.epasveer.seer

Flatpak

Бета-версии Seer. Страница релизов Seer на github.

Важно: flatpak-spawn --host необходим в GDB Launcher для запуска gdb. См. https://github.com/epasveer/seer/issues/377#issuecomment-3620844808.

Загрузите seer.flatpak. Установите его:

root@kitploit:~
$ flatpak install -y --bundle --user seer.flatpak

Установка из исходного кода

(Рекомендуется) Seer можно собрать с Qt6, следуя инструкциям ниже.

https://github.com/epasveer/seer/wiki/Building-Seer---Qt6

Его всё ещё можно собрать с Qt5, пока что, следуя инструкциям ниже.

https://github.com/epasveer/seer/wiki/Building-Seer---Qt5

НОВОСТИ

Посмотрите страницу Wiki Seer на github.

  • Версия v1.17 станет последним релизом для Qt5.
  • Следующий релиз будет v2.0 и будет основан на Qt6. Однако пока что его всё ещё можно скомпилировать с Qt5.
  • Если вам нужен последний стабильный исходный код для Qt5, возьмите v1.17 отсюда: https://github.com/epasveer/seer/releases/tag/v1.17

Запуск Seer

Seer предназначен для простого запуска отлаживаемой программы из командной строки. У gdb есть несколько методов отладки программы. Соответственно, Seer тоже их поддерживает.

Перейдите в Wiki, чтобы увидеть все способы запуска Seer.

https://github.com/epasveer/seer/wiki/Starting-Seer

Обзор графического интерфейса

Примеры различных представлений и диалогов Seer.

Основное представление

Основное представление Seer выглядит так:

  • Исходники/Функции/Типы/Переменные/Библиотеки

    • Список исходных/заголовочных файлов, использованных в программе.
    • Поиск функций, типов и статических переменных. Двойной щелчок открывает исходный файл.
    • Список разделяемых библиотек, на которые ссылается программа.
    • Список исходных/заголовочных файлов можно искать. Это «сократит» отображаемый список файлов.
    • Двойной щелчок по файлу откроет его в Менеджере кода.
  • Информация о переменных/регистрах

    • Показывает значения переменных и регистров.
    • «Логгер» — запись значения переменной. Введите вручную или дважды щелкните по переменной в файле, открытом в менеджере кода.
    • «Трекер» — создание списка переменных для отображения значения при каждом достижении gdb точки остановки (шаг, следующая, завершить и т.д.). Когда точка остановки достигнута, все переменные в списке покажут свои потенциально новые значения.
    • «Регистры» — показывают значения всех регистров ЦП.
  • Менеджер кода.

    • Большая область в средней части графического интерфейса Seer.
    • В этом представлении открываются исходные файлы.
    • Текст в файле можно искать с помощью ^F.
    • Переменные можно добавить в «Логгер» двойным щелчком по имени переменной. Двойной щелчок с зажатой клавишей CTRL добавит префикс «» к переменной. Двойной щелчок с зажатой клавишей SHIFT добавит префикс «&». Двойной щелчок с зажатыми клавишами CTRL+SHIFT добавит префикс «&».
    • Переменные можно добавить в «Трекер», выбрав имя переменной и ПКМ (правая кнопка мыши) и выбрав «Добавить переменную в Трекер».
    • Переменные можно добавить в «Визуализатор памяти», выбрав имя переменной и ПКМ и выбрав «Добавить переменную в Визуализатор памяти».
    • Точку останова/точку печати можно создать, щелкнув ПКМ на определенной строке.
    • Можно выполнить до определенной строки, щелкнув ПКМ на этой строке.
    • Вкладки в этом представлении можно отсоединить двойным щелчком по вкладке.
  • Точки останова, точки наблюдения, точки перехвата, точки печати, ручные команды gdb и журналы.

    • Область под Менеджером кода.
    • Ручные команды. Введите команду gdb или gdbmi вручную. Команды запоминаются для следующего использования Seer.
    • Менеджер точек останова. Создание и управление точками останова.
    • Менеджер точек наблюдения. Создание и управление точками наблюдения. Точка наблюдения отслеживает, когда переменная доступна (чтение, запись, чтение/запись).
    • Менеджер точек перехвата. Создание и управление точками перехвата. Точка перехвата останавливает выполнение при вызове C++ throw/rethrow/catch.
    • Менеджер точек печати. Создание и управление точками печати. Точка печати похожа на точку останова, но позволяет печатать переменные в этой точке. См. вызов 'dprintf' в gdb.

Диалог открытия

При вызове диалога открытия исполняемого файла он выглядит так:

Консоль Seer

Весь текстовый вывод исполняемого файла будет направлен в консоль Seer. Текстовый ввод для исполняемого файла также можно осуществить через консоль.

Представление ассемблера

Обычно Seer показывает исходный код в виде вкладок в Менеджере кода. Ассемблер программы также можно отобразить в виде вкладки.

Выберите «Вид->Представление ассемблера», и рядом с вкладками исходного кода появится дополнительная вкладка, показывающая текущий выполняемый ассемблер. Вот пример.

Как и на вкладках исходного кода, на вкладке ассемблера можно устанавливать точки останова. Текущая инструкция выделена.

Двойной щелчок по записям на вкладке «Точки останова» и на вкладке «Стековые фреймы» покажет ассемблер для этих адресов.

Существуют горячие клавиши «Nexti» и «Stepi», как определено в настройках конфигурации. Обычно «Ctrl+F5» и «CTRL+F6». Использование «^F» на вкладке ассемблера покажет мощную строку поиска.

Функция ассемблера в Seer новая. Не стесняйтесь предлагать изменения/функции.

Визуализатор памяти

При просмотре содержимого сырой памяти в Визуализаторе памяти это выглядит так :

ПамятьДизассемблер

Визуализатор массивов

При просмотре содержимого массивов в Визуализаторе массивов это выглядит так :

ОбычныйСплайнРазброс

Два массива можно использовать как график X-Y. Например, этот простой массив 'points' образует контур фигуры X-Y.

root@kitploit:~
    int main() {
        int points[] = {50,1,20,91,97,35,2,35,79,91,50,1};
        return 0;
    }
Значения XЗначения YЗначения XY

Визуализатор структур

При просмотре содержимого структуры C/C++ или класса C++ в Визуализаторе структур это выглядит так. В этом примере показано содержимое «*this» для текущего класса C++, в котором находится Seer. Все члены структуры, являющиеся базовыми типами, можно редактировать.

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

Визуализатор изображений

При просмотре содержимого сырой памяти, являющейся изображением, можно использовать Визуализатор изображений.

Поддержка/Контакты

Отправьте электронное письмо на [email protected] по любым ошибкам или функциям. Или создайте задачу на странице моего проекта GitHub.

Звездочёты

Это прекрасный мир.

Скачать инструмент
  • Вывод GDB. Журнал любого вывода от самой программы gdb.
  • Вывод Seer. Журнал любого вывода от самой программы Seer. В качестве диагностики.
  • Вкладки в этом представлении можно отсоединить двойным щелчком по вкладке.
  • Информация о стековых фреймах.

    • Список стековых фреймов. Двойной щелчок по фрейму меняет область видимости (текущую функцию).
    • Аргументы стековых фреймов. Для каждого фрейма выводит аргументы, переданные каждой функции.
    • Локальные переменные стека. Для текущей функции выводит значения локальных переменных.
  • Информация о потоках.

    • Идентификаторы потоков. Список всех потоков. Двойной щелчок по идентификатору потока меняет область видимости (текущий поток).
    • Фреймы потоков. Для каждого потока выводит его стековые фреймы.
  • Поддерживает режим обратной отладки Gdb.

    • Включить или выключить запись инструкций.
    • Установить направление воспроизведения: вперед или назад.