전체 글 207

5주차 과제

배열 배열이라는 개념을 접하기 전에 지금까지 우리는 메모리에 저장 공간을 만들기 위해 변수라는 것을 사용했습니다. 예를 들어 사과 10개를 담기 위해 AppleBox라는 변수명으로 변수를 하나 만들어 줬습니다. 하지만 또 다른 예로 5과목의 점수를 처리하고 싶을 때는 kor, eng, math, sci, social 등 하나씩 다 변수를 지정해줬습니다. 이렇게 하나씩 변수를 선언하면 점수도 일일이 하나씩 넣어줘야 하는 번거로움이 있기 때문에 우리는 배열이라는 개념을 알고 있어야 합니다. 쉽게, 배열은 같은 형태의 많은 데이터를 반복하여 처리하기 위해서 메모리에 "연속적"으로 저장해놓고 쪼개서 사용하는 방법이라고 생각을 하시면 됩니다. 잘 이해가 안가시겠지만 예제로 보겠습니다. %p 서식 지정자에 대해서는..

[디스크 복구] NTFS 파티션 복구

저번 시간에 이어 NTFS도 바로 복구를 해보겠습니다. 마찬가지로, 악용을 하시면 법적인 책임을 물 수도 있으니 공부할 때만 사용하십시오. 배우기에 앞서 선행되어야 하는 내용은 다음과 같습니다. NTFS 구조 : https://lemonpoo22.tistory.com/202 MBR 구조 : https://lemonpoo22.tistory.com/23 실습할 내용은 다음과 같습니다. BR영역이 손상된 파티션 복구 알아야 할 내용 : 파티션 정보, LBA 시작주소, 파티션 총 섹터 수 먼저, 실습파일을 FTK로 열어보겠습니다. 파티션 1개가 보이고, Unrecognized로 보이는 것으로 보아 손상된 파티션임을 알 수 있었습니다. 그래서 FTK를 닫고, Hxd 에디터로 디스크 정보를 한번 보겠습니다. 영역 ..

[디스크 복구] FAT32 파티션 복구

*지금부터 작성을 하는 공부들은 악용을 할 시 법적인 책임을 질 수 있으니 공부 용도로만 쓰길 바랍니다. 배우기에 앞서, 사전 지식이 필요하여 2개를 보고 오시는 것을 추천드립니다. MBR 구조 : https://lemonpoo22.tistory.com/23 FAT32 구조 : https://lemonpoo22.tistory.com/84 우리가 Windows 시스템에서 가장 많이 사용하는 파일 시스템 포맷인 FAT32, NTFS 포맷의 파티션이 손상되었을 경우 복구하는지 배워볼 것 입니다. 우선 실습 파일은 따로 올리지 않겠지만, 복구하는 방법이 동일하기 때문에 혹시 직접 실습을 해보고 싶다면, 가상 디스크를 하나 만들어서 똑같이 영역을 손상시켜 공부해보는 것을 추천드립니다. 실습 시나리오는 다음과 같다..

4주차 과제

표준 라이브러리 함수 함수는 기능을 수행하는 코드 단위를 말합니다. 지금까지 사용해왔던 main 함수가 대표적인 함수입니다. 그리고 입.출력을 할 때 사용하던 printf()와 scanf()도 함수이고 특정 기능을 미리 약속하고 프로그램에서 바로 사용할 수 있게 구현되어 있는 함수입니다. 이런 함수처럼 프로그램에서 바로 사용할 수 있게 구현되어 있는 함수를 표준 라이브러리 함수라고 합니다. 그리고 이런 함수는 stdio.h 헤더 파일에 포함되어 있습니다. 함수를 정의할 때 필요한 3가지가 있습니다. (꼭 기억하셔야 합니다) 함수 정의 : 함수를 실제 코드로 만드는 것이며 기능을 구현합니다. 함수 호출 : 함수 호출을 해야지 함수를 사용할 수 있습니다. 함수 선언 : 프로그램의 상단에서 어떤 함수를 사용할..

3주차 과제

이번주는 Chapter 05 ~ 06에 대해서 배워보겠습니다. 먼저, 우리는 1~2주차에 다뤘던 내용들은 main함수를 읽어와서 항상 차레대로 실행되는 프로그램을 다뤄왔었습니다. 하지만 연산자를 배우면서 참, 거짓 조건을 다뤄 참이면 A값, 거짓이면 B값을 다루는 것은 했으나 깊게는 다루지 않았습니다. 그래서 이번에 배우는 제어문은 조건에 따라 실행하거나 실행하지 않아야 할 때 사용하는 함수들 입니다. if문(조건문, 제어문) if문은 말 그대로 만약에라는 뜻을 가지고 있습니다. 그리고 조건식과 실행문으로 나뉘는데 예를 한번 보겠습니다. "크리스마스 때까지 여자친구가 없으면", "친구가 소개팅을 주선해준다" 라고 했다고 가정합시다. 여기서 조건문과 실행문을 나뉘어 보겠습니다. 조건문 : 크리스마스 때까지..

2주차 과제

이번에 해야 할 주차는 2주차 입니다. 3장과 4장에 대한 내용을 설명을 하겠습니다. 변수 변수는, 프로그램에서 데이터를 메모리에 저장하기 위해 사용되는 일련의 번호박스입니다. 예를 들어 택배를 하나 받았다고 생각을 해봅시다. 우리가 옷을 주문하고 주문한 옷이 택배 박스로 왔을 때 안에 들어있는 내용물은 아! 옷이 들어있구나 하고 뜯어볼 것 입니다. 이처럼 내용물을 저장할 수 있는 박스가 일종의 변수가 되는 것입니다. 그림을 보겠습니다. 똑같이 박스와 옷을 기준으로 설명을 하면 A박스에 옷 대신에 10이라는 값이 들어있다고 생각하시면 됩니다. 일단 변수에 대해서는 이정도만 하고 나중에 코드로 보여드리겠습니다. 변수를 선언하기 위해서는 자료형을 알아야 합니다. C언어에서 자료형은 int(정수), float..

[Multimedia] Listen carefully!!

문제를 보겠습니다. Listen carefully!! 잘들어라네요!! 그래서 2분 27초짜리 파일을 하나 주는데 들어봐도 잘 모르겠습니다..ㅎㅎ 그래서 오디오 스테가노 그래피를 생각을 했기 때문에 Audacity 프로그램을 사용했습니다. 파일을 열어서 뒤집어도 보고도 했지만 답을 찾을 수 없어서 혹시나 파형에서 스펙트로그램으로 바꿔봤습니다. 바꾼다음 속도를 44100으로 바꿔주니 플래그 값을 볼 수 있습니다. 중간에 짤랐으니 다 풀어보시길 바랍니다!!

CTF-D/Multimedia 2022.07.17