링크 www.acmicpc.net/problem/2420 2420번: 사파리월드 첫째 줄에 두 도메인의 유명도 N과 M이 주어진다. (-2,000,000,000 ≤ N, M ≤ 2,000,000,000) www.acmicpc.net 풀이 두 유명도 N, M이 주어지고, 그 차..
링크 www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 풀이 8진수를 2진수로 변환하는 코드를 작성해야 한다. 8..
링크 www.acmicpc.net/problem/17496 17496번: 스타후르츠 1, 11, 21, 31, 41 일에 스타후르츠 씨앗을 심으면 됩니다. 51일에 심으면 61일에 수확이 가능한데 여름은 60일까지 이므로 61일에는 수확할 수 없습니다..
링크 www.acmicpc.net/problem/16170 16170번: 오늘의 날짜는? 지금 시각을 UTC+0(세계 표준시)을 기준으로 나타냈을 때의 연도, 월, 일을 한 줄에 하나씩 순서대로 출력한다. www.acmicpc.net 풀이 한국은 UTC+9..
링크 www.acmicpc.net/problem/15894 15894번: 수학은 체육과목 입니다 성원이는 수학을 정말 못 하는 고등학생이다. 수학을 못하는 대신 근성과 팔 힘이 뛰어난 성원이는 수학 시험에서 수학 지식을 사용하지 않..
링크 www.acmicpc.net/problem/15727 15727번: 조별과제를 하려는데 조장이 사라졌다 3학년 1학기를 재학 중인 성우는 ‘빨간눈 초파리의 뒷다리 털의 개수와 파인애플 껍질의 이해’라는 과목을 수강 중이다. 기..
링크 www.acmicpc.net/problem/14652 14652번: 나는 행복합니다~ 첫째 줄에 관중석의 크기를 나타내는 N, M과 잃어버린 관중석 번호를 나타내는 K가 주어진다. (1 <= N, M <= 30,000, 0 <= K <= N*M-1) www.acmicp..
링크 www.acmicpc.net/problem/8437 8437번: Julka Wejście składa się z dwóch wierszy. Pierwszy wiersz zawiera liczbę wszystkich jabłek posiadanych przez dziewczynki, natomiast drugi - liczbę m..
링크 www.acmicpc.net/problem/8370 8370번: Plane In the first and only line of the standard input there are four integers n1, k1, n2 and k2 (1 ≤ n1, k1, n2, k2 ≤ 1 000), separated by single..
링크 www.acmicpc.net/problem/6749 6749번: Next in line You know a family with three children. Their ages form an arithmetic sequence: the difference in ages between the middle child and youngest chi..
링크 www.acmicpc.net/problem/2475 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가..
링크 www.acmicpc.net/problem/2338 2338번: 긴자리 계산 첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A×B를 출력한다. 각각을 출력할 때, 답이 0인 경우를 제외하고는 0으로 시작하게 해서는 안 된다(1을 01로 출..
링크 www.acmicpc.net/problem/1550 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정..
링크 www.acmicpc.net/problem/1271 1271번: 엄청난 부자2 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수) www.acmicpc.net..
링크 www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 풀이 3XN 크기의 벽을 2X1, 1X2 크기의 타일로 채우..
링크 https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 풀이 x, y의 좌표를 받아서 어느 사분면에 속하는지 알아내는..
링크 https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에..
링크 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다. (..
링크 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만,..
링크 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를..
링크 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만..
링크 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자...
링크 https://www.acmicpc.net/problem/1065 풀이 N이 1,000보다 작거나 같은 자연수이기 때문에 1,2,3자리수만 고려하면 됩니다. 1,000은 한수가 아니기 때문이죠. 여기서 1자리수 2자리수는 모두 한수이기 때문..
우와~ 국어랑 수학을 받게 되어 기쁘네요! 마지막 교과 우수상이라 그런지 조금 아쉽긴 하지만 그래도 좋네요
링크 https://www.acmicpc.net/problem/3047 풀이 A < B < C 라는 대소관계를 정해놓고 입력 받은 세 수를 A, B, C의 순서에 맞게 출력하는 문제입니다. 예제를 보면 ABC이기 때문에 1 3 5의 순서로 출력된 것을..
링크 https://www.acmicpc.net/problem/5585 풀이 큰 액수부터 지불할 수 있는지 검사하면서 count 해주시면 됩니다. 코드 //5585_거스름돈 #include int n, cnt, i, arr[6] = {500,100,50,10,5,1}; int main() {..
링크 https://www.acmicpc.net/problem/11399 풀이 보시면 한 ATM 밖에 이용하지 못하는 상황입니다. 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 찾는 문제입니다. 각 사람이 돈을 인출하는데 걸리..
링크 https://www.acmicpc.net/problem/16433 풀이 한 위치에 당근이 심어져 있고, 당근이 심겨 있는 땅의 변을 공유하는 칸들에는 당근을 심을 수 없습니다. 이때 최대한 많은 당근을 심었을 때 밭의 모양을 출..
링크 https://www.acmicpc.net/problem/10988 풀이 팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말합니다. 저는 앞에서 뒤로 이동하는 커서와 뒤에서 앞으로 이동하는 커서가 가리키고 있는 문..
링크 https://www.acmicpc.net/problem/5598 풀이 카이사르 단어를 원래 단어로 고쳐 출력하는 문제입니다. 저는 ABC는 XYZ로(+23) 나머지는 -3해서 출력하는 방식을 사용했습니다. 하지만 파이썬에는 translate..
링크 https://www.acmicpc.net/problem/2231 풀이 가장 작은 생성자를 출력하는 문제이고 없는 경우에는 0을 출력해야 합니다. N이 1,000,000까지입니다. i를 0부터 증가시켜주면서 생성자를 찾으면 출력하고 빠..
링크 https://www.acmicpc.net/problem/1316 풀이 같은 문자가 한 단어 내에서 떨어져서 존재하면 안 됩니다. 쭉 훑으면서 이미 나왔던 문자인지 체크하는 배열을 만들어 줍니다. 그 배열을 arr이라고 한다면 !ar..
링크 https://www.acmicpc.net/problem/3052 풀이 10개의 숫자가 입력되고 42로 나누었을 때, 서로 다른 나머지의 개수를 출력하는 문제입니다. 입력 받았을 때 arr[입력된 숫자 % 42]++; 이렇게 해주면 arr에 카..
링크 https://www.acmicpc.net/problem/10757 풀이 숫자를 자릿수마다 배열에 담습니다. 반복문을 이용해서 한 자리씩 계산해줍니다. 여기서 carry bit를 만들어서 받아올림을 구현해줍니다. 마지막에 출력해줍니..
링크 https://www.acmicpc.net/problem/14490 풀이 동아리 선배를 문제에서 만날 수 있어서 좋았던 문제입니다. n:m 받는 방법 -> scanf("%d:%d", &n, &m); gcd 함수를 정의해서 최대공약수를 구해줍니다. (유클..
링크 https://www.acmicpc.net/problem/2164 풀이 이 문제를 보고 자료구조 deque가 생각났습니다. 문제 그대로 시뮬레이션 해주면 됩니다. 코드 //2164_카드2 #include #include using namespace std; deque d;..
링크 https://www.acmicpc.net/problem/2312 풀이 2~100,000의 수를 소인수분해 하는 프로그램입니다. 저는 2~100,000까지의 소수를 구하고 그 소수들로 n을 1이 될 때까지 나누어 소인수 분해를 했습니다. 코드..
링크 https://www.acmicpc.net/problem/1074 풀이 Z가 많이 그려져 있습니다. 이렇게 $2^{n}$를 기준으로 4등분 해서 (r,c)가 어디 있는지 알아냅니다. 분할 정복 알고리즘으로 크게 4등분으로 쪼개고 더 잘게..
링크 https://www.acmicpc.net/problem/1436 풀이 6이 연속으로 3번 이상 들어간 수를 찾는 문제입니다. 1부터 시작해서 증가시키며 종말의 숫자를 찾으면 됩니다. 종말의 숫자를 찾는 방법은 다음과 같습니다...
링크 https://www.acmicpc.net/problem/1018 풀이 8*8짜리 부분을 선택하고 체스판으로 만들면 되는 문제입니다. n, m은 50이하이고 자른 체스판은 8*8이기 때문에 모든 수를 고려해도 50*50*8*8로 시간 초과가..
링크 https://www.acmicpc.net/problem/11365 풀이 string을 받고 뒤집어 출력하면 됩니다. algorithm 헤더에 있는 reverse() 함수를 사용해서 문제를 해결했습니다. 코드 //11365_!밀비 급일 #include #include..
링크 https://www.acmicpc.net/problem/1476 풀이 우리가 알고 있는 연도를 y년이라고 합니다. y는 15n + E, 28m + S, 19l + M으로 나타낼 수 있습니다. (n, m, l은 0 이상의 정수) 따라서 y에서 E를 뺀 것이 15..
팀원들 도움을 많이 받아서 전년도와 같이 모의 해킹 방어 대회에서 은상을 수상할 수 있었습니다! 감사합니다!!
과목 우수상을 4과목 수상하게 되어 기쁘네요 하지만 일반 교과가 부족한 게 조금 아쉬움으로 남습니다ㅠㅠ 감사합니다!!
정보보호과로 바뀐만큼 정보보호 관련 대회가 1년에 2개 있는 게 바람직합니다. 너무 좋아요ㅎㅎ!
와! 금상 처음 받아본다
수행평가로 만든 그림판에 채우기 기능을 구현하고 싶었습니다. 주요 소스코드는 아래와 같습니다. flood fill로 왼쪽, 오른쪽, 위쪽, 아래쪽 모두 탐색하면서 색을 칠해나갑니다. paint 함수는 이렇게 정의되어..
5532_방학 숙제 링크 https://www.acmicpc.net/problem/5532 풀이 방학 기간 - max(수학 푸는 데 걸리는 시간, 국어 푸는 데 걸리는 시간) OO 푸는 데 걸리는 시간 = 총량 / 하루 최대량 + (총량 % 하루 최대량 !..
2336_굉장한 학생 링크 https://www.acmicpc.net/problem/2336 풀이 시험을 3번 치룹니다. 어떤 학생보다 대단한 학생이 없어야 그 학생이 굉장한 학생입니다. 학생은 1~N 순서대로 번호가 부여되기 때문에, 첫..
사이버 가디언즈 리그 워크숍에 다녀왔습니다! 호텔 뷔페식 선린이 1등해서 자랑스럽고 다른 참가자들도 수고하셨습니다
16435_스네이크버드 링크 https://www.acmicpc.net/problem/16435 풀이 과일의 개수가 별로 안 되기 때문에 while + for로 먹을 수 있는 과일을 찾고, 다 탐색했을 때도 길이가 변하지 않는다면 break 하면 됩니..
16431_베시와 데이지 링크 https://www.acmicpc.net/problem/16431 풀이 베시는 대각선으로도 이동할 수 있습니다. 베시가 존과 가로로 떨어져 있는 만큼을 a, 세로로 떨어져 있는 만큼을 b라고 했을 때, 존이 이..
16507_어두운 건 무서워 링크 https://www.acmicpc.net/problem/16507 풀이 http://jaemin8852.tistory.com/194 - 2차원 배열의 합 이 문제와 유사한 방법으로 풀 수 있습니다. (1,1)부터 (n,m)까지의 합을..
16504_종이접기 링크 https://www.acmicpc.net/problem/16504 풀이 종이를 계속 접어서 겹치는 부분을 더해서 마지막 남는 수를 출력하는 문제입니다. 조건을 보시면 2의 m승으로 입력이 주어집니다. 반으로 계..
1138_한 줄로 서기 링크 https://www.acmicpc.net/problem/1138 풀이 자기가 줄을 서는 사람의 입장이 되봅시다. 작은 사람부터 세운다고 생각하면 그 이후에 들어오는 사람들은 다 현재 사람보다 큰 사람이기 때..
1940_주몽 링크 https://www.acmicpc.net/problem/1940 풀이 재료들은 각각 고유한 번호를 가지고 있습니다. 시간 제한이 2초고 N이 15000이니 N^2으로 풀 수 있습니다. 이중 포문의 범위를 잘 지정해, 더해서 m..
2153_소수 단어 링크 https://www.acmicpc.net/problem/2153 풀이 소문자인지 대문자인지 철자별로 판별 후, 소문자면 (‘a’ – 1)을 빼고, 대문자면 (‘A’ – 27)을 빼면 됩니다. 그렇게 합을 구한 후, 소수..
1267_핸드폰 요금 링크 https://www.acmicpc.net/problem/1267 풀이 영식은 t만큼 통화했을 때 10*(t/30+1)만큼 청구됩니다. 민식은 t만큼 통화했을 때 15*(t/60+1)만큼 청구됩니다. 이를 이용해서 출력 형식에..
1712_손익분기점 링크 https://www.acmicpc.net/problem/1712 풀이 손익분기점을 찾으려면 다음과 같은 식을 세울 수 있습니다. a + b*ans < c*ans 정리해보면 a < (c-b)*ans 그럼 a/(c-b) < ans가 나오는데요. a..
2903_중앙 이동 알고리즘 링크 https://www.acmicpc.net/problem/2903 풀이 너무 깊게 생각하지 말고 점이 일정한 간격을 두고 채워져 있기 때문에 점을 이용해서 면적을 구한다고 생각해봅시다. 사각형들은 정사..
1919_애너그램 만들기 링크 https://www.acmicpc.net/problem/1919 풀이 애너그램은 철자를 굉장히 중요하게 생각합니다. 그렇기 때문에 영단어를 철자로 나누어 기록합니다. 그 후, 소문자만 들어오기 때문에 a~..
3015_오아시스 재결합 링크 https://www.acmicpc.net/problem/3015 풀이 우선 스택을 사용해서 사람들을 내림차순으로 나열하고(같은 수도 포함), 이전보다 더 큰 수가 들어오면 스택을 지워나가며 ans를 구합니..
6549_히스토그램에서 가장 큰 직사각형 링크 https://www.acmicpc.net/problem/6549 풀이 이 문제는 스택을 이용해서 풀 수 있는 문제입니다. 각 칸에서 왼쪽과 오른쪽으로 각각 어느 칸까지 뻗어 나갈 수 있는지..
2493_탑 링크 https://www.acmicpc.net/problem/2493 풀이 각 레이저가 왼쪽으로 얼마나 뻗을 수 있는지 체크하기 위해서 스택을 사용해 풀 수 있습니다. 이 문제에서는 내림차순 스택을 사용하면 되는데요. 시작..
16204_카드 뽑기 링크 https://www.acmicpc.net/problem/16204 풀이 O가 적혀 있는 카드가 M개, 내가 O를 적은 카드가 K개라고 한다면, K가 M보다 많을 때 M개 맞힐 수 있고, 그렇지 않을 때는 K개 맞힐 수 있습..
2355_시그마 링크 https://www.acmicpc.net/problem/2355 풀이 처음에 부호 고려해서 상쇄되는 부분 잘라내고 했는데, 그냥 long long으로 두고 n(a+l)/2로도 풀리는 문제였습니다. 첫째 항과 마지막 항은 대소비..
1297_TV 크기 링크 https://www.acmicpc.net/problem/1297 풀이 너비 높이 비율을 이용해서 피타고라스로 대각선 비율 구하고, 대각선 비율과 실제 대각선 길이를 비교하여 너비와 높이를 찾아내면 됩니다. 코드..
9506_약수들의 합 링크 https://www.acmicpc.net/problem/9506 풀이 자신을 제외한 약수를 반복문으로 구한 뒤 더해서 완전수이면 약수들의 합으로 나타내어 출력합니다. 완전수인지 판별, 출력 이렇게 반복문 두..
1629_곱셈 링크 https://www.acmicpc.net/problem/1629 풀이 b가 21억까지기 때문에 곱하고 나머지 구하기를 반복하다 보면 시간을 초과하게 됩니다. 그래서 지수법칙을 이용하기로 했습니다. 제곱한 걸 다시 제..
1964_오각형, 오각형, 오각형… 링크 https://www.acmicpc.net/problem/1964 풀이 단계마다 더 추가되는 점들에 집중하면 됩니다. 우선 1단계에서 5개가 추가됩니다. 그리고 그 단계에서는 동그라미로 표현한 꼭..
2864_5와 6의 차이 링크 https://www.acmicpc.net/problem/2864 풀이 모든 6을 5로 헷갈렸을 때 최솟값을, 모든 5를 6으로 헷갈렸을 때 최댓값을 갖습니다. A와 B가 양수이기 때문이죠. 문자열 변환만 잘 처리해..
이 대회를 준비하면서 귀한 경험들을 하였습니다. 수고한 팀원들에게 고맙다는 말을 전해주고 싶습니다!
1100_하얀 칸 링크 https://www.acmicpc.net/problem/1100 풀이 8*8의 체스판을 입력 받으면서 i%2가 0일 때, j%2도 0이면 하얀 칸, i%2가 1일 때, j%2도 1이면 하얀 칸이라는 것을 이용해서 풀면 됩니다. 코드 1..
웹프_정의어, 조작어, 제어어 조사 정의어(DDL) - 정의(뜻, 목적) SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용한다. 주로 데이터베이스 관리자나 데이터베이스 설계자가..
1076_저항 링크 https://www.acmicpc.net/problem/1076 풀이 세 색을 각각의 값으로 변환해줍니다. 그리고 앞의 두 값을 first*10 + second 한 후 10^third를 곱해주면 됩니다. 코드 1 2 3 4 5 6 7 8 9 10 11 12..
1075_나누기 링크 https://www.acmicpc.net/problem/1075 풀이 뒤 두 자리를 적절히 바꿔서 나누어 떨어지게 만든다. 가능한 것이 여러 가지면, 뒤 두자리를 가능하면 작게 만드려고 한다. (가능한 경우가 없을..
1012_유기농 배추 링크 https://www.acmicpc.net/problem/1012 풀이 문제는 최소의 배추흰지렁이 마리 수를 요구합니다. 배추흰지렁이는 상하좌우 네 방향으로만 생각해야하기 때문에 dx배열과 dy배열을 만들어줍..
11497_통나무 건너뛰기 링크 https://www.acmicpc.net/problem/11497 풀이 통나무 건너뛰기의 최소 난이도를 구하는 문제입니다. 난이도는 인접한 통나무의 높이차의 최댓값으로 결정됩니다. 그렇다면 어떻게 통..
15553_난로 링크 https://www.acmicpc.net/problem/15553 풀이 친구들은 집에 1초씩 있다가 나갑니다. 친구들이 오고 가고 하는 동안 난로를 끄고 켜고 하는 것을 다 고려하긴 좀 힘듭니다. 그렇다면 어떻게 쉽게..
1057_토너먼트 링크 https://www.acmicpc.net/problem/1057 풀이 토너먼트이기 때문에 8과 9를 2로 나누면 동일한 4를 갖는 성질을 이용해서 풀 수 있습니다. 만약 1, 2, 3 3명이 경기를 할 때, n인 3+1을 2로..
1049_기타줄 링크 https://www.acmicpc.net/problem/1049 풀이 브랜드마다 6개 세트의 가격, 낱개의 가격이 주어지고 최소 가격으로 구매할 방법을 찾는 문제입니다. 그렇다면 6개 세트의 가격, 낱개의 가격이 모..
1032_명령 프롬프트 링크 https://www.acmicpc.net/problem/1032 풀이 우선 예제를 보면 문제를 더 쉽게 이해할 수 있습니다. 최소한의 '?'를 사용해서 나타내야 합니다. 그러면 모든 문장의 i번째 문자가 다 같..
1026_보물 링크 https://www.acmicpc.net/problem/1026 풀이 배열의 원소의 곱의 합의 최솟값을 구해야 합니다. 그렇다면 큰 수는 작은 수와 곱해서 더하는 방식으로 구현하면 됩니다. B에 있는 수는 재배열이 안..
1009_분산처리 링크 https://www.acmicpc.net/problem/1009 풀이 문제를 읽어보면 수의 마지막 자리만 알아내면 됩니다. 항상 a^b로 주어지니 b를 1씩 줄이면서 a를 곱하고 10으로 나눈 나머지를 구하면 됩니다...
1002_터렛 링크 https://www.acmicpc.net/problem/1002 풀이 이 문제는 GPS 원리를 이용한 문제입니다. 2차원 평면이기 때문에 원래 3개의 터렛이 존재한다면 위치를 구할 수 있겠지만, 2개의 터렛만 있습니다...
서구 교과서 내용 교과서(52p~56p) MS-DOS/Windows 9.X 기반 1. Windows 1.0 1985년에 발표됨. MS-DOS 명령을 입력하는 대신 화면 또는 창에서 마우스만 이용하여 원하는 작업을 클릭하기만 하면 됨. 드롭..
1. iptables 테이블 종류와 각 역할. - 테이블은 패킷 필터링이나 네트워크 주소 변환과 같은 iptables에서 제공하는 기능의 큰 범주를 기술하는 말로서 “iptables의 구성 요소 정도의 의미로 이해하면 된다.” -..
이렇게 해결할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 public class ClassName { private static ClassName instance; private ClassName () {} public static Clas..
https://play.google.com/store/apps/details?id=com.company.stack.mokkozi 우리의 소원은 통일, 꿈에도 소원은 통일. 말로만 들어도 가슴이 벅차오르는 단어, 통일! 하지만 이렇게 가슴 설레는 통일을 당장 맞이..
조금만 더 생각했으면 은상 탈 수 있었는데 아쉽습니다ㅜㅜ 그래도 이렇게 상을 받아서 너무 기분이 좋네요! (한국 아시안게임 축구 금메달!)
감사합니다 (한국 아시안게임 축구 금메달!)
2167_2차원 배열의 합 링크 https://www.acmicpc.net/problem/2167 풀이 DP[i][j] (1 <= i, j <= 300)을 구간 [1, 1] ~ [i, j]의 합이라고 정의합니다. DP[1][4]입니다. DP[3][2]입니다. 그렇다면 DP[i][j]를..
작년에 같은 팀으로 힘겹게 본선 올라와서 6등까지 상인데 7등을 했었다. 그 때는 정말 아쉬웠다ㅜㅜ 올해는 이렇게 상을 탈 수 있어서 만족스럽다. (물론 조금 더 집중했다면 은상까지 노려볼 수 있지 않았나 싶..
9465_스티커 링크 https://www.acmicpc.net/problem/9465 풀이 만약 별에서 시작했다면 1이나 2를 갈 수 있습니다. 하지만 2는 1을 거쳤다 갈 수 있기 때문에 1로 가야합니다. 이 상황도 마찬가지로 1로 가는..
1149_RGB거리 링크 https://www.acmicpc.net/problem/1149 풀이 집 i의 이웃은 집 i-1과 i+1이고, 이웃은 같은 색으로 칠할 수 없습니다. DP[i][j] (집 i를 j색으로 칠했을 때까지의 최소 비용, j = 0 R, 1 G, 2..
1764_듣보잡 링크 https://www.acmicpc.net/problem/1764 풀이 STL의 map을 사용하면 python의 dictionary처럼 사용할 수 있습니다. 듣보잡 문제처럼 문자열을 인덱스로 사용해야 할 때, 아주 유용하게 사용할 수..
2075_N번째 큰 수 링크 https://www.acmicpc.net/problem/2075 풀이 오름차순 priority_queue를 이용해서 정렬해주면 됩니다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28..
10799_쇠막대기 링크 https://www.acmicpc.net/problem/10799 풀이 이 문제는 Stack을 사용해서 풀 수 있습니다. 일단 쇠막대기의 오른쪽 끝과 레이저를 구분해서 두 가지의 경우로 나누어 풀면 됩니다. 여는 괄..
9012_괄호 링크 https://www.acmicpc.net/problem/9012 풀이 괄호 문제는 Stack으로 구현할 수 있습니다. 여는 괄호를 push, 닫는 괄호를 pop이라고 생각해줍니다. pop을 하기 전에 empty 체크를 해서 비어 있는..
10845_큐 링크 https://www.acmicpc.net/problem/10845 풀이 하나하나 사용해주면 됩니다. 코드 주석으로 설명하겠습니다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29..
10828_스택 링크 https://www.acmicpc.net/problem/10828 풀이 기능 하나하나 구현해주면 됩니다. 설명은 코드 주석에 있습니다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27..
[LeagueOfGuardians 2] Return to Life 64bit, No canary, NX enabled puts로 libc_base leak 후 one_shot gadget으로 돌리면 됩니다. leak 하고 나면 chaning이 끝나니 main으로 다시 돌아와서 exploit 해야합..
[LeagueOfGuardians 2] register_you 바이너리는 64bit고 NX가 걸려있습니다. v6에 malloc으로 동적 할당을 하고 v6 + 3 (v6은 *형이고 64bit이기 때문에 +3은 +24임)에 hello 함수를 넣습니다. 즉, v6 + 3은 함..
[LeagueOfGuardians 2] EnteredFLAG 64bit 바이너리입니다. 입력을 받고 아무 출력을 하지 않고 꺼집니다. 사실 이 문제는 팀원들이 “angr 문제다”라고 하자마자 잡은 문제입니다. 어제 이 대회를 준비하면서..
[LeagueOfGuardians 2] FOR 바이너리는 32bit이고 NX가 걸려있습니다. main은 간단합니다. WriteReview 함수에 취약점이 있을 것 같네요. BOF 취약점이 발생합니다. s에 0x6C(108) + 4(SFP)만큼 dummy를 넣어..
11651_좌표 정렬하기 2 링크 https://www.acmicpc.net/problem/11651 풀이 좌표를 먼저 y 좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순으로 정렬하는 문제입니다. 우선 좌표를 표현하기 좋은 자..
11650_좌표 정렬하기 링크 https://www.acmicpc.net/problem/11650 풀이 좌표를 먼저 x 좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순으로 정렬하는 문제입니다. 우선 좌표를 표현하기 좋은 자료..
1181_단어 정렬 링크 https://www.acmicpc.net/problem/1181 풀이 sort() 함수의 세 번째 인자에 들어갈 compare 함수의 정의가 필요합니다. 첫 번째 조건은 길이가 짧은 것부터, 이 조건은 compare 함수의 인자..
11931_수 정렬하기 4 링크 https://www.acmicpc.net/problem/11931 풀이 수를 내림차순으로 정렬해야 합니다. sort(arr, arr+n) -> 오름차순 정렬. 3번째 인자에 비교 함수를 넣어줘야 합니다. functional 헤더를..
10989_수 정렬하기 3 링크 https://www.acmicpc.net/problem/10989 풀이 오름차순 정렬이지만 N의 범위가 10,000,000입니다. 그렇다면 배열에 담으면 메모리 초과가 나겠네요. 그래서 뒤의 조건인 ‘이 수는 10,0..
2750_수 정렬하기 링크 https://www.acmicpc.net/problem/2750 풀이 수를 오름차순으로 정렬하면 됩니다. N은 1 <= N <= 1000이고, STL sort를 이용해서 정렬한 후 출력하면 됩니다. 코드 1 2 3 4 5 6 7 8 9 10 1..
9251_LCS 링크 https://www.acmicpc.net/problem/9251 풀이 처음에 편의를 위해서 0행과 0열을 0으로 세팅해줍니다. DP[i][j]를 LCS(i까지의 string2, j까지의 string1)라고 정의합시다. LCS로 비교하는 string..
2018 선린인터넷 고등학교 모의해킹 방어대회에서 2위를 하여 은상을 받았습니다. 처음으로 동, 장려상이 아닌 은상을 받게 되어 기쁩니다!!
2156_포도주 시식 링크 https://www.acmicpc.net/problem/2156 풀이1 A[i]를 i번째 포도주의 양, DP[N][L]을 N번째 마신 포도주의 양, 연속 L번째라고 정의하겠습니다. 우선 i번째에 0번 연속으로 먹는다(이번에..
1463_1로 만들기 링크 https://www.acmicpc.net/problem/1463 풀이 우선 DP[N]을 정수 N을 1로 만드는 데 필요한 최소 연산 횟수라고 정의합시다. N은 N-1에서 1을 더해 만들 수 있고, N/2에서 2를 곱해 만들 수..
[Codegate 2016] watermelon 32bit 바이너리이고, Canary와 NX가 걸려있습니다. 바이너리를 실행하면 우선 이름을 입력 받습니다. 그 후 옵션을 입력 받네요. 이름을 scanf %s 입력 제한 없이 bss 영역에 받고..
11052_붕어빵 판매하기 링크 https://www.acmicpc.net/problem/11052 풀이 붕어빵을 N개 팔아서 얻을 수 있는 최대 이익을 DP[N]이라고 정의하고, 붕어빵 N개 팔 때의 가격을 P[N]이라고 정의하겠습니다. 그리고..
오르막 수는 계단 수와 유사합니다. 그 다음 수를 가기 위한 조건이 있기 때문에 마지막 자리를 저장해줘야 합니다. DP[N][10] 이렇게 선언해주면 0~9의 마지막 숫자를 저장해 줄 수 있습니다. 그리고 0으로 시작..
1912_연속합 링크 https://www.acmicpc.net/problem/1912 풀이 간단하게 풀 수 있는 문제입니다. 우선 가장 큰 값을 구해야 하기 때문에 max를 선언합니다. 연속합의 최댓값의 최솟값(-1000)-1로 초기화 합니다...
2193_이친수 링크 https://www.acmicpc.net/problem/2193 풀이 조건을 보면 0으로 시작하지 않고, 1이 연속으로 올 수 없습니다. 그럼 마지막 자리(0, 1)를 담을 수 있는 DP[N][2]를 만든다고 가정합시다. N이 1..
9461_파도반 수열 링크 https://www.acmicpc.net/problem/9461 풀이 그림으로 설명하겠습니다. P1 = 1, P2 = 1, P3 = 1, P4 = 2, P5 = 2, P6 = 3, P7 = 4, P8 = 5, P9 = 7, P10 = 9 빨간색 3은 P6이고 구성은 P5..
2294_동전 2 링크 https://www.acmicpc.net/problem/2294 풀이 위 문제의 예제로 어떻게 풀어낼 수 있을 지 생각해 봅시다. 일단 0을 제외한 모든 배열의 인덱스를 10001로 초기화 해야합니다. 왜냐하면 최솟값을..
2293_동전 1 링크 https://www.acmicpc.net/problem/2293 풀이 일단 k원을 만들 수 있는 경우의 수를 담을 배열 DP[10001]과 가치를 가진 동전을 담을 배열 coin[101]을 만들어 줍니다. 그리고 DP[0]은 동전을 가..
10844_쉬운 계단 수 링크 https://www.acmicpc.net/problem/10844 풀이 잠깐 생각해보면, n-1까지의 계단 수에 어떤 걸 더해서 n까지의 계단 수의 경우의 수를 구할 수 있을 것 같지만 조건이 부족합니다. 계단..
1932_정수 삼각형 링크 https://www.acmicpc.net/problem/1932 풀이 우선 어떤 정수로 올 수 있는 방법을 알아봅시다. 양 끝 대각선에 있는 정수로 올 수 있는 방법은 단 한 가지입니다. 이렇게 말이죠. 그럼 양..
9095_1, 2, 3 더하기 링크 https://www.acmicpc.net/problem/9095 풀이 정수 n을 1, 2, 3의 조합으로 나타내는 방법을 찾아야 합니다. 그 방법은 n-1까지의 조합 + 1과 n-2까지의 조합 + 2와 n-3까지의 조합 + 3..
11727_2xn 타일링 2 링크 https://www.acmicpc.net/problem/11727 풀이 점화식을 세우기 위해서 그림을 그려보겠습니다. 이렇게 되어 2*n까지 타일을 채우는 방법은 f(n-1) + 2*f(n-2)라는 것을 알 수 있습니다..
11726_2xn 타일링 링크 https://www.acmicpc.net/problem/11726 풀이 점화식을 세우기 위해서 그림을 그려보겠습니다. 이렇게 되어 2*n까지 타일을 채우는 방법은 f(n-1) + f(n-2)라는 것을 알 수 있습니다. 점..
[pwnable.kr] Rookiss – fsb 문제는 32bit 바이너리입니다. 코드를 보면, key에 8자리 숫자를 가져옵니다. 그리고 alloca라는 함수를 사용해서 스택에 공간을 할당하고 fsb라는 함수를 호출합니다. fsb 함수..
장학생으로 뽑히게 되어 영광입니다.. 앞으로 더 열심히 하겠습니다!
1152_단어의 개수 링크 https://www.acmicpc.net/problem/1152 풀이 이 문제는 생각보다 정답 비율이 낮습니다. 단어는 공백으로 구분할 수 있고 공백이 연속해서 나오는 경우는 없다고 했기 때문에, 공백의 개수..
14584_암호 해독 링크 https://www.acmicpc.net/problem/14584 풀이 1) 문자열을 1씩 올리면서 문자열에 주어진 단어들이 있는지 탐색합니다. 2) 있으면 문자열을 출력하고 종료. 문자열 탐색 방법 1..
10250_ACM 호텔 링크 https://www.acmicpc.net/problem/10250 풀이 일단 이렇게 사람들이 배정을 받는다는 사실은 눈치 챘을 것입니다. 단순하게 예제만 본다면 402의 4는 10%6이고 뒤에 2는 10/6+1이고, 1203의..
1193_분수찾기 링크 https://www.acmicpc.net/problem/1193 풀이 규칙을 찾아보면 이렇게 된다는 것을 알 수 있습니다. 군수열처럼 이렇게 두고, 군(i)과 항(offset)을 찾아내서 풀면 됩니다. 홀수 군일 때는 i..
고등학교 2학년이 된 후 받은 첫 상입니다.ㅎㅎ 영상 편집을 이거 하면서 처음으로 다뤄봤는데, 퀄리티는 낮지만 성공적으로 마쳐 다행이네요! 스타트 잘 끊었으니 이제 중간고사 잘 보자...ㅎ
[Codegate 2018] catshop 32bit 바이너리이고, Canary와 NX가 걸려있습니다. main 함수의 코드는 이렇습니다. 숫자를 입력 받을 때, scanf %d, 혹은 read로 입력 받은 후 atoi로 변환하는 것이 아니라, 그냥 rea..
[Codegate 2018] DaysNote 바이너리는 32bit이고 보호 기법은 걸려있지 않습니다. 실서버 ASLR 또한 꺼져 있습니다. 연도와 내용을 입력 받습니다. 그리고 CountDays 함수를 통해서 그 연도의 일수를 return 하..
[Codegate 2018] betting 64bit 바이너리이고, canary와 NX가 걸려있습니다. 그리고 바이너리에 기분 좋게 helper라는 쉘을 띄워주는 함수가 있습니다. 보시면 s는 bp-0x20에 있고 입력은 s에 0x28만큼 받습니..
2018.4.4(수) 코드게이트 본선이 열렸습니다. 국제 대회이고 큰 대회여서 기대도 되고 떨리기도 많이 떨렸습니다. (하아 한국 임재민ㅜㅜ) 그리고 코드게이트 후드집업도 받았습니다! 본선은 11시간? 동안 진행..
[pwnable.kr] Rookiss – echo1 64bit 바이너리이고, 보호기법들이 모두 꺼져있는 걸 볼 수 있습니다. 실행을 하면 이름을 입력 받고, 메뉴를 출력합니다. 1번 BOF echo만 사용할 수 있습니다. 1번 menu인 ec..
[pwnable.kr] Toddler’s Bottle – unlink 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 #include #include #include ty..
[securinets CTF 2018] Boobs 이번에 풀어볼 문제는 2018 3 25 ~ 2018 3 26까지 진행되었던 securinets CTF의 pwn 중 가장 높은 배점을 가지고 있는 문제입니다. 바이너리는 32bit입니다. flag를 얻기 위해서는..
[pwnable.kr] Toddler’s Bottle – memcpy 이 문제를 풀기 위해서 어떤 exploit 스킬을 쓰는 게 아닌 것 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32..
[TAMUctf 18] pwn1 32bit 바이너리입니다. gets로 s에 입력 받기 때문에, v5를 0xF007BA11로 덮어줍시다. 그럼 flag가 출력될 것입니다. 1 2 3 4 5 6 7 8 9 10 from pwn import * s = remote("pwn.ctf.tamu..
진행되고 있는 TAMUctf 18 pwn 분야 문제를 다 풀었다. 물론 다 스택 문제지만, 기분이 좋다. 얼른 힙도 공부해야 하는데... 라이트업은 대회가 끝나면 올리도록 하겠습니다.
[OpenCTF 2016] tyro_heap NX가 걸려있는 32bit 바이너리입니다. 이 부분이 main 함수의 중요 기능 부분입니다. create heap object : 힙 오브젝트 생성 malloc으로 36byte 할당해줍니다. 객체는 총 32개를 생성..
[Codegate 2018] BaskinRobins31 ..
상 받았습니다! 종업식에 이런 거 받으니 기분이 좋네요ㅎㅎ
Codegate2018 예선 주니어부가 종료되었습니다. 저는 저 앞에 solver 많은 두 문제를 풀었는데요. 27등으로 마무리 했습니다. 닉네임으로 들어갈 줄 알았는데 팀이름으로 올라가서 조금 당황했습니다ㅠㅠ. 그리..
[codegate_2014] nuclear (이 문제는 예전에 풀다가 놓고 다시 잡은 문제라서 코드나 여러 부분에서 불편함을 느끼실 수 있습니다. 양해 부탁드립니다. ) 바이너리는 이렇습니다. 무슨 문제였을 지는 모르지만,..
[pwnable.kr] Toddler’s Bottle – asm how to make shellcodes… 일단 들어가보면 긴 파일 이름을 가진 flag 파일이 있습니다. 가짜 플래그이고 asm_pwn 디렉터리에도 실제로 저런 이름을 가지고 있다고 합니..
[pwnable.kr] Toddler’s Bottle - uaf UAF (Use After Free) 문제입니다. 코드가 cpp이여서 c++ 공부와 UAF 공부를 했습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2..
[HDCON 2013] luckyzzang Binary는 이렇습니다. canary는 없네요. 포트는 7777번으로 연결해줍니다. 들어가면 MSG를 입력 받고 종료됩니다. 입력 받는 부분을 보면 BOF가 터집니다. 하지만 v2 % 100의 숫자가..
[Codegate 2014] angry_doraemon angry_doraemon 문제입니다. main 함수에서 8888 포트로 연결하네요. 이렇게 6가지의 Attack menu가 나옵니다. 여러 메뉴들을 입력해봤는데, 5. Fist attack에서 r을 입력하면..
[Codegate 2017] babypwn 일단 소켓 연결을 하는데 포트번호를 8181번으로 연결해줍니다. 그리고 바이너리에는 canary와 nx가 걸려있습니다. 들어가보면 Echo 기능은 입력을 받고 그대로 출력하는 것입니다. Re..
i n v i t a t i o n 티스토리 초대장 + 남은 초대장 수 : 00 안녕하세요! 티스토리에 보금자리를 마련하시려는 여러분께 초대장을 배포해 드리려고 합니다. 나만의, 내 생각을, 내 기억을 담는 소중한 블로그를..
<클래스 상속> 이미 정의된 클래스의 멤버를 새롭게 정의할 클래스의 멤버로 참조케 하는 것을 말합니다. 즉, 이미 작성한 클래스의 멤버를 물려받는 것입니다. 부모 클래스/기반 클래스 와 자식 클래스/파생 클래..
사용하기 위해서 #include 을 해야합니다. 파일 출력 클래스 ofstream. 출력할 내용을 파일 객체로 전달하면 됩니다. ofstream 파일출력객체; 파일출력객체.open("출력파일이름"); 파일출력객체 << 출력 내용; 파..
string 클래스는 문자열 클래스이고, 이미 정의되어 있는 클래스입니다. 사용하기 위해서 #include 을 해줘야 합니다. string s_name="임재민"; == string s_name("임재민"); //연산자 오버로딩 덕분에 가능합니다..
객체 자신을 가리키는 포인터입니다. 모든 객체는 this 포인터를 가지고 있습니다. 멤버 함수 내에서 매개변수와 멤버 변수의 이름이 동일할 경우 객체의 멤버 변수임을 명시하기 위해서 사용합니다. 1 2 3 4 5 6..
<객체 포인터> 동일 클래스의 객체 주소를 저장합니다. 객체 포인터의 멤버 참조 연산자는 -> 입니다. (구조체와 동일) 클래스이름 객체; 클래스이름 *객체포인터; 객체포인터 = &객체; 객체포인터 -> 멤버; 이렇..
<소멸자> 객체가 소멸할 때 자동으로 실행되는 함수입니다. 소멸자 이름은 생성자 이름에 "~" 기호를 앞부분에 붙인 형태입니다. ex) ~Student(); //소멸자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2..
<생성자> 생성자는 객체가 생성될 때 자동으로 호출되는 멤버 함수입니다. 클래스 이름과 같아야 하고, 함수의 반환값은 없습니다. public 접근 속성을 가져야 하고, 객체 생성과 동시에 멤버 변수들을 초기화 할..
클래스 정의 -> 객체 생성 클래스는 하나의 추상적 개념체입니다. 실체인 객체를 만들기 위한 틀이죠. 사람이라는 클래스가 있고, 그에 따른 실제 객체인 나, 친구, 엄마 등을 만들 수 있는 것입니다. 그래서 클래..
C언어에서 같은 이름의 함수는 정의하지 못했습니다. 하지만 C++에서는 함수의 이름이 같아도 매개변수를 다르게 하여 함수를 재정의하는 것이 가능합니다. 이게 바로 함수 오버로딩입니다. 매개변수가 다르다는..
함수 선언에서 함수의 매개변수에 초기값을 정하고, 함수 호출에서 매개변수를 전달하지 않았을 경우 초기값으로 함수의 인수 값을 설정해줍니다. 1 2 3 4 5 6 7 8 9 10 11 12 #include using namespace std; vo..
함수는 어떤 기능을 하거나, 어떠한 입력 값을 줬을 때 그에 따른 출력 값을 뱉어내는 것입니다. 반환자료형 함수이름(매개변수){ 함수 내용 } 이렇게 정의합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18..
구조체 태그 : 구조체 식별자 구조체 멤버 : 구조체를 구성하는 항목 구조체를 정의하고 나중에 구조체 변수 선언. struct [태그이름] { 구조체 멤버 선언; }; struct [태그 이름] 변수이름1, 변수이름2; 구조체를..
C언어에서 동적 할당은 malloc(), calloc(), realloc() 등의 함수를 이용해서 공간을 할당해줬습니다. 그리고 free() 라는 함수로 해제해줬습니다. C++에서는 다릅니다. 기억공간 할당 : new 기억공간 해제 : dele..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include using namespace std; int main() { int a = 20, b = 3; double div; div = (double)a / b; ..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include using namespace std; int main() { int num1, num2; cout << "정수1 입력 : "; cin >> num1; cout << "..
C언에서 출력을 하고 싶을 때, 우리는 printf() 함수를 이용했습니다. C++에서는 std::cout을 이용합니다. 헤더 파일은 C++ 헤더인 iostream을 include 해줍니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #..
[PicoCTF-2013] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 #include #include #include char exec_string[20]; void exec_the_string() ..
[pwnable.kr] Toddler’s Bottle - input 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 5..
[PicoCTF-2013] rop3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #undef _FORTIFY_SOURCE #include #include #include void vulnerable_function() { char buf[128]; read(..
[PicoCTF-2013] rop2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #undef _FORTIFY_SOURCE #include #include #include char * not_used = "/bin/bash"; int not_called()..
[PicoCTF-2013] rop1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #undef _FORTIFY_SOURCE #include #include #include int not_called() { return system("/bin/bash");..
[PicoCTF-2013] overflow5 이번에는 NX가 걸려있어서 셸코드를 올려서 실행하는 건 힘들 것 같습니다. vuln 함수입니다. v2의 시작 주소는 ebp-0x40c이고, strcpy 함수의 BOF 취약점으로 인해 return address까..
[PicoCTF-2013] overflow4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include #include #include #include #include "dump_stack.h" /* * Goal: Get the program to ru..
[PicoCTF-2013] overflow3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include #include #include #include #include "dump_stack.h" /* * Goal: Get the pro..
일단 타과 대회에서 상을 탔다는 것만으로도 만족한다. 이래저래 블로그를 관리하는데 내 스펙으로 만들고 싶다는 욕심이 생겨서 열심히 하다보니 상을 탔다. 대회 참가도 가서 블로그 주소만 적고오면 돼서 편했..
서버에 대해 무지했었는데, 대회 때문에 공부하면서 살짝 서버가 뭔지 정도는 깨달은 것 같다. 컴실 컴퓨터 상황이 좋지 않아서 실을 이동하고 해서 불편했지만, 상도 타고 기분이 좋다.
짧은 시간동안 많은 문제를 풀어야 해서 집중했다. 1학기 때 대회 때문에 프로그래밍 경시대회를 못 나갔어서, 더 열심히 했던 것 같다.
while: #include int main(){ int i = 0; while(i < 10){ printf(“Hello\n”); i++; } return 0; } <어셈블리> 원하는 곳 초기화 비교문과 jmp 종속 명령과 증감식 jmp mov 명령으로 int i = 0; 실행. (어셈블리..
[PicoCTF-2013] overflow2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include #include #include #include #include #include "dump_stack.h" void vuln(int win..
교내 대회로 받은 첫 상이다! 대회 하다가 마지막 1시간이 너무 졸려서 먼저 나온 게 아쉽다..
[pwnable.kr] Toddler’s Bottle – leg 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 int main(){ int key=0; printf("Daddy has very strong arm! : "); scanf("%d", &key); ..
i n v i t a t i o n 티스토리 초대장 + 남은 초대장 수 : 00 안녕하세요! 티스토리에 보금자리를 마련하시려는 여러분께 초대장을 배포해 드리려고 합니다. 나만의, 내 생각을, 내 기억을 담는 소중한 블로그를..
[PicoCTF_2013] overflow1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #include #include #include #include #include #include "dump_stack.h" void vuln(int ..
if: ==일 때, cmp로 비교. JNZ로 거짓일 때 점프. !=일 때, cmp로 비교. JE로 거짓일 때 점프. 부호 있을 때: >일 때, cmp로 비교. JLE로 거짓일 때 점프. <일 때, cmp로 비교. JGE로 거짓일 때 점프. >=일 때, cm..
함수 호출 패턴 함수를 호출하는 쪽 : Caller 호출되는 함수 : Callee 인자의 개수, 인자의 타입, 리턴 값을 보면 어떤 함수인지 찾기 쉬움. CALL 명령은 돌아가야할 주소를 stack에 push하고 함수로 jmp한다. __c..
Main Func Arguments int argc, char *argv[], char *envp[] argc - main 함수에 전달되는 인자의 개수 argv - 넣은 문자열의 포인터 배열 envp - 환경 변수 보통 3개의 인자를 넣고 호출하면 main 함수라는 것을..
Window XP를 쓰는 이유 : ASLR이 없기 때문임. Assembly : 기계어와 1대 1 대응. 프로그래밍 언어 중 가장 기계어와 가까움 (저급 언어) OllyDbg code 영역 : 코드가 기계어와 어셈블리 명령으로 보임. Register..
프로그램의 제작 원리 .c -> [compile] -> .obj -> [link] -> .exe 디컴파일 : .exe -> .c 실행 파일을 디버거로 돌려서 소스코드로 복원하는 것. 핸드레이 : 디컴파일을 손으로 하는 것. ALU. 연산 장치. 전기..
[plaidCTF-2013 ropasaurusrex] 32bit binary이고 NX가 걸려있습니다. main 함수에서는 어떤 함수를 호출하고 WIN을 출력합니다. 함수를 따라 들어가보면, bp-0x88에 위치한 buf에 read 함수로 0x100만큼 입력을..
[pwnable.kr] Toddler’s Bottle – coin1 N개의 동전 중 1개의 위조 동전이 껴 있는데, C번의 기회 안에 위조 동전을 알아내야합니다. 처음에는 한 번만 맞추면 되는 줄 알았습니다. 그래서 수작업을 시도..
[pwnable.kr] Toddler’s Bottle – cmd2 cmd1처럼 환경 변수를 사용하지 못 합니다. flag 문자열은 와일드 카드 *을 이용해서 우회하면 되지만, PATH를 바꿔 놓고, /도 필터링합니다. ‘ /bin/cat f* ’ 이렇..
쉘의 환경 변수 '?'를 알아보도록 하겠습니다. '?'라는 환경 변수는 바로 전 프로그램의 return 값을 가지고 있습니다. 보시면 어떤 정수를 return 해주는 함수를 만들었습니다. 그리고 호출할 때마다 '?' 환경..
ltrace로 열어서 아무 문자열이나 넣어주면, 어떤 값과 xor해서 저 문자열이랑 비교합니다. 저 문자열을 복붙해서 다시 넣으면, flag가 나옵니다. ltrace는 leviathan 문제를 겨우 분석해서 풀었는데, ltrace..
level 1 ~ 10 시간을 늘려가면서 Sleep을 때립니다. 여기가 Y/N 받는 부분인데 밑에 일정하게 함수가 있는 걸 보니 Stage인 것 같습니다. Y를 1로 받기 때문에 1을 넣으면 밑에 Stage 함수로 갈 수 있습니다...
기대를 안고 문제를 풀기 시작했습니다. main 함수 소스입니다. String을 봤는데 “/bin/sh”도 있습니다. 막 찾던 도중, 여기서 쓰이는 걸 발견했습니다. 다시 main함수를 보면 buf를 0x30(48)byte만큼 잡고..
[제 1회 서울디지텍고등학교 청소년 해킹방어대회 후기] 157명이 참가한 서울 디지텍 고등학교 청소년 해킹방어대회에서 7등을 했습니다. 대회는 2017-12-22 AM 9:00 ~ 2017-12-23 PM 9:00 36시간동안 진행되었고..
[pwnable.kr] Toddler’s Bottle – shellshock 디렉터리에 bash 쉘도 있습니다. bash 쉘에 대한 충격적인 뉴스라고 하네요. 그래서 bash shellshock에 대해서 검색해봤습니다. version을 보니 shellshock 취..
[pwnable.kr] Toddler’s Bottle – mistake 힌트는 연산자 우선순위입니다! 코드입니다. password 파일에서 10byte만큼 password를 읽고, pw_buf에 넣습니다. scanf로 10byte만큼 사용자의 입력을 받고, pw_b..
[pwnable.kr] Toddler’s Bottle – cmd1 환경 변수를 이용하는 문제인 것 같다. system에 사용자의 입력을 인자로 전달해서 실행하는데, flag, sh, tmp가 있으면 안 됩니다. 일단 환경 변수 PATH가 바뀌었으..
[pwnable.kr] Toddler’s Bottle - lotto 나머지, main과 help 함수는 분기와 출력 밖에 없어서 가져오지 않았습니다. 우선 6byte를 입력합니다. 그리고 /dev/urandom에서 난수를 가져와서 범위를 1~45로 만듭니..
[pwnable.kr] Toddler’s Bottle - blackjack millionares. 백만장자에게 flag를 준다고 합니다. 들어가면 화려한 아스키아트를 볼 수 있습니다. 게임 진행, 룰 확인, 게임 나가기 3가지 기능이 있습니다. 룰을..
FTZ 20 Level printf에 bleh라는 문자열을 바로 집어 넣으면서 FSB 취약점이 생기게 됩니다. printf에서 %x를 쓰면 ebp-8부터 -4씩 감소하면서 인자를 읽어 오게 됩니다. 여기서 확인할 수 있는 것은 bleh 배열..
FTZ 19 Level ebp-40, buf의 시작 주소입니다. level19_parents.py 입니다. code에 setreuid 함수가 없기 때문에, setreuid가 걸린 셸코드를 사용했습니다. 환경 변수를 등록하고 level19_2.py를 실행합니다...
FTZ 18 Level ebp-100, string의 시작 주소입니다. ebp-104, check의 주소입니다. level18_1.py 입니다. count를 -4로 만들고 check의 값을 변조합니다. level18_2.py 입니다.
FTZ 17 Level ebp-56, buf의 시작 주소. ebp-16, call 함수 포인터의 주소. level17_parents.py 입니다. putenv 함수는 자식 프로세스에서 영향을 미치기 때문에, 제일 위에서 프로그램이 돌고 있도록 만들었..
FTZ 16 Level ebp-56, buf의 시작 주소. ebp-16, call 함수 포인터 주소. shell 함수 주소. level16_1.py 입니다. level16_2.py 입니다.
- 2017.12.14 저는 선린인터넷 고등학교 정보통신과 재학 중인 17학번 임재민입니다. 블로그를 운영하면서, 한 번 배운 지식을 넘어가는 것이 아니라 정리하게 되었습니다. 그러니 더욱 이해도 잘 되고 쌓여가는..
FTZ 15 Level ebp-56, buf의 시작 주소. ebp-16, *check의 주소. 두 번 참조하는 것을 볼 수 있다. 0xdeadbeef를 가지는 메모리 주소. level15_1.py 입니다. level15_2.py 입니다.
FTZ 14 Level ebp-56 버퍼 시작 주소. ebp-16 check 주소 level14_1.py 입니다. level14_2.py 입니다.
FTZ 13 Level gdb로 확인해보면 ebp까지 0x418(1048) 떨어져 있고, 변수 i는 ebp-12에 위치합니다. 스크립트를 짜고 돌려봅시다.
FTZ 12 Level level12_1.py입니다. payload를 짜고 gets로 입력을 받기 때문에 print를 해줍니다. level12_2.py입니다. 여기서 실행을 반복해서 수작업을 줄여줍니다. 이 상태에서 Enter를 여러 번 입력하면,..
FTZ 11 Level os.execv는 프로그램을 종료하고 인자를 실행하기 때문에, 손수 돌리지 않고 반복문을 이용하려던 목적을 잃게 된다. 그래서 해결책으로 os.system을 이용하였다. 처음으로 파이썬 스크립트를 이..
[pwnable.kr] Toddler’s Bottle – random 코드는 이렇습니다. rand 함수는 난수를 생성하는 함수입니다. rand 함수는 seed표의 값에 따라 발생하는 난수의 값이 달라지는데, srand 함수로 seed 값을 정해줄..
[pwnable.kr] Toddler’s Bottle – passcode 내용을 보아하니 there was some compiler warning. 컴파일러에서 경고가 나는 듯 합니다. ssh로 접속해서 code를 열어봅니다. warning을 확인해보기 위해 code를..
[pwnable.kr] Toddler’s Bottle – flag 바이너리 파일 하나를 줍니다. 리버싱 문제인 것 같고 packed present라는 걸 보면 바이너리가 패킹 되어 있을 거라고 생각됩니다. (그래서 패킹에 글들을 읽어보고 왔..
[pwnable.kr] Toddler’s Bottle – bof 코드를 확인하겠습니다. key를 0xdeadbeef로 넣어줬는데 그 값이 gets()함수로 인해서 overflowme[32]에서 overflow가 발생하고, 그걸 이용해서 key를 0xcafebabe로 변..
[pwnable.kr] Toddler’s Bottle – collision 접속해서 파일을 확인합니다. 코드를 열어보면, 해석해보면 20byte만큼 문자열을 argv[1]에 입력 받습니다. 그리고 그걸 4byte씩 나눠서(int *) 다 더합니다. 20..
[pwnable.kr] Toddler’s Bottle – fd 접속해서 파일을 확인합니다. 코드를 열어보면, 이렇게 argv[1]에 인자를 받고 그 값에서 0x1234를 뺀 값을 fd에 저장합니다. 그리고 read 함수로 읽은 값을 buf에 저장..
LOB nightmare -> xavius ID : nightmare Passwd : beg for me 접속해서 ls 명령어로 파일을 확인합니다. 으악 복잡합니다. 일단 주소의 상위 2바이트가 \x08, \xbf 이면 종료, library 영역도 막고 있는 것 같..
LOB succubus -> nightmare ID : succubus Passwd : here to stay 접속해서 ls 명령어로 파일을 확인합니다. code를 보니 첫 번째 Return Address는 strcpy() 함수에 걸어줘야 하고 두 번째 Return Address는 AA..
LOB zombie_assassin -> succubus ID : zombie_assassin Passwd : no place to hide 접속해서 ls 명령어로 파일을 확인합니다. 소스코드가 굉장히 기네요. 연속 함수 호출 문제인데, strcpy() 부분에서 overflo..
LOB assassin -> zombie_assassin ID : assassin Passwd : pushing me away 접속해서 ls 명령어로 파일을 확인합니다 code를 보면 이렇습니다. 전 단계 giant처럼 strcpy()가 아닌 strncpy()를 사용하고 있습니..
LOB giant -> assassin ID : giant Passwd : one step closer 접속해서 ls 명령어로 파일을 확인합니다. code를 열어보면 stack과 library 영역을 막고 있네요. code 영역으로 공격해보겠습니다. strcpy()에서..
LOB bugbear -> giant ID : bugbear Passwd : new divide 접속해서 ls 명령어로 파일을 확인합니다. cat으로 code를 열어보면 소스가 긴데요. 간단히 해석하자면, library에 있는 execve 함수의 주소를 execve_a..
정적 변수(static variable) 정적 변수는 선언 시 형 앞에 static 이라는 키워드를 사용한다. ex) static int a = 10; 정적 변수의 초기화는 프로그램 컴파일 시에 단 한 번만 하게 된다. 정적 변수는 함수 내, 외..
전처리기 전처리기(preprocessor)란, 컴파일러가 소스 파일을 컴파일하기 전에 사용자가 지시한 작업을 먼저 처리하는 것이다. 즉, 컴파일러보다 먼저 작업을 처리해준다. 그래서 중요한 작업은 전처리기가 하는..
정적 라우팅 프로토콜 라우터 운영자가 라우터의 경로를 직접 입력하여 라우팅 테이블을 구성하는 방법. 주로 스텁(stub) 라우팅에서 많이 사용하는 방법. 여기서 스텁이란 오직 하나의 경로만을 통해서 외..
2017.11.04(토) 오늘 사이버 가디언즈 컨퍼런스에 다녀오게 되었습니다. 좋은 발표를 들을 수 있는 기회를 얻게 되어 기쁘고, 경품은 타지 못 했지만 빵빵한 경품들 준비해주셔서 감사의 말씀 드립니다. 오늘 들..
LOB darkknight -> bugbear ID : darkknight Passwd : new attacker 접속해서 ls 명령어로 파일을 확인합니다. cat 명령으로 code를 열어봅니다. RTL을 이용합니다. RTL은 Return To Library로 ret 명령을 만나..
LOB golem -> darkknight ID : golem Passwd : cup of coffee 접속해서 ls 명령어로 파일을 확인합니다. cat 명령으로 코드를 열어봅니다. FPO를 이용하라고 합니다. FPO는 sfp를 조작하는 기법입니다. FPO는 Fr..
LOB skeleton -> golem ID : skeleton Passwd : shellcoder 접속해서 ls 명령어로 파일을 확인합니다. cat 명령으로 code를 열어봅니다. main 함수의 Return Address 부분을 제외한 buffer 상위 주소의 모든 부..
LOB vampire -> skeleton ID : vampire Passwd : music world 접속해서 ls 명령어로 파일을 확인합니다. cat 명령으로 code를 열어봅니다. Return Address를 스택으로 변조해야 합니다. 환경 변수 사용 못 하고,..
LOB troll -> vampire ID : troll Passwd : aspirin 접속해서 ls 명령어로 파일을 확인합니다. cat 명령으로 code를 열어봅니다. egghunter가 없으니 공격은 환경 변수로 하면 될 것 같습니다. 하지만 환경 변수..
LOB orge -> troll ID : orge Passwd : timewalker 접속해서 ls 명령어로 파일을 확인합니다. cat 명령으로 code를 열어봅니다. darkelf에서 추가됐던 argv[0] 길이 체크가 사라지고, argc가 2개 (파일명 + 인자..
LOB darkelf -> orge ID : darkelf Passwd : kernel crashed 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령으로 code를 열어봅니다. 추가된 코드의 내용은 파일 경로 + 파일명인 argv[0]의 길이..
LOB wolfman -> darkelf ID : wolfman Passwd : love eyuna 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령으로 code를 확인합니다. 추가된 보호 기법이 argv[1]의 길이를 48byte까지로 두는 것..
LOB orc -> wolfman ID : orc Passwd : cantata 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령어로 code를 확인합니다. buffer 부분을 0으로 초기화 하는 코드가 있지만 goblin에서 buffer를 쓰..
LOB goblin -> orc ID : goblin Passwd : hackers proof 접속해서 ls 명령어를 이용해서 파일과 디렉터리를 확인합니다. cat 명령어를 이용해서 code를 확인합니다. egghunter 기법 때문에 우리는 환경 변수를..
LOB cobolt -> goblin ID : cobolt Passwd : hacking exposed 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령을 이용해서 코드를 확인합니다. gremlin에서는 strcpy를 이용해서 buffer에 복사 했..
LOB gremlin -> cobolt ID : gremlin Passwd : hello bof world 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령으로 코드를 확인해봅시다. 코드를 보면 gate에서는 256byte 였는데 지금은 셸코드..
LOB gate -> gremlin ID : gate Passwd : gate 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령을 이용해서 코드를 확인합니다. 버퍼에 셸코드를 박고 Return Address를 버퍼의 주소로 변조하겠습..
FTZ 20 Level ID : level20 Passwd : we are just regular guys 접속해서 ls 명령으로 파일과 디렉터리를 확인합니다. cat 명령으로 hint를 열어봅니다. fgets에서 크기 제한을 두어 Buffer Overflow는 통하지..
FTZ 19 Level ID : level19 Passwd : swimming in pink 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령으로 hint를 열어봤는데 level18과는 다르게 매우 짧은 코드입니다. ‘그런데 완전 BOF 기..
FTZ 18 Level ID : level18 Passwd : why did you do it 접속해서 ls 명령으로 파일과 디렉터리를 확인합니다. 코드를 보면 입력을 받고 x에 하나하나 저장한 후 switch-case문으로 돌리네요. 그리고 check의..
FTZ 17 Level ID : level17 Passwd : king poetic 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령으로 hint를 열어봅니다. level16과는 다르게 쉘을 띄워주는 shell 함수는 없네요. 그..
FTZ 16 Level ID : level16 Passwd : about to cause mass 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령으로 hint를 열어보면 코드가 있는데요. call이라는 이름을 가진 함수 포인터에 printit..
FTZ 15 Level ID : level15 Passwd : guess what 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령어로 hint를 열어보면 level14와 다른 점이 하나 있습니다. level14에서는 check 변수가 int형이..
FTZ Level 14 ID : level14 Passwd : what that nigga want? 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령어로 hint를 열어봅니다. buf에 fgets로 크기 제한을 두고 값을 입력 받습니다. 하지..
FTZ 13 Level ID : level13 Passwd : have no clue 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령어로 hint를 열어보면 i를 0x1234567로 초기화하고 buf를 선언하고 argv[1] 값을 buf에 복사하..
FTZ 12 Level ID : level12 Passwd : it is like this 접속해서 ls 명령어로 파일과 디렉터리를 확인합니다. cat 명령어로 hint를 열어보면 level11과는 달리 level12에서는 문자열을 gets 함수로 받고 있습니다..
FTZ 11 Level ID : level11 Passwd : what!@#$? 접속해서 ls 명령어를 이용해서 디렉터리와 파일을 보면 attackme라는 실행 파일과 hint라는 파일이 있습니다. attackme를 보면 level12의 setuid가 걸려있는 걸..
네트워크 사용목적에 따른 분류 - 사용되는 목적이나 특성에 따라 인트라넷, 익스트라넷, VAN, ISDN 등으로 구분 인트라넷(Intranet) - 인터넷에서 사용되는 회선과, 기반 기술들을 이용하여 구축하는 사설 네트워..
Internet - 전 세계의 컴퓨터가 서로 연결되어 있는 네트워크 Web이라고도 부름 - 인터넷에서 주로 사용하는 서비스는 웹 서비스이며, 클릭하면 연결된 문서로 이동할 수 있는 하이퍼 텍스트 기능을 이용하여 쉽게..
근거리통신망(LAN) - Local Area Network 비교적 가까운 거리의 컴퓨터와 각종 통신기기 등을 통신형태로 연결한 형태 - 표준 LAN으로는 이더넷과 FDDI가 있음 - 구조는 버스형과 링형이 사용되며, 매체 접근 제어..
매체 접근 제어 방식 - 충돌을 막기 위해서 누가, 언제 사용하도록 하는가를 결정하는 것이 중요 - CSMA/CD, CSMA/CA, 토큰 링, 토큰 버스 등이 있음 CSMA/CD (Carrier Sense Multiple Access / Collision Detecti..
교환 기술 - 교환기 : 멀리 떨어져 있는 단말기들이 통신할 수 있도록 중간에서 회선을 연결해 주는 장치 - 교환 방식에는 회선 교환 방식과 패킷 교환 방식 등이 있음 회선교환(circuit switching) 방식 - 2개의..
다중화 전송방식 - 신호를 보낼 때 여러 개의 신호를 묶어서 하나의 복합 신호 형태로 보내고, 이를 받는 쪽에서 각각의 신호를 분리해 내는 방법 - FDM (주파수 분할 다중 방식)과 TDM (시분할 다중 방식) 등이..
아날로그 전송과 디지털 전송 - 데이터가 전송 매체를 통해 전송되기 위해서는 우선 적잘한 형태의 전기 신호로 변환되어야 함 - 전기 신호는 아날로그 신호와 디지털 신호로 구분 아날로그 전송 - 어떤 양을 표시..
동기식 전송과 비동기식 전송 - 두 시스템 간에 컴퓨터의 속도차이가 있기 때문에 송신과 수신을 하기 위해서는 타이밍을 맞추는 것이 중요함 - 동기화는 데이터 통신에서 정확한 수신을 위해 필요한 기술 - 전송..
직렬전송과 병렬전송 - 머리부터 1비트씩 차례로 보내는 직력 전송 방식, 한 문자 8비트를 동시에 보내는 병렬 전송 방식 직렬 전송 - 하나의 전송선을 통해서 데이터를 순차적으로 전송 - 코드화된 문자의 비트를..
정보통신 방식 - 네트워크에서 두 가지 단말기 상호간에 데이터를 송수신하는 경우 데이터의 흐름에 따라 통신 방식이 결정됨 - 단방향 통신 방식, 전이중 통신 방식, 반이중 통신 방식으로 구분 단방향(simplex)..
네트워크 토폴로지 - 데이터 통신망의 여러 가지 구조(물리적인 형태) - 데이터 통신망에서 여러 가지 장치들이 서로 연결된 모양이나, 통신 채널이 통신망에 연결되는 형태 등을 그림으로 표현한 것 성형 - 중앙..
TCP (Transmission Control Protocol) IP (Internet Protocol) TCP/IP : 오늘날 컴퓨터 통신망의 실질적인 표준이 되고 있는 프로토콜 7계층 : 응용계층-- 6계층 : 표현계층 | => 응용계층 5계층 : 세션계층--..
네트워크 장비 - 랜 카드, 허브, 리피터, 브리지, 라우터, 게이트웨이 등이 있음 랜 카드 - 컴퓨터를 LAN에 연결시키는 장비로, NIC라고도 함 - 일반적으로 컴퓨터 내부에 장치하고, 케이블을 이용하여 LAN에 연결..
컴퓨터를 서로 연결하여 데이터를 교환하며, 자원들을 공유할 수 있도록 하는 방법을 네트워크라고 함 네트워크를 구성하여 사용하는 목적 - 프로그램이나 데이터를 공유 - 프린터 또는 스캐너 등의 주변장치를 공..
서브네팅이란? IP 주소의 수가 한정되어 있으므로 각 기관에서는 배정받은 하나의 네트워크 주소(클래스 A, 클래스 B, 클래스 C)를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것을 서브네팅이라고 한다. 서..
IP 주소의 개요 -IP(Internet Protocol) 주소는 인터넷 상의 고유 이름이다. -중복되면 안된다. -NIC는 국제적으로 IP 주소를 관리하는 기관이다. -한 기관에서 세계의 모든 IP를 다 관리하는 것이 어려운 일이다...
OSI 참조모델 OSI 참조 모델의 규정에 따르는 네트워크는 서로 다른 기술로 구성된 네트워크라 할지라도 통신을 할 수 있다. (ISO가 제안) 네트워크 모델 표준안 : 효율적인 정보 전달을 위해 통신 제어 기능을 비..
프로토콜 : 통신 규칙이나 방법 프로토콜의 주요 요소 구문 : 데이터의 형식 (아날로그, 디지털), 부호화 (UNICODE, ASCII), 신호크기 (0, 1을 어떻게 표현, 0, 1 전압세기 결정) 의미 : 전송 제어(동기화, 패..
C언어 -함수란? -사용자 정의 함수 (선언과 구현, 호출) -함수 원형 선언 --------------------------------------------------------------------------------------------- 1. 함수란? 기능을 구현하는 부분을..
C언어 -전위 연산과 후위 연산의 차이점 -이중 for문 -배열의 선언과 초기화와 사용법 -2차원 배열 -codeup 문제 풀이 1409, 1093, 1503, 1504, 1505 ----------------------------------------------------------..
C언어 -자료형과 서식 지정자 (int, unsigned int, char, float, double), (%d, %u, %c, %f, %lf) -if, else if , else -for문과 전역 변수 지역 변수 그리고 for(;;) -while문 -break문 -continue문 -codeup..
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url)); startActivity(intent); -ACTION_DIAL은 전화걸기 앱에 전화번호만 표시해준다. Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(ur..
xshell 다운로드 경로 : nefus.kr/youngjoo/tool/xshell5.exe nefus 서버 접속 : ssh [email protected] Program Shell -> 운영체제의 커널과 사용자 사이를 이어주는 역할 (윈도우의 cmd와 비슷) Kernel -> 컴퓨터..