728x90
반응형
CALL
함수를 호출할 때 사용되는 명령어
오퍼랜드가 가리키는 곳으로 프로그램의 흐름이 변경됨
JMP와 차이점은 함수가 끝나고 다시 복귀할 수 있도록 EIP값이 변경되기 전에 기존의 위치를 스택에 저장함
다시 돌아올 때는 스택에서 해당 정보를 꺼내어 복귀함
JMP
오퍼랜드가 가리키는 곳으로 프로그램의 흐름이 바로 변경됨
EIP값이 저장되지 않아 다시 돌아올 수 없음
옵션에는 127byte 범위 내에서 점프하는 short
같은 세그먼트 내에서 점프하는 near
현재 세그먼트를 벗어나는 far
RET(RETN)
CALL을 통해 호출된 함수에서 다시 복귀하기 위해 사용하는 명령
스택에 저장된 정보를 기반으로 흐름이 바뀌는 것이기 때문에 의미상으로는 POP EIP와 동일하지만
EIP의 내용은 직접적인 수정이 안되기 때문에 문법적으로는 바르지 않음으로 개념적으로만 알아놓자
반응형
'Study > Reversing' 카테고리의 다른 글
[리버싱] 정적&동적 라이브러리 (0) | 2017.09.16 |
---|---|
[리버싱] PE파일 (0) | 2017.09.14 |
[리버싱] 인터럽트에 대해 알아보자 (0) | 2017.09.03 |
[리버싱] 함수: 프롤로그&에필로그와 호출 규약 (0) | 2017.09.01 |
[리버싱] 스택프레임에 대해 알아보자 (0) | 2017.08.24 |
댓글