본문 바로가기

리버싱/개념

리버싱에 필요한 것은? (레지스터, 어셈블리어)

리버싱에 필수적인 것으로 레지스터와 어셈블리어가 있습니다.

 

소스코드를 어셈블리 코드로 만드는 것을 컴파일,

어셈블리 코드를 기계어로 만드는 것을 어셈블이라 하고

반대로 기계어를 어셈블리 코드로 만드는 것을 디스어셈블,

어셈블리 코드를 소스코드로 만드는 것을 디컴파일이라고 합니다.

 

어셈블리어는 컴파일한 아키텍쳐어 따라서 Intel, Mips, Arm으로 나뉘고, 컴파일한 운영체제의 크기에 따라서 16, 32, 64비트로 나뉩니다. 이때 32비트는 x86, 64비트는 x64라고 표현합니다.

 

어셈블리는 레지스터를 이용해서 계산을 할 때 수식의 역할을 한다고 생각하면 편합니다.

opcode는 명령어, operand는 인자값입니다.

이 어셈블리의 

 

레지스터는 CPU의 변수입니다.

 

레지스터및 어셈블리의 정리는

이 링크를 클릭하시면 됩니다.

 

 

'리버싱 > 개념' 카테고리의 다른 글

스택프레임  (0) 2021.11.08
리버싱에 필요한 것은? (linux)  (0) 2021.07.13
리버싱이란?  (0) 2021.07.10
PE 헤더  (0) 2021.06.17
어셈블리 명령어&레지스터 종류 한눈에 보기  (0) 2021.04.11