공부

    3장 리틀 엔디언 표기법

    먼저 컴퓨터에서 메모리에 데이터를 저장하는 방식에는 리틀 엔디언 표기법, 빅 엔디언 표기법이 있다. 이런 방식을 바이트 오더링 (Byte Ordering)이라고 한다. 이런 코드가 있다고 하자. 총 4개의 크기가 다른 자료형이 있다. TYPE Name SIZE 빅 엔디언 리틀 엔디언 BYTE b 1 [12] [12] WORD w 2 [12][34] [34][12] DWORD dw 4 [12][34][56][78] [78][56][34][12] char [] str 6 [61][62][63][64][65][00] [61][62][63][64][65][00] (아스키 'a' 16진수는 0x61임) 빅 엔디언과 리틀 엔디언은 2바이트 이사의 크기를 가진 자료형을 저장할 때부터 차이가 난다. 빅 엔디언 방식은 ..

    2장 Hello, World! 리버싱

    11월 21일, 대학교에 합격하였다. 그렇기에 그동안 못했던 공부를 하고 싶었고, 리버싱 핵심원리 책을 통하여 리버싱을 공부하려 하였다. 혼자서 머리속으로 끙끙 앓으며 공부를 하기 보다는, 누군가에게 설명을 하듯이 진행을 하는 방법이 편해 블로그를 통해 공부를 하려 한다. 본격적인 공부에 앞서, 책의 예제파일은 reversecore님의 블로그에서 다운받을 수 있으며, OllyDbg 32bit + Plugin으로 진행한다. 먼저, OllyDbg를 관리자권한으로 실행 후 HelloWorld.exe를 열어보자 Hello, World.exe 디버깅 시작 잘 열렸다. 좌측 상단을 Code Window, 좌측 하단을 Dump Window, 우측 상단을 Register Window, 우측 하단을 Stack Windo..