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

홈 > 커뮤니티 > 보안 정보 게시판
보안 정보 게시판

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

S Dhhd 12 3798 1

이제 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)

12 Comments
1 글을남기면고소 03.11 23:37  
I don't know how i...
1 코알라찡 2021.11.12 17:24  
어렵지만 이렇게 설명해주셔서 감사해요ㅠ
1 feralshining 2021.05.23 05:01  
간단 요약이네요. 잘 봤습니다.
1 미쓰라준 2021.02.04 19:09  
9개 군요 ㅎㅎ
1 다이스 2020.12.19 23:30  
감사합니다! 궁금했던 점 정확하게 다시 알고 가요!
1 은이 2020.11.13 21:16  
봐도 봐도 어렵네요
1 dkoasdko 2020.08.16 00:47  
전에 항상 궁금했던 것들을 배워갑니다 감사합니다.
4 쿨록 2020.08.09 17:06  
감사합니다 ~
1 핵리니 2020.05.27 12:20  
이해가 쉽네요 ㅎㅎ
4 maxiall568 2020.05.18 09:16  
EDX 약자에 오타가 있네요
Extended Data Register맞죠?
S Dhhd 2020.05.18 12:52  
네 맞습니다 오류네요
2 살살봉 2020.05.16 19:33  
와우 대단해요 감사합니다