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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
heaptrace — pwn 및 디버깅을 위한 힙 연산 시각화를 도와줍니다 | Kitploit
도구/GitHubGitHub/arinerron/heaptrace
Memory ForensicsDebuggersCTFBinary Analysis
GitHubarinerron/heaptrace

heaptrace

pwn 및 디버깅을 위한 힙 연산 시각화를 도와줍니다

저장소 보기
3301933년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

소개

heaptrace는 ELF64 (x86_64) 바이너리에서 glibc 힙 연산을 추적하기 위한 힙 디버거입니다. 이 도구는 바이너리 디버깅 또는 힙 pwn을 수행할 때 힙 연산을 시각화하는 데 도움을 줍니다.

screenshot.png

  • 주소를 이해하기 쉬운 기호로 대체합니다.
  • 힙 손상 및 메모리 누수 문제를 감지합니다.
  • 언제든지 gdb에서 디버깅할 수 있습니다 (--break).
  • ASLR 또는 컴파일러 설정에 관계없이 모든 ELF64 (x86_64) 바이너리를 지원합니다 (스트립된 바이너리 포함).

heaptrace와 valgrind는 어떻게 다른가요?

설치

공식 릴리스

.deb 및 .rpm 릴리스 파일과 미리 컴파일된 바이너리는 릴리스 페이지에서 확인하세요.

Ubuntu PPA

root@kitploit:~
$ sudo add-apt-repository ppa:arinerron/heaptrace
$ sudo apt-get update
$ sudo apt-get install heaptrace

Arch 사용자 저장소 (PKGBUILD)

선호하는 AUR 헬퍼를 사용하여 다음 두 패키지 중 하나를 설치하세요:

  • heaptrace-git — 소스 패키지 (PKGBUILD)
  • heaptrace — 바이너리 패키지 (PKGBUILD)
root@kitploit:~
$ trizen -S heaptrace-git
... 또는 ...
$ trizen -S heaptrace

소스에서 컴파일

root@kitploit:~
$ git clone https://github.com/Arinerron/heaptrace.git && cd heaptrace
$ make
$ sudo make install
...
$ heaptrace ./target

사용법

heaptrace에 인수를 지정할 때는 바이너리 이름 앞에 입력합니다:

root@kitploit:~
Usage:
  heaptrace [options...] <target> [args...]
  heaptrace [options...] --attach <pid>

Options:
  -p <pid>, --attach <pid>, --pid <pid>
	 Tells heaptrace to attach to the specified pid 
	 instead of running the binary from the `target` 
	 argument. Note that if you specify this argument 
	 you do not have to specify `target`.


  -b <expression>, --break=<expression>, --break-at=<expression>
	 Send SIGSTOP to the process when the specified 
	 `expression` is satisfied and attach the GNU debugger 
	 (gdb) to the process.

	 This argument supports complex expressions. Please 
	 See the documentation for more information: 
	 https://github.com/Arinerron/heaptrace/wiki/How-to-Create-Breakpoints


  -B <expression>, --break-after=<expression>
	 Similar to `--break`. Replaces the tracer 
	 process with gdb, but only after the heap function 
	 returns. See the documentation for more information: 
	 https://github.com/Arinerron/heaptrace/wiki/How-to-Create-Breakpoints


  -e <name=value>, --environ=<name=value>, --environment=<name=value>
	 Sets a single environmental variable. Useful for 
	 setting runtime settings for the target such as 
	 LD_PRELOAD=./libc.so.6 without having them affect 
	 heaptrace's runtime configuration. This option can 
	 be used multiple times.


  -s <sym_defs>, --symbols=<sym_defs>
	 Override the values heaptrace detects for the 
	 malloc/calloc/free/realloc/reallocarray symbols. 
	 Useful if heaptrace fails to automatically 
	 identify heap functions in a stripped binary. See 
	 the wiki for more info.


  -F, --follow-fork, --follow
	 Tells heaptrace to detach the parent and follow 
	 the child if the target calls fork(), vfork(), or 
	 clone().

	 The default behavior is to detach the child and 
	 only trace the parent.


  -G <path>, --gdb-path <path>
	 Tells heaptrace to use the path to gdb specified 
	 in `path` instead of /usr/bin/gdb (default).


  -w <width>, --width=<width>, --term-width=<width>
	 Force a certain terminal width.


  -o <file>, --output=<file>
	 Write the heaptrace output to `file` instead of 
	 /dev/stderr (which is the default output path).


  -v, --verbose
	 Prints verbose information such as line numbers in
	 source code given the required debugging info is
	 stored in the ELF.


  -V, --version
	 Displays the current heaptrace version.


  -h, --help
	 Shows this help menu.

  • 예를 들어, 연산 #3에서 자동으로 gdb를 연결하려면 heaptrace --break=3 ./my-binary를 실행하세요. 이 인수 사용 방법에 대한 자세한 내용은 위키 문서를 참조하세요.
  • -s/--symbol 인수를 사용하여 heaptrace가 자동으로 함수를 식별하지 못한 스트립된 바이너리를 디버깅하는 방법에 대한 자세한 내용은 위키 문서를 참조하세요.
  • $NO_COLOR 인수를 설정하면 출력에서 ANSI 색상 코드가 제거됩니다. 이 옵션은 아직 개발 중이며 곧 인수로 전환될 예정입니다.

지원

버그가 발생하거나 피드백이 있으면 기꺼이 도와드리겠습니다. GitHub Issues 페이지를 참조해 주세요.

도구 다운로드