목록공부/리버싱 (2)
보안세상
1. 바이트 오더링(Byte Ordering) 바이트 오더링이란 쉽게 생각해서 데이터를 저장하는 방식을 말합니다. 바이트 오더링 방식에는 크게 2가지가 있습니다. 그 2가지는 바로 오늘 알아볼 빅엔디언(Big Endian)과 리틀 엔디언(Little Endian) 방식입니다. [그림 1.1]을 보면 총 4개의 크기가 다른 자료형이 있습니다. 이를 각 엔디언 방식에 따라서 데이터를 어떤식으로 저장하는지 알아보겠습니다. ※ 참고'a'의 ASCII code는 0x61, NULL 문자의 ASCII code는 0x00 [표1.1]을 자세히 보면 BYTE 타입의 변수 b를 저장할때에는 차이가 없지만 Size가 2바이트 이상인 자료형의 경우 두 표기법에 차이가 나기 시작합니다. 빅엔디언 방식은 데이터를 저장할 때 사..
1. 어셈블리어란? 어셈블리어는 리버스 엔지니어링을 하기 위한 가장 기초적인 도구입니다. 예컨대 영어공부를 시작하면 알파벳을 배우고 일본어 공부를 시작하면 히라가나를 배우는 거라고 생각하면 됩니다. 하지만 저는 이 어셈블리어를 어떻게 공부해야 할지 막막했습니다. 또한 책을 찾아 공부를 해도 계속 까먹기 때문에 잊어 버릴때마다 참고하기위해 이렇게 글로서 정리하게 되었습니다. ※ 참고 -> 리버스 엔지어링만을 위한 어셈블리어 입니다. ※ 용어 정리기계어 : 컴퓨터가 읽을 수 있는 2진 숫자로 이루어진 언어어셈블리어 : 기계어를 사람이 보기 쉽게 문자를 기호화 하여 나타낸 것디스 어셈블리어 : 기계어를 어셈블리어로 변환하는 것 흔히 어셈블리어는 매우 쉽고 간결하다고 합니다. 그럼에도 어려운 이유는 단순함에 있..