main 함수 호출, 종료되는 과정
elf 파일을 보통 디버깅 할 때 main문부터 확인하는게 일반적이다. 그러나 pwnable.xyz의 Dirty_Turtle이란 문제를 보면 main함수가 호출되기까지, 종료된 후의 과정을 알아야한다.1. ELF 헤더 확인우선 readelf -h 명령어로 현재 challenge라는 바이너리를 확인한 결과이다. 엔트리 포인트 주소를 보면 0x4006c0을 가리키고 있는데 해당 주소가 무엇인지 IDA로 확인해보자.해당 주소는 _start 함수이다. 따라서 _start 함수가 처음에 호출된다.2. _start()void __fastcall __noreturn start(__int64 a1, __int64 a2, void (*a3)(void)){ __int64 v3; // rax int v4; // esi ..
2024.07.05