abex crackme #3

오서영·2022년 5월 15일
0
post-thumbnail

abex crackme 세 번째 예제에서 배울 수 있는 개념을 정리해보았다.

함수 호출 규약

함수 호출 규약이란?

  1. 함수를 호출할 때 인자를 전달하는 방식과

  2. 함수 실행이 끝나고 스택을 정리하는 방식에 대한 약속

종류

1) cdel 방식

  • 인자가 오른쪽에서 왼쪽으로 순서대로 스택 전달

  • 함수가 종료될 때 호출자가 피호출자의 스택 프레임을 정리

2) stdcall 방식

  • 인자가 오른쪽에서 왼쪽으로 순서대로 스택 전달

  • 함수가 종료될 때 피호출자 스스로 스택 프레임을 정리

3) fastcall 방식

  • 인자가 오른쪽에서 왼쪽으로 순서대로 레지스터를 사용해서 전달됨

  • 별도로 스택 정리할 필요 없음

음수의 표현

순서

10진수 -> 이진수 -> NOT -> +1 -> 음수 결과

예시

04(4) -> 0000 0100 -> 1111 1011 -> 1111 1100 -> F C(-4)

profile
개발과 보안에 관심 있는 대학생입니다😎

0개의 댓글