본문 바로가기

악성코드 분석

악성코드 분석을 위한 함수 호출 규약

함수를 호출하기 위한 과정인 함수 프롤로그와 함수를 호출 후 원래주소로 돌아가기 위한 함수 에필로그가 있다

함수 호출규약은 어셈블리어에서 함수를 호출하는 방법이며 약속이다.

함수에는 함수 stack 영역이 따로 존재한다.

 

함수 프롤로그 

함수를 호출하기 위해 stack에 사전 작업이 필요하다.이걸 함수 프롤로그라고 부른다

 

새로운 함수가 사용할 stack공간을 할당해 줘야한다.

기존에 사용하던 stack의 ebp 주소를 push로 스택 위에 넣고 ebp에는 현재 esp 주소로 변경한다.

 

push ebp

mov ebp,esp

호출 함수 스택
SFP(new ebp)
ret(old ebp)
2
1

함수 에필로그 

함수를 실행 한 후 함수가 호출되기 전 주소로 돌아가기 위한 과정이다.

이과정에서 esp의 주소를 ebp로 바꾸고 ebp의 주소를 ret 주소로 바꾼후 인자 수 만큼 pop을 해서 스택을 비워준다.

'악성코드 분석' 카테고리의 다른 글

악성코드 분석을 위한 어셈블리어(1)  (7) 2023.05.14