W6: Double Linked List(CRUD) 구현, 어셈블리로 구구단 구현, Stack 개념 공부하기 참고 자료: 자료구조 개념 및 구현 - 유석종 교수님(자료구조 수업 교재), Stack 참고자료 - 제공해주신 .md 파일 # 1. Double Linked List(CRUD) 구현 - SLL(Single Linked List)의 문제점: 다음 노드만 알고 이전 노드는 알 수 없음 - DLL(Double Linked List) 각 노드는 이전 노드와 이후 노드의 정보를 알 수 있음 삽입/삭제가 용이함 헤드 노드 필요: 데이터를 가지지 않고, 삽입/삭제 코드를 간단하게 할 목적으로 만들어진 노드 head node와 tail노드를 각각 사용할 수도 있지만 교재에서는 head node만을 사용하여 ci..
W4-W5: C언어로 HTTP 서버 구현 참고 자료: C, TCP 기반으로 간단한 HTTP 서버 작성하기 # 1. 구현 내용 - 서버 프로그램이 존재하는 디렉터리를 기준으로 파일을 접근할 수 있는 서버 - 개발 순서 socket(), bind(), listen() 등을 활용하여 TCP 소켓을 만듬 accept() 후에 HTTP 프로토콜로 처리하는 함수를 만듬 처리 중에 에러가 발생하면 404, 500 상태 코드로 응답 - 과제 제출 예시 영상 # 2. TCP 소켓 생성하기 1) TCP란? Transmission Control Protocol 서버와 클라이언트 간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜 데이터를 전송하기 전에 데이터 전송을 위한 연결을 만드는 연결지향 프로토콜 데이터는 네트..
W3: 코드업 기초 100제 70번 대 이후 문제들 중 가장 어려웠던 10문제 write-up 작성하기 코드업 기초 (22.05.02 ~ 22.05.08) 코드업 마지막 과제로 71번부터 99번까지 풀어보았다 이번에는 정답률이 낮은 문제가 이전보다 많았고, 기초임에도 while문 탈출 조건을 제대로 고려하지 못해 틀린 문제가 몇몇 있었다 # 1079: [기초-통합] 원하는 문자가 입력될 때까지 반복 출력하기 [문제] 'q'가 입력될 때까지 입력한 문자를 계속 출력하는 프로그램을 작성해보자 [입력] 문자들이 1개씩 계속해서 입력된다. [출력] q'가 입력될 때까지 입력된 문자를 줄을 바꿔 한 줄씩 출력한다. [풀이] #include int main(){ char input; while(1){ scanf("..
숙명여자대학교 소프트웨어학부 학회 SISS 2022년 네트워크 보안 스터디 계획표 1주차 [이론] – 네트워크, 분류(LAN, WAN, MAN) - 이더넷 - 패킷 - 프로토콜(TCP, UCP, IRC, 네트워크 연결과정 - 3way handshaking / 4way handshaking, request/response) [실습] - Wireshark 설치 및 사용법 정리 2주차 [이론] - 네트워크 기본구조(스위치/허브, 라우터) - 논리적 네트워크(내부 네트워크, 외부 네트워크) - 네트워크 통신(유니 캐스트, 브로드 캐스트, 멀티 캐스트) - ip, mac 주소 - IPv4, IPv6 [실습] - [CTF-D/Network] Woodstock – 1 - [CTF-D/Network] 당신은 캡처 파일..
숙명여자대학교 소프트웨어학부 학회 SISS 2022년 리버싱 스터디 계획표 1주차 [dreamhack] reverse engineering - stage 1 [dreamhack] reverse engineering - stage 2 2주차 [dreamhack] reverse engineering – stage 3 3주차 [dreamhack] reverse engineering – stage 4 [어셈블리어 분석 실습] example 0 – example5 4주차 [dreamhack] reverse engineering – stage 5 [CodeEngn] CodeEngn Basic RCE L01-L04 5주차 [dreamhack] reverse engineering – stage 6 6주차 [자료] 패킹..
W2: 코드업 기초 100제 70번 이하 문제들 중 가장 어려웠던 5문제 write-up 작성하기 코드업 기초 (22.04.25 ~ 22.05.02) 저번주에 이어서 31~70번 문제를 풀어보았다 이번에는 비트연산자를 복습할 수 있어서 좋았던 것 같다 개인적으로 힌트가 나온 문제들은 최대한 다른 방식으로 풀어보려했다 ㅎ (if-else를 switch로 구현해본다던지,,) # 1038: [기초-산술연산] 정수 2개 입력받아 합 출력하기 1 [문제] 정수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자. (단, 입력되는 정수는 -1073741824 ~ 1073741824 이다.) [입력] 2개의 정수가 공백으로 구분되어 입력된다. ** 주의: 계산의 결과가 int 범위를 넘어가는지를 잘 생각해 보아야 한..
W1: 코드업 기초 100제 20번~30번대 문제들 중 가장 어려운 5문제 write-up 작성하기 코드업 기초100제 (22.04.18 ~ 22.04.24) 과제를 위해서 20-30번만 풀까 아니면 다 풀까 고민했는데 C는 기본중에 기본이고 거의 2년전에 배웠던 언어라서 다시 공부하고자하는 마음에 다 풀어보았다 ~.~ 개인적으로 너무 쉬워서 시간낭비라고 생각할 수도 있지만 알고리즘 말고 C언어 사용 자체에 대한 개념적인 부분들 중 까먹은 것들을 다시 상기시킬 수 있어서 괜찮았다고 생각한다 # 1020 : [기초-입출력] 주민번호 입력받아 형태 바꿔 출력하기 [문제] 주민번호는 다음과 같이 구성된다. XXXXXX-XXXXXXX 앞의 6자리는 생년월일(yymmdd)이고 뒤 7자리는 성별, 지역, 오류검출코..