IT Security

리버싱) 바이트 오더링 및 레지스터

로픽 2018. 12. 3. 19:24
300x250

바이트 오더링 및 레지스터

* 바이트 오더링 : 컴퓨터에서 메모리에 데이터를 저장하는 방식


  - 빅엔디안 : 데이터를 앞에서 부터 순차적으로 적용(사람이 보는 방식과 동일) 

  ㄴ 네트워크 프로토콜에서 사용하는 방식


  - 리틀엔디안 : 데이터를 역순으로 저장하는 방식  ( 00AB12CD -> CD12AB00)

  ㄴ Intel x86 CPU에서 사용하는 방식


* 레지스터 - CPU 내부에 존재하는 다목적 저장 공간


  - 범용 레지스터 - 상수, 주소를 저장할 때 사용. 또한 어셈블리 명령어에서는 특정 레지스터를 조작하는데 사용.

  ㄴ 32비트 기준 : EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP


  - 세그먼트 레지스터 - 메모리 관리


  - 프로그램 상태와 컨트롤 레지스터

  ㄴ EFLAGS : Flag Register ( 각 비트마다 의미를 가지고 있으며, 1,0 ( On/Off | True/False ))

  ㄴ Zero Flag(ZF) : 연산 후 결과값이 0이 되면 ZF가 1(True)로 세팅된다.

  ㄴ Overflow Flag(OF) : 부호 있는 수의 오버플로가 발생했을 때 1로 세팅. MSB가 변경되었을 때 1로 세팅.

  ㄴ Carry Flag(CF) : 부호 없는 수의 오버플로가 발생했을 때 1로 세팅.




출처 : 리버싱 핵심원리 ( 이승원 / 인사이트 )

반응형

'IT Security' 카테고리의 다른 글

칼리리눅스 - sparta 취약점도구  (1) 2019.01.17
CVE - 보안 취약점  (2) 2019.01.08
리버싱) Ollydbg (올리디버거)  (0) 2018.11.27
리버싱) 리버스 엔지니어링  (0) 2018.11.24
보안 솔루션 구축) pfSense 테스트  (0) 2018.10.17