본문 바로가기

전체 글

(35)
함수의 프롤로그와 에필로그 함수의 프롤로그와 에필로그를 알아보기 전에 몇 가지를 짚고 넘어가 보자! 먼저, 스택 프레임이란? 한 함수가 호출되면 스택에는 함수의 매개변수, 호출이 끝난 뒤 돌아갈 주소, 함수에서 선언된 지역변수 등이 저장되는데, 그 영역을 그 함수의 스택 프레임이라 한다. 이 스택 프레임들은 함수가 종료되면 스택에서 제거되고 저장해놓았던 '함수를 호출한 지점(RET)'으로 돌아가는데, 미리 말하자면, 이를 에필로그라고 한다. 그림에 있는 EBP와 ESP는 뭘까?? EBP는 스택 상의 한 데이터의 주소가 저장되어 있는 레지스터로, 그 데이터 위부터 한 함수가 실행된 이후의 값들이 쌓인다. 즉, 그 함수의 시작 지점이라고 생각할 수 있으며, 따라서 함수가 종료되지 않는 한 EBP 값은 변하지 않는다. ESP는 스택의 ..
File Upload 취약점 ( + root me ) 보호되어 있는 글입니다.
Directory Indexing 이란? ( + root me ) 보호되어 있는 글입니다.
Command Injection 이란? ( + root me ) 보호되어 있는 글입니다.
Open Redirect 란? ( + root me ) 보호되어 있는 글입니다.
[백준] 10818번 : 최소, 최대 문제  풀이 방법
해쿨 핸드북 정리 보호되어 있는 글입니다.
[백준] 1110번 : 더하기 사이클 문제  풀이 방법 문제를 보고 생각난 방법은 다음과 같다.1) input이라는 변수에 입력값을 저장한다. 2) b라는 변수에 일의 자리를 저장한다.    (이때, 일의 자리는 십과 나머지 연산하여 구한다.) 3) a라는 변수에 십의 자리를 저장한다.    (이때, 십의 자리는 일의 자리를 빼고 십으로 나누어 구한다.) 4) c라는 변수에 a+b값을 저장한다.5) result라는 변수에 b*10+c%10을 저장한다. 6) length(사이클의 길이)를 하나씩 늘려준다.7) result가 input과 같아질 때까지 위의 2~6 과정을 실시한다. 이와 같은 방법으로 짠 코드는 다음과 같다.  결과는!