posted by 초식사자 2010.12.20 12:44

LEA(Load Effective Address) 명령은 본질적으로 산술명령이다. 어떤 메모리 주소에 접근하는 작업을 수행하는 것이 아니라 일반적으로 주소를 계산하기 위해서 사용된다.

예를 들어

 ESP : 0x0012FFBC
 0x0040205E : "HELLO"
인 경우에
 mov EBP,ESP
 push 0040205E
 mov EAX,[EBP-4]
 lea EBX,[EBP-4]
위 명령을 실행할 경우
 EAX : 0040205E
 EBX : 0012FFB8
의 값을 가지게 된다.

즉, EAX는 EBP-4가 가리키는 주소가 가지고 있는 0040205E 값이 저장되어 문자열 "HELLO"의 시작 주소가 저장되고 EBX는 EBP-4 값 그 자체인 0012FFB8 값이 저장된다


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

LEA 명령과 MOV 명령의 차이점  (3) 2010.12.20
플래그 설정 명령어  (0) 2010.12.09
조건부 점프 명령어  (0) 2010.11.27
부울 명령어  (0) 2010.11.27
연산자  (0) 2010.11.27
기본 명령어  (0) 2010.11.27

댓글을 달아 주세요

  1. Favicon of http://cyworld.com/funkytoy BlogIcon funkytoy 2011.03.24 10:27 신고  Addr  Edit/Del  Reply

    둘의 차이점을 잘 몰랐었는데 이해하기 쉽게 잘 설명해주셔서 감사합니다. 잘보고갑니다~

  2. 미니어스 2013.10.16 10:33 신고  Addr  Edit/Del  Reply

    주소값 마지막 0하나 더 들어가있군요.
    EBX는 EBP-4 값 그 자체인 0012FFB80 값이 저장된다.

    :%s/0012FFB80/0012FFB8/g