본문 바로가기

분류 전체보기267

[BOJ] 2022 SISS 1학기 스터디 - 7주차 #1978 : 소수 찾기 (Class 2 Silver 5) [문제] [코드 및 결과] #include using namespace std; int main() { int N, num, cnt = 0, result = 0; cin >> N; for (int i = 0; i > num; for (int j = 1; j = 3) break; } if (cnt == 2) result++; cnt = 0; } cout N; while (cnt != N) { result++; temp = result; while (temp != 0) { if (temp % 1000 == 666) { cnt++; break; } else temp /= 10; } } cout N >> M; for (in.. 2022. 6. 19.
[pwnable.kr] Toddler's Bottle - passcode 이번에는 passcode 문제를 풀어보았다. 문제를 읽어보니 passcode 기반의 로그인 시스템을 만들었는데 무언가 컴파일 에러가 난 것 같다. 딱히 얻을만한 건 없는 것 같으니 넘어가자. 문제에 있는 명령어를 통해 접속해준다. 접속 완료했다. 파일은 이렇게 있었고 당연히 flag의 내용은 확인할 수 없었다. passcode 바이너리 파일을 실행해서 다음과 같이 임의의 값을 넣어줘봤다. 대충 입력하니 segmentation fault가 뜬다. 원인을 모르겠으니 cat으로 passcode의 c 소스코드를 확인해보았다. (너무 길어서 코드를 긁어왔다.) #include #include void login(){ int passcode1; int passcode2; printf("enter passcode1 .. 2022. 6. 19.
[pwnable.kr] Toddler's Bottle - leg 이번에는 leg 문제를 풀어보았다. 아빠는 arm을 공부하라 하지만 자기는 leg를 공부하고 싶다고 한다. 아래에 있는 명령어를 통해 접속해준다. 접속 완료했다. leg 바이너리 파일을 실행시키고 임의의 값을 입력하니 위와 같이 뜬다. 일단 문제에서 준 c 소스코드를 살펴보았다. #include #include int key1(){ asm("mov r3, pc\n"); } int key2(){ asm( "push{r6}\n" "addr6, pc, $1\n" "bxr6\n" ".code 16\n" "movr3, pc\n" "addr3, $0x4\n" "push{r3}\n" "pop{pc}\n" ".code32\n" "pop{r6}\n" ); } int key3(){ asm("mov r3, lr\n"); }.. 2022. 6. 19.
[Digital Forensic] 메모리 덤프 파일 분석 도구 메모리 덤프 파일 분석 도구 메모리 포렌식이란, 메모리에 존재하는 휘발성 데이터를 덤프 분석하는 것으로, 여기서 메모리 덤프는 RAM에 존재하는 모든 데이터를 덤프하여 분석가능한 파일 형태로 변환하는 작업을 의미한다. 메모리 포렌식을 통해 프로세스 정보, 네트워크 연결 정보, 레지스터리 정보, 캐시 정보, 클립보드 정보, 악성코드 파일 정보 등을 얻을 수 있다. volatility volatility는 오프소스 기반으로 메모리 분석을 위한 대표적인 프레임 워크 도구이다. 컴퓨터에서 덤프된 파일을 분석할 수 있으며, 프로세스 정보와 네트워크 정보 등도 확인할 수 있다. 비슷한 기능을 제공하는 도구로는 구글에서 제작한 ReKall, 멘디언트에서 제작한 readline 등이 있다. volatility 플러그인.. 2022. 6. 1.
[Digital Forensic] 이미징 도구 사용 실습 FTK Imager 사용법 간단하게 FTK Imager 사용 방법을 알아보자. 프로그램을 처음 실행시키면 위와 같은 인터페이스가 나타난다. File > Add Evidence Item을 눌러준다. USB를 사용할 것이므로 Physical Drive를 눌러준다. 사용할 디스크를 정하고 Finish를 눌러준다. 그러면 위와 같은 화면이 뜬다. Evidence Tree에 뜬 항목의 왼쪽에 있는 +버튼을 누른다. 그러면 위와 같이 여러 목록이 뜨는데, 그 중에서 [root]를 눌러본다. 그러면 위의 화면처럼 지금 해당 디스크에 존재하는 파일뿐만 아니라 이전에 삭제했던 파일까지 뜨는 것을 확인할 수 있다. FTK Imager 기능을 이용하여 한번 파일을 삭제한 후에 복구해보자. 목록에 있는 "10101 ㄱㅇㅈ" .. 2022. 5. 23.
[BOJ] 2022 SISS 1학기 스터디 - 6주차 #1181 : 단어 정렬 (Class 2 Silver 5) [문제] [코드 및 결과] #include #include #include using namespace std; bool cmp(string a, string b){ if (a.size() == b.size()) return a > N; vector v; for (int i = 0; i > str; v.push_back(str); } sort(v.begin(), v.end(), cmp); cout > M; int cnt = 0; queue q; priority_queue pq; f.. 2022. 5. 20.
[BOJ] 2022 SISS 1학기 스터디 - 5주차 #2751 : 수 정렬하기 2 (Class 2 Silver 5) [문제] [코드 및 결과] #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int N, num; vector v; cin >> N; for (int i = 0; i > num; v.push_back(num); } sort(v.begin(), v.end()); vector::iterator i; for (i = v.begin(); i != v.end(); i++) { cout N; for (int i = 0; i > x.. 2022. 5. 20.
[Dreamhack Reverse Engineering] STAGE 6 보호되어 있는 글 입니다. 2022. 5. 17.
[Digital Forensic] 이미징 툴 이미징 툴 이미징이란? 저장 매체의 모든 물리적 데이터를 파일 형태로 만드는 작업을 의미한다. 저장 매체 이미징을 수행하면 저장매체의 첫번째 섹터부터 마지막 섹터까지 모든 데이터가 파일 형태로 저장된다. 이미징을 하는 이유는 저장매체의 원본 상태를 그대로 유지시키기 위함인데, 이는 디지털 포렌식 분야에서 원본 증거(데이터)가 수집, 이동, 보관, 분석의 일련의 과정을 거치면서 변조되지 않아야 하기 때문이다. 이미징 툴로는 FTK, EnCase, Taleau, MacQuisition 등이 존재한다. FTK Imager FTK는 통합 포렌식 도구로, 윈도우 환경에서 실행 가능하다. 포렌식의 가장 기본이 되는 도구로, 디스크 이미징 작업에 많이 활용된다. FTK Imager는 FTK Toolkit의 구성 요소.. 2022. 5. 16.