본문 바로가기

Reversing/개념

[Reversing] Handray

[ 어셈블리 핸드레이 ]

 : 어셈블리어를 C언어로 복원시키는 것

 

[ 알아두면 좋은 지식 ]

1. ebp+8 이상의 값은 함수의 인자를 나타냄

2. ebp-4, esp+8 이상의 값은 지역변수임. 숫자가 높을수록 가장 먼저 선언된 변수임

3. 함수 프롤로그 밑에 sub x가 있다는 것은 x만큼 지역변수나 함수를 선언했다는 의미임

4. call 위의 esp, esp+4, esp+8은 각각 함수의 첫번째, 두번째, 세번째 인자를 뜻함

5. for문의 전형적인 문장은

   인자를 초기화하고 (mov ebp-8,0)

   인자를 비교하며 (cmp ebp-8, 9)

  쭉 명령어를 실행하다가 코드의 끝부분에서 인자에 대한 연산을 수행함(add ebp-8, 1)