Pwndbg 명령어
2021. 5. 16. 15:56ㆍLayer7/Layer7_Reverse Engineering
Pwndbg는 GDB(GNU Debugger)의 한 플러그인이다.
리눅스 환경에서 간편하게 동적 분석을 할 수 있도록 해주는 디버거 도구이다.
리버싱 할 프로그램을 디버거에서 실행
gdb ./[프로그램명]
Pwndbg 종료
q
quit
Ctrl+D
실행 중단
Ctrl+C
프로세스가 멈추어있는 상태에서 프로세스를 이어서 실행
c
continue
브레이크 포인트 설정
b
b 10 //10행에 브레이크 포인트 설정
b main
b *[주소값]
설정한 브레이크 포인트 보기
i b
info b
info breakpoints
브레이크 포인트 삭제
d
del [번호]
프로그램 시작
start
프로그램 실행
r
run
프로그램 종료
k
kill
현재 행 실행 (함수의 경우 함수 내부로 진입) / 줄 단위
s
step
현재 행 실행 (함수의 경우 함수 내부로 진입하지 않고 실행) / 줄 단위
n
next
현재 명령어 실행 (함수의 경우 함수 내부로 진입) / Instruction 단위
si (step instruction)
현재 명령어 실행 (함수의 경우 함수 내부로 진입하지 않고 실행) / Instruction 단위
ni (next instruction)
main 함수 디스어셈블링 (더 보편적으로 보기)
d main
disass main
disassemble main
main 함수 디스어셈블링 (색깔 있게 보기)
u [main의 주소] 19
현재 함수를 실행하지 않고 빠져나감, 리턴값 강제 변형
return 1
지역변수 정보 보기
info locals
main 함수의 주소값을 보기
p main
특정 변수의 값 출력
p [변수명]
현재 스택 정보 출력
info stack
특정 함수 호출, 반환값을 출력
call func(arg1, arg2)
n번 행으로 점프
jump n
프로세스에 KILL 시그널 보내기
signal SIGKILL
메모리의 특정 영역에 값 저장
set {타입} [주소] = [값]
set {int}0x8048300 = 100
메인 사진 출처: Unsplash
© 남찬우, 2021
'Layer7 > Layer7_Reverse Engineering' 카테고리의 다른 글
리버싱 실습 (0) | 2021.05.27 |
---|---|
어셈블리 동적 분석 실습 (0) | 2021.05.24 |
어셈블리 - Assembly x64 (0) | 2021.05.18 |
실행파일이 만들어지는 과정 (0) | 2021.05.13 |
포인터에 대하여 (0) | 2021.05.10 |