목록분류 전체보기 (289)
촉촉한초코칩
문제자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오.예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다.입력입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다.M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다.출력M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.#include #include //소수인지 판별int f..
문제주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.입력첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.출력주어진 수들 중 소수의 개수를 출력한다.#include #include int func(int a) { //소수인지 판별 int flag = 1; //1부터 a-1까지 for문 돌려서 //나누어 떨어지면 소수아님 for(int i=2; i 1) { if(func(arr[i]) == 1) tmp +=1; } } printf("%d\n", tmp);}
Ch1 좀비 공장 만들기모든 좀비의 데이터베이스 유지새로운 좀비 생성하는 함수각 좀비는 랜덤하고 독특한 외모를 가진다. 좀비 DNA16자리 정수 형태 각 숫자는 좀비가 가진 개별 특성과 매핑된다.ex) 처음 2자리 : 좀비 머리 타입, 다음 2자리 : 좀비 눈 모양 더보기ex) 8356281040284737첫 2자리 숫자 : 83 > 머리 타입으로 매핑* 튜토리얼에는 좀비의 머리 타입이 7개만 존재함 83 % 7 + 1 = 7 > 이 DNA를 가진 좀비는 7번째 좀비 머리 타입을 갖게 됨 Ch2 컨트랙트 * 솔리디티 코드는 컨트랙트 안에 싸여 있다.* 솔리디티 코드는 version pragma로 시작한다. 컨트랙트이더리움 애플리케이션의 기본적인 구성요소모든 변수와 함수는 어느 한 컨트랙트에 속한다. ..
Make a Difference 파일 형식이 wav라서 audacity 프로그램으로 열어보았다. 파일을 스펙트로그램으로 변경하고 여러가지 설정을 바꿨다. 좁혀보니 모스부호..? 처럼 보이긴 했지만 정확하게 나눠지지 않아 구별이 불가능했다. 이번엔 속도를 지정해주었다. 별 다른건 보이지 않았다. 툴을 검색해보다가 oscilloscope을 알게 되어서 관련 url에 파일을 넣어보았는데, 못찾았다. 오디오 디코더도 써봤는데 이게 맞는지.. 모르겠다. Expert에 들어가서 모스부호가 나오는 부분을 확인하고 변환해봤는데 틀렸다고 나왔다.. 형식 : VolgaCTF{[\x20-\x7F]+} -- --- ... ... . M O S S E ._ ___ ._. ... . A O R S E 마지막 시도.. BinTex..
#include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30); } void read_flag() { system("cat /flag"); } int main(int argc, char *argv[]) { char buf[0x80]; initialize(); gets(buf); return 0; } 취약점 main 함수에 있는 gets 함수는 길이체크를 하지 않기 때문에 80보다 큰..
프로그램의 취약점을 찾고 익스플로잇 해 쉘 획득 후 flag 파일을 읽는다. 취약점 #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30); } int main(int argc, char *argv[]) { char buf[0x80]; initialize(); printf("buf = (%p)\n", buf); scanf("%141s", buf); return 0; } 취약점..