gdb-peda를 이용해서 한번 main 함수를 봐야겠죠?
여기서 함수들이 사용이 되는것을 알 수 있는데 한번 보면
printf 함수와 scanf함수, 다시 printf함수가 사용되는것을 볼 수 있습니다.
(이제 자세한 설명은 생략하도록 하겠습니다.)
한줄 한줄 살펴봅시다.
여기는 이제 바로 알겠죠? 스택 프롤로그 입니다.
이렇게 rax의 값을 0으로 만들어 주고 있습니다.
그런다음 rbp-0xc라는 곳에 0이라는 값을 넣고 있습니다.
eax에 0이라는 값을 mov 해주고 있습니다. 그 후에 printf 함수를 call 하고 있네요
한번 계속해서 실행 해보도록 하겠습니다.
하지만 printf 함수의 문자열이 출력이 될것이라고 생각했지만 결과는 아무것도 나오지 않았습니다.
왜 이렇게 되는걸까요? -> 추후에 설명하도록 하겠습니다.
scanf 함수를 call하는 +66까지 실행을 시켜보겠습니다.
정상적으로 실행되고 있습니다.
계속 실행해보면 func함수를 호출하고 있습니다.
printf 함수를 호출하고 종료가 되는것 같습니다.
지금까지 메인함수를 보았습니다
다음 포스팅에서 func 함수를 마저 보도록 하겠습니다.
'Theory > Pwnable' 카테고리의 다른 글
Pwntools 소개 1 (0) | 2021.09.14 |
---|---|
찬희의 Pwn 포너블 기초 3주차 2차시 homework2.c (0) | 2021.09.10 |
찬희의 Pwn 포너블 기초 3주차 2차시 homework.c (0) | 2021.09.09 |
찬희의 Pwn 포너블 기초 3주차 1차시 homework.c (0) | 2021.09.09 |
찬희의 Pwn 포너블 기초 2주차 2차시 GDB를 사용해보자 2 (0) | 2021.08.28 |