Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
seer — Seer - gdb용 GUI 프런트엔드 | Kitploit
도구/GitHubGitHub/epasveer/seer
Static AnalysisDynamic Analysis (Sandboxing)Memory ForensicsReverse EngineeringDebuggersBinary Analysis
GitHubepasveer/seer

seer

Seer - gdb용 GUI 프런트엔드

저장소 보기
3.4k1163일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

소개

Seer - Linux용 gdb의 GUI 프론트엔드입니다. (Ernie Pasveer [email protected])

이 프로젝트는 활발히 개발 중입니다. 목표는 gdb를 위한 간단하면서도 보기 좋은 GUI를 제공하는 것입니다.

버그나 원하는 기능이 있으면 제 이메일로 신고하거나 GitHub 프로젝트 페이지에서 작업을 생성해 주세요.

설치

Seer는 패키지 관리자에서 또는 소스에서 설치할 수 있습니다.

[!NOTE] 설치하기 전에 요구 사항이 충족되었는지 확인하세요.

요구 사항

  • Linux

  • C++17

  • gdb ( "mi" 인터프리터 사용, 실행하여 확인: gdb --interpreter=mi)

  • CMake (3.5.0 이상)

  • QT6

    • 소스에서 Seer를 빌드할 때, 시스템에 QT6 "devel" 패키지가 설치되어 있어야 합니다.
      • Core
      • Gui
      • Widgets
      • PrintSupport
      • Charts
      • Svg
    • Qt6 빌드 지침은 여기: https://github.com/epasveer/seer/wiki/Building-Seer---Qt6
  • QT5

    • Seer는 더 이상 Qt5로 컴파일되지 않습니다. 2.3 소스 트리가 마지막으로 Qt5를 지원하는 버전입니다.
    • 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 버전. GitHub의 Seer 릴리스 페이지

중요: flatpak-spawn --host는 gdb를 실행하기 위해 GDB Launcher에서 필요합니다. 참고: https://github.com/epasveer/seer/issues/377#issuecomment-3620844808

seer.flatpak을 다운로드하세요. 다음과 같이 설치합니다:

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

소스로 설치

(권장) 아래 지침에 따라 Qt6로 Seer를 빌드할 수 있습니다.

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

당분간은 아래 지침에 따라 Qt5로도 빌드할 수 있습니다.

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

소식

GitHub의 Seer 위키 페이지를 확인하세요.

  • v1.17 버전이 마지막 Qt5 릴리스입니다.
  • 다음 릴리스는 v2.0이며 Qt6 기반입니다. 하지만 당분간은 여전히 Qt5로 컴파일할 수 있습니다.
  • 최신 안정 Qt5 소스를 원한다면 여기서 v1.17을 받으세요: https://github.com/epasveer/seer/releases/tag/v1.17

Seer 시작하기

Seer는 디버그할 프로그램을 명령줄에서 쉽게 시작할 수 있도록 설계되었습니다. gdb에는 프로그램을 디버깅하는 여러 방법이 있습니다. 따라서 Seer도 자연스럽게 여러 방법을 제공합니다.

Seer를 실행하는 모든 방법을 보려면 위키를 방문하세요.

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

GUI 개요

다양한 Seer 뷰와 대화상자의 예.

메인 뷰

Seer의 메인 뷰는 다음과 같습니다:

  • 소스/함수/타입/변수/라이브러리

    • 프로그램에 사용된 소스/헤더 파일 목록.
    • 함수, 타입, 정적 변수 검색. 더블클릭하면 소스 파일이 열립니다.
    • 프로그램이 참조하는 공유 라이브러리 목록.
    • 소스/헤더 파일 목록을 검색할 수 있습니다. 검색하면 표시되는 파일 목록이 "축소"됩니다.
    • 파일을 더블클릭하면 코드 관리자에서 열립니다.
  • 변수/레지스터 정보

    • 변수 및 레지스터 값 표시.
    • "로거" - 변수 값 기록. 수동으로 입력하거나 코드 관리자에서 열린 파일의 변수를 더블클릭합니다.
    • "트래커" - gdb가 중단점(step, next, finish 등)에 도달할 때마다 값을 표시할 변수 목록을 만듭니다. 중단점에 도달하면 목록의 모든 변수가 잠재적으로 변경된 값을 표시합니다.
    • "레지스터" - 모든 CPU 레지스터의 값 표시.
  • 코드 관리자.

    • Seer GUI 중간 부분의 넓은 영역.
    • 이 뷰에서 소스 파일이 열립니다.
    • 파일 내 텍스트는 ^F로 검색할 수 있습니다.
    • 변수 이름을 더블클릭하면 "로거"에 변수를 추가할 수 있습니다. CTRL 키를 누른 상태에서 더블클릭하면 변수 앞에 ""가 붙습니다. SHIFT 키를 누른 상태에서 더블클릭하면 변수 앞에 "&"가 붙습니다. CTRL+SHIFT 키를 누른 상태에서 더블클릭하면 변수 앞에 "&"가 붙습니다.
    • 변수 이름을 선택하고 마우스 오른쪽 버튼을 클릭한 후 "트래커에 변수 추가"를 선택하면 "트래커"에 변수를 추가할 수 있습니다.
    • 변수 이름을 선택하고 마우스 오른쪽 버튼을 클릭한 후 "메모리 시각화 도구에 변수 추가"를 선택하면 "메모리 시각화 도구"에 변수를 추가할 수 있습니다.
    • 특정 줄에서 마우스 오른쪽 버튼을 클릭하여 중단점/출력점을 생성할 수 있습니다.
    • 특정 줄에서 마우스 오른쪽 버튼을 클릭하여 해당 줄까지 실행할 수 있습니다.
    • 이 뷰의 탭은 더블클릭하여 분리할 수 있습니다.
  • 중단점, 감시점, 캐치포인트, 출력점, 수동 gdb 명령 및 로그.

    • 코드 관리자 아래 영역.
    • 수동 명령. gdb 또는 gdbmi 명령을 수동으로 입력합니다. 명령은 다음 Seer 사용을 위해 기억됩니다.
    • 중단점 관리자. 중단점 생성 및 관리.
    • 감시점 관리자. 감시점 생성 및 관리. 감시점은 변수에 접근(read, write, read/write)할 때를 모니터링합니다.
    • 캐치포인트 관리자. 캐치포인트 생성 및 관리. 캐치포인트는 C++ throw/rethrow/catch 호출에서 실행을 중단합니다.
    • 출력점 관리자. 출력점 생성 및 관리. 출력점은 중단점과 유사하지만 해당 지점에서 변수를 출력할 수 있습니다. gdb의 'dprintf' 호출을 참조하세요.
    • GDB 출력. gdb 프로그램 자체의 모든 출력 로그.
    • Seer 출력. Seer 프로그램 자체의 모든 출력 로그. 진단 목적.
    • 이 뷰의 탭은 더블클릭하여 분리할 수 있습니다.
  • 스택 프레임 정보.

    • 스택 프레임 목록. 프레임을 더블클릭하여 범위(현재 함수)를 변경할 수 있습니다.
    • 스택 프레임 인수. 각 프레임에 대해 각 함수에 전달된 인수를 출력합니다.
    • 스택 지역 변수. 현재 함수에 대해 지역 변수 값을 출력합니다.
  • 스레드 정보.

    • 스레드 ID. 모든 스레드 목록. 스레드 ID를 더블클릭하여 범위(현재 스레드)를 변경할 수 있습니다.
    • 스레드 프레임. 각 스레드에 대해 스택 프레임을 나열합니다.
  • Gdb의 역방향 디버깅 모드를 지원합니다.

    • 명령어 기록 켜기/끄기.
    • 재생 방향을 앞으로 또는 뒤로 설정.

열기 대화상자

실행 파일 열기 대화상자를 호출하면 다음과 같습니다:

Seer 콘솔

실행 파일의 모든 텍스트 출력은 Seer 콘솔로 전송됩니다. 실행 파일에 대한 텍스트 입력도 콘솔을 통해 입력할 수 있습니다.

어셈블리 뷰

일반적으로 Seer는 코드 관리자에서 소스 코드를 탭으로 표시합니다. 프로그램의 어셈블리도 탭으로 표시할 수 있습니다.

"View->Assembly View"를 선택하면 소스 코드 탭 옆에 현재 실행 중인 어셈블리를 표시하는 추가 탭이 나타납니다. 예시입니다.

소스 코드 탭과 마찬가지로 어셈블리 탭에서도 중단점을 설정할 수 있습니다. 현재 명령어가 강조 표시됩니다.

"중단점" 탭과 "스택 프레임" 탭의 항목을 더블클릭하면 해당 주소의 어셈블리가 표시됩니다.

설정에 정의된 "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++ 클래스의 내용을 보면 다음과 같습니다. 이 예제는 Seer가 현재 있는 C++ 클래스의 "*this" 내용을 보여줍니다. 기본 타입인 모든 구조체 멤버는 편집 가능합니다.

더 가벼운 기본 구조체 시각화 도구도 있지만, 포인터를 따라갈 수 없고 편집할 수 없습니다.

이미지 시각화 도구

이미지인 원시 메모리의 내용을 볼 때 이미지 시각화 도구를 사용할 수 있습니다.

지원/연락처

버그나 기능에 대해서는 [email protected]으로 이메일을 보내주세요. 또는 GitHub 프로젝트 페이지에서 작업을 생성해 주세요.

스타게이저

멋진 세상입니다.

도구 다운로드