BOF 원정대 - Level2 gremlin 1. 소스 int main(int argc, char *argv[]) { char buffer[16]; if(argc < 2) { printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); } 2. 어셈블리 코드 main+0xA 에서 argc인자값이 2이상인지를 체크해, 아닐 경우 "argv error\n" 를 출력하고 프로그램을 종료한다.main+0x23 부터는 ebp-0x10 (16 bytes) 떨어진 곳에 argv[1]의 값을 복사한 다음, 출력하고 프로그램을 종료한다. main 함수 스택에 256바이트의 저장 공간이 주어졌던 1번 문제와는 다르게, 이번 문제에서는..
BOF 원정대 - Level1 gate 1. C 코드 및 어셈블리 확인 int main(int argc, char *argv[]) { char buffer[256]; if(argc < 2){ printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); } .text:08048430 public main .text:08048430 main proc near ; DATA XREF: _start+17o .text:08048430 .text:08048430 dest = byte ptr -100h .text:08048430 argc = dword ptr 8 .text:08048430 argv = dword ptr 0Ch .t..