텍스트 파일에서 특정 문자만 읽어서 출력[C, linux] 안녕하세요. 오늘은 유닉스라는 과목을 들으면서 만든 코드를 올려보려고 합니다. 수업 초반에 저수준 파일 입출력을 해보기 위해 만든 예제라서 매우 쉬운 코드입니다. C언어 사용[저수준 파일 입출력] 리눅스(우분투) 환경 lseek()이용할 것 텍스트파일에서 특정한 문자만 printf문으로 출력하는 프로그램(파일의 내용을 알고있음.) 텍스트 파일의 내용. "If I have seen further it is by standing on the shoulders of Giants." 코드 실행 내용 확인= cat명령어 컴파일= gcc 실행= ./ 주요 코드 설명 1. 파일 open 2. 파일 오프셋 위치 지정.=lseek 3. 파일 읽기 read [리눅..
Webhacking.kr 5번 [문제풀이] 안녕하세요. 오늘은 webhacking.kr이라는 사이트의 5번 문제를 풀어보려고 합니다. 문제를 풀기 위해 해당 사이트로 이동해주세요. 웹 해킹 5번 문제풀이 [300점] 5번을 풀기 위해 들어가 보면 아래 사진처럼 초기 화면이 보일 겁니다 login버튼과 join버튼이 보이네요. 먼저 join버튼을 눌러봤습니다. Access_Denied가 나오네요. 이번에는 login을 눌러보겠습니다. (아이디는 아무거나 입력해봤습니다.) 이것도 Access Denied가 나오네요. id is not admin이라고 나오는 것을 보니 아이디를 admin으로 해서 로그인해야 할 것 같습니다. 아이디를 admin으로 하고 비밀번호는 대충 입력해봤습니다. 역시나 Wrong pas..
webhacking.kr 6번 [문제풀이] 안녕하세요. 오늘은 webhacking.kr이라는 사이트의 6번 문제를 풀어보려고 합니다. 문제를 풀기 위해 해당 사이트로 이동해주세요. 웹 해킹 6번 문제풀이 [100점] 4번을 풀기 위해 들어가 보면 아래 사진처럼 초기 화면이 보일 겁니다 HINT로 base64가 쓰여있고 id:guest pw:123qwe로 되어있네요.(힌트 좋아요 ㅎㅎㅎ) 이제는 이런 문제를 보면 보지 않아도 guest를 admin으로 바꿔줘야 될 것 같다는 생각이 듭니다. 일단 index.phps를 보겠습니다. -encode&decode 코드를 보니 base64로 admin을 인코딩을 20번 해서 쿠키에 저장을 하고 디코딩을 20번해서 값을 확인하는 것 같습니다. (역시나 admin으로 ..
webhacking.kr 4번 [문제풀이] 안녕하세요. 오늘은 webhacking.kr이라는 사이트의 4번 문제를 풀어보려고 합니다. 문제를 풀기 위해 해당 사이트로 이동해주세요. 웹 해킹 4번 문제풀이 [150점] 4번을 풀기 위해 들어가 보면 아래 사진처럼 초기 화면이 보일 겁니다. 초기 화면에는 이상한 문자와 아직 뭔지 모르는 패스워드를 입력하는 부분이 있네요. 소스코드를 봐도 뭔가 특별한 것이 없는 것을 보니 패스워드는 위에 있는 문자를 풀면 되는 것 같습니다. 어디서 많이 본 문자 형식입니다. base64로 디코딩해보겠습니다. c4033bff94b567a190e33faa551f411caef444f2라는 값이 나왔습니다.(웹 해킹 사이트의 base64디코딩을 이용함) 입력해보니 아닌 것 같습니다...
파일을 복사하는 mycp 프로그램 작성 [linux] 안녕하세요. 오늘은 저번에 유닉스라는 과목을 들으면서 만든 코드를 올려보려고 합니다. 1. 파일 이름 두개를 입력받는다. 2. 파일 이름 두개중 하나는 복사할 내용이 있는 파일 3. 나머지 하나는 파일이 없거나 복사할 내용이 아직 없는 파일 이게 기능의 끝입니다. 뭔가 이렇게 보니 있어보이긴하는데 막상 보면 매우 간단한 프로그램입니다. ex: mycp a.txt b.txt -(파일 이름 두 개를 입력받아야 합니다.) 일단 썸네일부터 하나 ㅎㅎ 1. 코드 아래 사진이 mycp코드입니다. 코드 파일은 아래의 깃허브에 있습니다. (블로그엔 사진만 ㅎㅎ) https://github.com/ykarr/linux/blob/master/mycp.c 2. 실행. 원..
코드클럽(codeclub)활동 [CWM] 이번에 CWM이라는 팀명으로 코드클럽 활동을 했습니다. 코드클럽이란? 자원봉사자 중심의 네트워크로 8~13세 모든 어린이들에게 무료로 소프트웨어 교육을 제공하는 교육 프로그램 지금까지 활동내용. *(전주)서신초등학교에서 스크래치를 교육했습니다. 아래파일은 저희가 주차별로 사용한 ppt입니다.(+추가내용에 있는 블로그에는 동영상도 있습니다.) 1주차 오리엔테이션&팀소개&Lost in space&ChatBot 2주차 Paint Box 3주차 Boat Race 4주차 Ghostbusters 5주차 Clone Wars +추가 내용 아래 블로그에서 CWM의 더 많은 활동 내용을 확인하실 수 있습니다. https://blog.naver.com/gkdlgkdl0000 후기. ..
정렬 알고리즘 - 퀵 정렬 [Quick sort] 오늘은 정렬 알고리즘 중 하나인 퀵 정렬(Quick Sort)에 관한 내용입니다. (퀵 정렬을 간단하게 소개하고 예제) 퀵 정렬(Quick Sort)이란? n개의 데이터를 정렬할 때 최악의 경우 =O(n^2), 평균적으로는 O(nlogn) 정렬을 하기 위한 데이터에서 데이터 하나를 고르고 그 데이터보다 작은 값과 큰 값으로 구분하여 정렬하는 알고리즘 알고리즘 코드 main함수, Quick_sort함수, Partition함수, SWAP함수로 이루어져 있습니다. 중간중간 결과 확인을 위한 print문이 있습니다. 해당 블로그에는 코드의 사진만 있습니다. 코드의 C파일은 제 Github에서 보실 수 있습니다. https://github.com/ykarr/C/b..
c언어로 만든 선택정렬 알고리즘(Selection Sort). -특정한 일을 수행하기 위한 명령의 유한집합. -만족 조건. 1.입력: 입력하는 데이터가 하나이상이 있어야한다. 2.출력: 적어도 하나의 결과가 있어야한다 3.명확성: 명령이 명확해야한다. 4.유한성: 반드시 종료되어야한다. 5.유효성: 반드시 실행가능해야한다. 선택정렬 알고리즘 -최소정수를 찾을 수 있어야한다. -최소정수와 다른값을 교환한다. -O(n^2) swap(말 그대로 바꿔주는 함수) swap 함수. void SWAP(int *x, int *y) { int z=*x; //z를 선언하고 z에 x가 가르키는 주소의 내용을 넣는다. *x=*y; // x의 주소에 y가 가르키는 주소의 내용을 넣는다. *y=z; //y의 주소에 z의 내용을 ..
정렬 알고리즘 삽입 정렬 [Insertion sort] 오늘은 정렬 알고리즘 중 하나인 삽입 정렬에 관한 내용입니다. 삽입 정렬이란? 기초 정렬 알고리즘. 이미 정리된 데이터들 사이에 새로운 데이터를 적절한 자리에 삽입해주는 알고리즘 성능=O(n^2) 알고리즘 코드 main함수와 insert_sort함수로 이루어져 있는 코드입니다. insert_sort를 확인하기 위한 불필요한 코드가 있습니다. 코드의 파일은 제 깃허브에서 보실 수 있습니다. https://github.com/ykarr/C/blob/master/algorithm/insertion_sort.c main함수 insert_sort함수 Insertion sort(삽입 정렬) 실행 결과 실행 결과에서 0-{}부분은 실행 전 배열의 상태입니다. 그..
webhacking.kr 17번 [문제풀이] 안녕하세요. 오늘은 webhacking.kr 이라는 웹 해킹 문제를 푸는 사이트에서 17번 문제를 풀어보려고 합니다. 문제를 풀기 위해 해당 사이트로 이동하겠습니다. 그전에 썸네일입니다. 웹 해킹 17번 문제풀이[100점] 웹해킹 17번을 풀기위해 17번을 들어가면 아래 사진과 같은 초기 페이지가 보입니다. 아무것도 없는 검은 바탕에 텍스트를 넣을 수 있는 박스와 check라는 문자가 써있는 버튼이 보이네요. 뭔가 힌트를 찾기위해 F12를 눌러 개발자 도구를 열어서 코드를 살펴보았습니다. 코드를 살펴보니 매우 수상해보이는 코드가 보입니다. unlock
webhacking.kr 1번 [문제풀이] 안녕하세요. 오늘은 webhacking.kr이라는 사이트의 문제 1번을 풀어보려고 합니다. 문제를 풀어야하니 해당 사이트로 이동해주세요. 웹 해킹 1번 문제풀이 [200점] 1번을 풀기 위해 들어가면 아래 사진처럼 초기 화면이 보일겁니다. 초기 화면에는 level:1과 index.phps라는 문자가 보입니다. index.phps를 눌러보겠습니다. index.phps를 누르면 아래사진처럼 index.phps로 들어가지면서 코드가 보입니다. 코드를 읽어보면 쿠키관련 문제라는 것과 쿠키로 유저 레벨이 설정되어있는 것을 알 수 있습니다. 쿠키를 수정하는 문제인 것 같고 아래의 if문을 읽어보니 user_lv의 값이 5이상은 되어야하고 6이상은 되면 안되는것 같네요. (..
[백준 1546] 평균 안녕하세요. 오늘은 백준 1546번 문제를 풀어보겠습니다. 먼저 썸네일 사진입니다 ㅎㅎ 백준 1546번 문제 문제&조건 기말고사를 망친 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그 후 모든 점수를 점수/M*100으로 고쳐서 평균을 계산한다. - 과목의 개수 N과 N개의 점수가 주어진다. - 정답과의 절대/상대 오차는 까지 허용한다. 예제 입력&출력 예제 입력(1) -> 3 ->40 80 60출력 ->75.00 예제 입력(2) -> 3 ->10 20 30 출력 -> 66.66 예제 입력(3) -> 4 -> 1 100 100 100 출력 -> 75.25 예제 입력(4) -> 5 -> 1 2 4 8 16 출력 -> ..