PC리버싱/(구)기초정리 by ME

리버스 엔지니어링,리버싱 정리2

Lamed_Dhhd 2020. 4. 1. 10:24
반응형

이제 1편을 보았다면

리버싱이 어떤것인지 알수있을것이다

 

이제 레지스터를 알아볼것이다

일단적으로 범용레지스터 8개를 간단하게 이해시킬수있게

노력해보겠다

범용레지스터 8개의 용도는 나는 값을 저장 연산등으로정의해

그것들을 그릇에 비유하겠다 그릇안에 값

예시 12345678이라는 값이 있는 그릇이라고 나는

범용레지스터의 용도를 정의한다

그릇 끼리 같이 합쳐서 두배가될수도있고 적어질수도있고

그런 연산작용을 한다

이제 레지스터 8개의 각각 용도를 간단하게 알아보자

 

EAX

EAX 연산할때 그값을 저장하는용도고 이걸 조금더자세히설명하면

산술 연산을하며, 리턴값을 전달한다

이게 제일 잘정리된 정의인것같다

이런걸 알수있는 힌트가있다

A 는 Accumulator로 계산이라는뜻을 지녔다

EAX (Extended Accumulator Register)

 

EDX

EAX와 같이 연산에사용된다

주로 더하고 뺴고 곱하는 용도

변수의용도로도쓰인다

D의약자는 Data이다

EDX (Extended Data Register)

 

ECX

C의 약자는 count이다

프로그래머에게 쉽게이해시킬려면

루프문이다

하지만 초보자에게 설명하자면

반복문이 만약 5바퀴 돈다한다

5를넣고 1씩줄여서

0이되면 끝나는

반복문에 쓰인다

ECX (Extended Counter Register)

 

EBX

EAX,EDX,ECX가 부족할때사용하고

B는 base이다

EBX (Extended Base Register)

 

ESI,EDI

EAX~EDX는 주로 연산에사용된다

ESI,EDI는 

주로 문자열,메모리값을 복사할때 원본주소를 가리킨다

S와D의약자는

Source와 Destination이다

ESI (Extended Source Index)

EDI (Extended Destination Index)

EBP,ESP

 스택프래임의 시작주소와끝주로가 저장된다

각각의 약자는

ESP (Extended Stack Pointer)

EBP (Extended Base Pointer)

 

EIP

간단하게 다음에 실행할 명령어 주소가 저장된다

EIP (Extended Instruction Pointer)

 

 

 

이제 세그먼트레지스터하고 플래그레지스터입니다

이해안되는부분있으면 댓글로말해주세요

보안해서 고치면서 더좋은글을만들죠

 

REF(참고한서적들)

리버스엔진니어링 바이블

윈도우 시스템 해킹 가이드

 

반응형

'PC리버싱 > (구)기초정리 by ME' 카테고리의 다른 글

어셈블리어의 기초  (0) 2020.04.01
플래그 레지스터  (0) 2020.04.01
세그먼트레지스터  (0) 2020.04.01
범용레지스터 추가설명  (0) 2020.04.01
리버스 엔지니어링,리버싱 정리1  (0) 2020.04.01