Insecure-programming-abo2 Insecure Programming by example Advanced Buffer Overflow 2 int main ( int argv , char * * argc ) { char buf [ 256 ] ; strcpy ( buf , argc [ 1 ] ) ; exit ( 1 ) ; 지난번 Advanced Buffer Overflow 1 문제와는 다르게 exit() 함수가 추가된 것을 볼 수 있다. 이번 문제는 x86 시스템에서 exit() 함수 호출과 익스플로잇에 대한 영향을 살펴보는 것이 목적이다. objdump 를 이용하여 어셈블리어를 살펴보면 한 가지 특징을 볼 수 있다. # objdump -d -M intel ./abo2 | grep "<main>" -A 16 080483b4 < main > : 80483b4: 55 push ebp 80483b5: 89 e5 mov ebp,esp 80483b7: 81 ec 18 01 00 00 sub esp,0x118 80483bd: 83 e4 f0 and esp,0xfffffff0 80483c0: b8 00 00 00 00 mov eax,0x0 80483c5: 29 c4 sub esp,eax 80483c7: 8b 45 0c mov eax,DWORD PTR [ ebp+12 ] 80483ca: 83 c0 04 add eax,0x4 80483cd: 8b 00 m