본문 바로가기

공부69

[Security Study] OverTheWire: Wargames "Bandit" 문제 풀기 후기 [Security Study] OverTheWire: Wargames "Bandit" 문제 풀기 후기 이번 겨울 방학 동안 사람들과 함께 OverTheWire 해킹 게임을 하기로 했다. 게임은 순서대로 사진과 같이 있다. 우리는 첫 번째인 Bandit 문제를 풀기로 했다. bandit의 경우 나는 vm웨어 가상머신에 ubuntu 환경에서 게임을 진행하였다. 사실 굳이 리눅스 환경이 아니어도 윈도 쉘에서 되는 것 같다... (정말 정말 리눅스 자체가 처음인 사람이라면 주의할 게 있는데, 리눅스는 윈도우와 같은 운영체제이다. 그냥 usb에 받아 컴퓨터에 꽂아서 한다면 자신의 윈도 운영체제가 날아갈 위험도 있다... 꼭 가상 머신이나 분리를 통해 하길 바란다. 같이 하는 한 분이 이런 경우로 윈도우가 날아가버.. 2022. 1. 6.
[C] const 와 포인터 [C] const와 포인터 지난 포스팅에서 const와 포인터에 대해 알아보았다. 이제 그 둘의 관계에 대해 조금 더 알아보고자 한다. 기존에 배웠던 것을 떠올려보자. int a = 0; int* pInt = &a; //pInt가 a의 주소값을 가리키고 있다. *pInt = 1; // a의 값이 1로 바뀌었다. pInt = nullptr; // pInt가 a를 가리키지 않고 null을 가리키도록 바뀌었다. 여기까지는 잘 이해했을 거라고 생각한다. 포인터는 가리키는 변수의 값을 바꿀 수도 있고, 가리키는 것의 방향도 바꿀 수 있다. - const 포인터 int b = 0; const int* pConstInt = &a; //a 주소값을 가리킨다. *pConstInt = 100; //error // 포인터변.. 2022. 1. 4.
[C] const, const 값 바꾸기 [C] const, const 값 바꾸기 - const란? const는 변동되지 않는 상수를 뜻한다. const int cint = 100; // cint 값을 변동하지 못한다. -value : 상수 l-value : 변수 C라는 문법이 const를 쓰면 값이 변동되는 것을 문법적으로 막아줄 뿐이지 정말로 진짜 상수처럼 값을 절대 바꿀 수 없는 것은 아니다 - Q: 그러면 const에 상수의 값을 어떻게 바꿀 수 있는가? A: 포인터로 주소로 직접 가서 값을 바꾸면 된다! const int cint = 100; pInt = (int*)&cint; *pInt = 300; printf("cint 출력: %d \n", cint); 디버깅을 하면 300이 안 나온다. 물론 값은 300으로 바뀌어 있다! cint.. 2022. 1. 4.
[C] 포인터 Pointer [C] 포인터 Pointer - 포인터란? 포인터는 두 수를 가리키는 기능을 뜻한다. - 포인터 변수 포인터 변수란 주소를 저장하는 변수를 뜻한다. 자료형* + 변수명 을 통해 포인터 변수를 선언한다. 자료형은 해당 포인터에게 전달된 주소를 해석하는 단위 int* i = 100; // i는 주소를 저장하는 변수이다. 위 포인트 변수는 주소로 접근했을 때 그곳의 실제 메모리 공간을 int로 보겠다. 1. 포인터 변수에 주소를 줬다. 2. 그 주소가 가리키는 곳에 실제적으로 어떤 용도로 쓰이는지는 포인터 변수에게는 중요하지 않음(선언 시점에서 이미 자료형이(용도) 정해져 있음) int 변수의 주소는 int 포인터가 받아가는 게 맞고 short 변수의 주소는 short 포인터가 받아가는 게 일반적으로 맞다. .. 2022. 1. 3.
[HTML5 스터디] Study 7 도트 타일 맵을 찍어 보았다. [HTML5 스터디] Study 7 도트 타일 맵을 찍어 보았다. 처음에는 기껏해야 한두 시간이면 다 하겠지? 하고 덤볐다가 큰코다쳤다. 거대한 바다 맵을 만들어 섬나라를 각각 만들려는 원대한 계획이 있었으나 실패했다...ㅋㅋㅋ 1트에서 문제점을 깨닫고 빠르게 삭제한 뒤 2트 프로젝트를 켰다. 2트 때는 1트 때에 비해 맵의 크기가 절반 이상 줄어들었다 ㅎㅎㅎ;; 소박하고 이쁜 듯 ㅎㅎ 기존의 이론 수업과 Egret 엔진의 코드 설명 위주로 수업을 듣다가 눈에 확 보이는 맵을 만드니 시간 가는 줄 모르고 만들었다. 역시 귀여운 게 즐겁다. o(*'▽'*)/☆゚ tiled라는 프로그램으로 작업하였다! 12월 21일에 비대면(ㅠㅠ코로나로 대면 스터디가 끝났다) 수업을 하셨고 그다음 주까지 제출하는 과제였다... 2022. 1. 3.