본문 바로가기

책/리버싱핵심원리2

리버싱핵심원리_2 03 리틀 엔디언 표기법 바이트 오더링(Byte Ordering) : 데이터를 저장하는 방식 -빅 엔디언(Big Endian) 직관적, 대형 UNIX 서버에 사용되는 RISC 계열의 CPU에서 많이 사용. 네트워크 프로토콜에 빅 엔디언이 사용 -리틀 엔디언(Little Endian) 데이터 역순 저장, Intel x86 CPU, 산술연산고 데이터 타입의 확장/축소될때 더 효율적 04 IA-32 Register 기본설명 -CPU 레지스터란? CPU 내부에 존재하는 다목적 저장 공간 CPU가 RAM에 있는 데이트를 액세스(Access)하기 위해서는 시간이 오래 걸림 레지스터는 CPU와 한 몸이기 때문에 고속으로 데이터 처리 가능 IA-32의 레지스터 Basic program execution register.. 2020. 4. 18.
리버싱 핵심 원리_1 개발도구(visual stdio같은)로 C언어 소스 코드 빌드, 실행파일이 생성. 이 과정에서 사람이 이해하기 쉬운 명령어에서 기계가 이해하기 쉬운 기계어로 바뀜. 디버거(debugger) 유틸리티에 디스어셈블러(disassembler)를 통해 코드를 보게 됨. -EP(Entry Point) : CPU에 의해 가장 먼저 실행되는 코드시작위치 코드의 앞쪽에 Stub Code(컴파일러에 의해 생성되는 코드, 전역변수와 같은 것들이 생성)이 존재 -> main() 함수를 찾는 게 중요 Kernel32.GetCommandLineW - Windoww32 API 호출 코드 -BaseCamp를 설치하는 4가지 방법 1) Goto - Ctrl + G (원하는 주소를 바로 입력하여 감) 2) BP(BreakPoint) .. 2020. 4. 18.