디스크 분석
[forensic] 디스크 이미지 분석 프로그램 (2)
지난 번에는 섹터 위치를 입력받아서 해당 섹터를 출력하는 프로그램을 구현하였다. 이번에는 기존 코드를 조금 수정해서 사용자가 표시된 메뉴 중에서 원하는 것을 사용할 수 있도록 선택하도록 하였다. New!) 파티션 보기 기능 옵션에는 1. 섹터 정보, 2. 파티션 보기 3. 종료가 있다. 파티션 보기를 가장 마지막에 추가하였는데, 저 부분에서 가장 애를 먹었다. (과제 하기 시러잉....) 파티션 테이블은 각각 16 바이트씩 4개의 엔트리를 가지고 있는데, 4번째 파티션이 확장 파티션이라면 LBA주소로 이동해서 다른 섹터에 있는 파티션을 읽어오는 것이다. 하나의 하드디스크에 파티션을 4개까지 생성할 수 있기 때문에, 4개 이상의 파티션을 사용하기 위해서는 확장 파티션에 논리 파티션을 생성하면 된다. Par..
[forensic] 디스크 이미지 분석 프로그램 (1)
포렌식 시간에 C언어로 vhd 파일(디스크 이미지 파일)을 읽어서 섹터 단위(512Byte)로 출력하는 프로그램을 구현하였다. 먼저, MBR(Master Boot Record)에 대해 정리해보자. MBR은 저장매체의 첫 번째 섹터 (LBA 0)에 위치하는 512 바이트 크기의 영역이다. 처음 446 바이트는 부트 코드 (boot code) 영역, 64 바이트는 파티션 테이블 (partition table) 영역, 마지막 2 바이트는 시그니처 (signature)를 나타낸다. 아래는 프로그램을 C언어로 구현한 코드이다. #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { FILE* fp = NULL; int menuNumber = 0; c..