본문 바로가기
시스템/악성코드

악성코드 1

by 주황딱지 2024. 10. 4.

폰 노이만 구조 이거 나온다.


논리 연산: and, or, xor 많이 씀

ALU: 전기 신호로 0과 1로 논리 연산 수행하는 회로.

AND: 둘다 1이면 1, 나머지는 0

OR: 1이 하나 이상이면 1, 나머지는 0

XOR: 둘중 하나가 1이면 1, 나머지는 0


CPU 레지스터: 작은 저장 장치(연산)

 

머신코드: 0과 1로만 되어있음

어셈블리어: 보기 쉽게 특정 단어로 변경

opcode

opcode operand1 

opcode operand1 operand2

형태로 구성되어 있고 operand에는 레지스터, 주소값, 상수 값이 올수 있다.

중요하죠, 여기서는 위도우 사용함


메모리: 저장 공간

변수: 단일 메모리 공간

배열: 연속된 메모리 공간

구조체: 연속된 메모리 공간에 이름을 지정

 

주소: 각 메모리 공간에는 주소가 있고 &는 메모리 주소 값을 알 수 있음.

포인터: 변수, 배열, 구조체를 가리키는 변수, 주소 값을 담고 있으며 주소 값 계산을 통해 자유롭게 간접적으로 접근 가능함.

 


컴파일: 

EXE file format: 윈도우 기준 

  • Header
  • Code
  • DATA
  • Relocation

섹션 순으로 되어 있다.

 

물리 메모리: 64GB도 사용함, 항상 부족하다는 부족 호소인

가상 메모리: x86, x64에 따라 크기가 다름. 실행하는 영역만 RAM에 적재해서 사용함

 


Executable File: 실행 파일 .exe

 

메모리로 보면 이진수로 되어 있지만 16진수로 바꾸면 결과가 달라짐.

 


1 byte = 8it = 77 = 4D

WORD = 2 byte

DWORD = 4byte

QWORD = 8 byte

Big-Endian: 0x12345678 >>낮은 주소 | 0x12 | 0x34 | 0x56 | 0x78 |높은 주소: 저장 방식이 낮은 주소에 높은 바이트 배열

Little-Endian: 0x12345678 >>낮은 주소 | 0x78 | 0x56 | 0x34 | 0x12 |높은 주소: 저장 방식이 낮은 주소에 낮은 바이트 배열.

 

MZ식 WORD: 16비트 CPU 레지스터 크기를 표현하는 단어가 되 + 주소로부터 몇 바이트 단위로 접근하겠다.

 

 

 

 

 

 

 

 

반응형

'시스템 > 악성코드' 카테고리의 다른 글

악성코드 실습 1  (0) 2024.10.04