보안/어셈블리어

메모리

Eprld 2024. 9. 8. 18:34

메모리 주소 접근

01: 1234

02: 54

03: 44

 

eax(001) = 0

 

mov byte ptr[402000], al > al의  1byte(402000)의  값에 al을 넣는다 

 

메모리 크기 지정

8bi = 1byte > byte

16bit = 2byte >word

32bit = 4byte > dword

 

eax = 00AD51B0

ebp = 0052FC14 -4

mov dword ptr ss:[ebp-0x4], eax 

mov word ptr ss:[ebp-4], ax > 

 

데이터를 저장하는 방식 = 바이트 오더링

빅 엔디안 > 그대로 저장함

리틀 엔디안 > 12345678 은 87654321 로 거꾸로 저장함 

 ex > B0 C8 26 77 -> 77 26 C8 B0 이렇게 읽어야 한다 

엔디안 체크(Endian Check) : 주어진 시스템의 엔디안을 확인하는 과정

1. 32bit 데이터 0x12345647데이터를 메모리에 저장한다

2. 해당 메모리 위치에 첫 번째 바이트를 읽어온다.

3. 첫 번째 바이트가 1이라면 빅엔디안, 7이라면 리틀엔디안이라고 판단한다

 

 

 

 

'보안 > 어셈블리어' 카테고리의 다른 글

시스템 취약점  (0) 2024.09.12
리버싱  (0) 2024.09.09
hex 값 변경  (0) 2024.09.06
cod cave  (0) 2024.09.06
IAT  (0) 2024.09.06