728x90

전체 글 51

[WHS2 CTF_포렌식] BadGuy2

1. arsenal과 r-studio를 이용하여 파일 복구2. root/users/badguy/Desktop에서 jjjjammminnn.png와 kiruru.jpg 파일 발견jjjjammminnn.png에서 거래 날짜 0A.0A 확인3. 사진에서 가려진 부분이 있음.HxD로 파일 오픈 하니 zip 파일의 헤더 시그니처인 50 4B 03 04와 푸터 시그니처인 50 4B 05 06 발견→ (ZIP 파일 추출, ZIP 파일 내부에서 키루루의 가계부 엑셀 파일 발견)4. 엑셀 파일 내부를 보면 8행과 F열이 숨겨져 있는 것을 볼 수 있다.숨기기 취소를 하고 전체 셀을 선택 후 글자색을 검정색으로 바꾸면 00000이라는 금액을 확인할 수 있다. 가계부에 적힌 금액이기에 거래 금액임을 확인 가능하다.5.  kir..

CTF 2024.06.11

백준_문자열 (27866, 2743, 9086, 11654, 11720)

1. 문자와 문자열 27866문제단어 s와 정수 i가 주어졌을 때, s의 i번째 글자를 출력하는 프로그램을 작성하시오.입력첫째 줄에 영어 소문자와 대문자로만 이루어진 단어 s가 주어진다. 단어의 길이는 최대 1000이다.둘째 줄에 정수 i가 주어진다. (1≤𝑖≤|𝑆|)출력s의 i번째 글자를 출력한다.string=input()list_s=list(string)num=int(input())print(list_s[num-1])2. 단어 길이 재기 2743문제알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오.입력첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다.출력첫째 줄에 입력으로 주어진 단어의 길이를 출력한다.string=input..

백준 2024.06.08

백준_1차원 배열(10813, 5597, 3052, 10811, 1546)

1. 공 바꾸기 10813문제도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다.도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다.공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오.입력첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다.둘째 줄부터 M개의 줄에 걸쳐서 공을 교환할 방법이 주어진다. 각 방법은 두 정수 i j로 이루어져 있으며, i번 바구니와 j번 바구니에 들어있는 공을..

백준 2024.06.07

백준_1차원 배열 (10807, 10871, 10818, 2562, 10810)

1. 개수 세기 10807문제총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.입력첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거나 같으며, 100보다 작거나 같다.출력첫째 줄에 입력으로 주어진 N개의 정수 중에 v가 몇 개인지 출력한다.n = int(input())n_list=list(map(int, input().split()))v=int(input())print(n_list.count(v))2. x보다 작은 수 10871문제정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 ..

백준 2024.06.07

백준_반복문 (11021, 11022, 2438, 2439, 10952, 10951)

7. A+B-7 11021문제두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 출력각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. a= int(input())for i in range(a): b, c=map(int, input().split()) print("Case #"+str(i+1)+":", b+c)8. A+B-8 11022문제두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이..

백준 2024.06.04

백준_반복문 (2739, 10950, 8393, 25304, 25314, 15552)

1. 구구단 2739문제N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.입력첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.출력출력형식과 같게 N*1부터 N*9까지 출력한다. a=int(input())for i in range(1, 10): print (a, "*", i, "=", a*i)2. A+B-3 10950문제두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.입력첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 출력각 테스트 케이스마다 A+B를 출력한다.a = int(input())for i in range(a):..

백준 2024.06.04

백준_조건문 (1330, 9498, 2753, 14681, 2884, 2525, 2480)

1. 두 수 비교하기 1330문제두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.입력첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다.출력첫째 줄에 다음 세 가지 중 하나를 출력한다.A가 B보다 큰 경우에는 '>'를 출력한다.A가 B보다 작은 경우에는 'A와 B가 같은 경우에는 '=='를 출력한다.a,b = map(int, input().split())if a>b: print(">")elif a  2. 시험 성적 9498문제시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.입력첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거..

백준 2024.06.04

[드림핵_포렌식] Reversing Basic Challenge #1

링크 : https://dreamhack.io/wargame/challenges/15 rev-basic-1Reversing Basic Challenge #1 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io문제 설명이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다.해당 바이너리를 분석하여 correct를 출력하는 입력값을 알아내세요.획득한 입력값은 DH{} 포맷에 넣어서 인증해주세요.예시) 입력 값이 Apple_Banana일 경우 flag는 DH{Apple_Bana..

CTF 2024.05.20

[드림핵_포렌식] Reversing Basic Challenge #0

링크 : https://dreamhack.io/wargame/challenges/14 rev-basic-0Reversing Basic Challenge #0 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io문제 설명이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다.해당 바이너리를 분석하여 correct를 출력하는 입력값을 찾으세요!획득한 입력값은 DH{} 포맷에 넣어서 인증해주세요.예시) 입력 값이 Apple_Banana일 경우 flag는 DH{Apple_Banan..

CTF 2024.05.20

[Cheat Engine Tutorial] 치트엔진 튜토리얼 5번

코드 파인더 기능을 설명 함 때때로 변경 사항에 따라 value의 위치는 저장 됨 - 게임 다시 시작할때나 게임 중이더라도 위 경우에도 2가지를 사용해 작동하는 테이블을 만들 수 있음1. address를 찾는다.  2. address를 찾기 - > 주소를 오른쪽 버튼으로 클릭 -> "Find out what writes to this address" 선택 -> 빈 목록이 표시 됨 3. 튜토리얼 화면에서 Change value button 클릭 -> 치트 엔진에 어셈블러 코드가 있는 주소가 있을거임 -> 클릭 -> Replace 옵션 선택 -> 아무것도 하지 않는 코드로 대체 될거임 -> Advanced Options 창에 있는 코드 목록에 코드 주소가 추가 4. stop를 클릭 -> 게임이 다시 정상적으..

게임 핵 분석 2024.05.19
728x90