본문 바로가기

분류 전체보기245

[Dream hack] ex-reg-ex https://dreamhack.io/wargame/challenges/834 ex-reg-exDescription 문제에서 요구하는 형식의 문자열을 입력하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다.dreamhack.io답서버 생성하고 웹에 접속해보면이런 화면이 나온다.문제에서 요구하는 문자열을 입력해서 flag를 출력하게 해야한다.이 화면에는 힌트가 없으니 파일을 다운받아서 코드를 본다. python 코드에서 이 부분을 찾을 수 있다.이 정규표현식을 분석해서 알맞는 문자열을 만들어야 한다. dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+ 1. 정규 표현식 분석'dr': 문자열 'dr'을 매치한다.'\w{5,7}': 다.. 2025. 3. 3.
[Dream hack] 64se64 https://dreamhack.io/wargame/challenges/872 64se64Description "Welcome! 👋"을 출력하는 html 페이지입니다. 소스 코드를 확인하여 문제를 풀고 플래그를 획득하세요. 플래그 형식은 DH{...} 입니다.dreamhack.io답파일을 다운 받고 열면이런 창이 뜨는데 여기서 소스코드를 본다. Welcome! ?? 그러면 이런 코드가 나타나는데여기서 'input'의 'value'값이 'base64'로 인코딩 되어 숨어있다. 이걸 'base64'로 디코딩 해주면#!/usr/bin/env python3asc=[68, 72, 123, 98, 101, 48, 52, 54, 98, 55, 53, 50, 50, 97, 97, 50, 101, 50,.. 2025. 3. 2.
[백준] 2588번 곱셈(python) https://www.acmicpc.net/problem/2588 2588번: 곱셈첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.www.acmicpc.net답a=int(input())b=input()an1=a*int(b[2])an2=a*int(b[1])an3=a*int(b[0])an=a*int(b)print(an1,an2,an3,an,sep="\n")a에 정수형을 입력받아주고b는 문자로 입력받아준다. an1에는 a와 b의 1의 자리수를 곱한값을 넣어준다.an2에는 a와 b의 10의 자리수를 곱한값을 넣어준다.an3에는 a와 b의 100의 자리수를 곱한값을 넣어준다.an에는 a와 b를 곱한 값을 넣어준다. 마지막으로 출력해준다.   참고python 에서 여러게를.. 2025. 3. 2.
[호출 규약] cdecl cdecl인자 정달 방식:'cdecl'에서는 인자를 스택을 통해 전달한다. 이때 인자들은 호출이 이루어지기 전에 스택에 push 되느넫마지막 인자부터 첫 번째 인자 순으로 거꾸로 push 된다. 사용하는 이유:호환성 보장: 다양한 컴파일러나 다른 호출 규약을 사용하는 시스템간의 호환성을 보장하기 위해 사용한다.쉽게 말해 어떤 시스템에서는 기본 호출 규약이 cdecl이 아닐 수도 있다.명시적 정의: 명시적으로 cdecl을 사용함으로써, 다름 사람이 코드를 이해하는데 도움을 준다. 예시int __attribute__((cdecl)) sum(int a, int b) { return a + b;}  참고앞에 __attribute__가 붙는 이유Microsoft Visual C++ 같은 컴파일러에선 'voi.. 2025. 3. 2.
[Assembly] c언어 코드를 어셈블리어로 변환하여 파일에 저장 1. 필요한 것GCC(GNU Compiler Collection) 컴파일러가 설치되어 있어야 한다.GCC는 Linux, maxOS, windows 등 대부분의 운영체제에서 사용할 수 있다. 2. 명령어GCC 컴파일러를 사용하여 c언어 코드를 어셈블리 코드로 변환하고자 할 때 아래 명령어를 사용한다.gcc -o [출력파일] [입력파일].c -m32 -S'gcc':GNU Compiler Collection의 약자로 여러 프로그래밍 언어의 컴파일을 지원하는 컴파일러 도구 모음 이다.'-o [출력파일]':컴파일된 결과물의 파일의 이름을 지정한다. '[출력파일]'부분에 웧나는 파일 이름을 입력한다.예를 들어 '-o program' 이라고 하면 결과물은 'program' 또는 'program.s'가 이름이다.'[입.. 2025. 3. 2.
[백준] 2377번 Pottery(언어제한) https://www.acmicpc.net/problem/2377답PRINT " _________"PRINT " \_ _/"PRINT " \ /"PRINT " | |"PRINT " / \"PRINT " / \"PRINT " | |"PRINT "/---------\"PRINT "| \-/ \-/ |"PRINT "\---------/"PRINT " \_______/" 출력한다.참고https://iloveprogramming.tistory.com/177 [FreeBASIC] 출력하기FreeBASIC 출력기본 사용법텍스트 출력: 큰따옴표("")로 둘러싸인 텍스트를 출력한다.(화면에 '안녕하세요!"를 출력한다.)PRINT "안녕하세요!"변수 값 출력: 변수에 저장된 .. 2025. 3. 2.