목록분류 전체보기 (167)
알맹이방
출제자: 정*은 입력받은 숫자의 이진수 표현에서 1의 개수를 세는 코드를 짜기 정수의 이진법의 자리와 1을 AND로 묶어서 그 결과가 1이면 해당 자리의 값도 1인 점을 이용하여 해결 #include main(){ int num; //입력받는 수의 변수와 이진수를 가리킬 변수 int count=0; //1의 갯수를 셀 변수 printf("정수를 입력하시오 : "); scanf("%d", &num); //num변수는 입력받은 수를 가리킴 while(num!=0){ //입력받은 수가 0이 아닐 때 count+=(num&&1); //해당 자리의 수가 1과 AND 연산하여 1이 나온다면 count가 1 증가하고 0이 나온다면 count가 증가하지 않음 num= num>>1; //비트자리를 오른쪽으로 1씩 옮김 ..
고숙한 주제 파악 세미나 발표를 듣고 적는 것이 아니기 때문에 발표자가 '무엇에 대해 말하고자 하는지'를 파악하기 위한 공부 쯤으로 간주한다. '머신 러닝을 이용한 멀웨어 탐지' malware : 악성 소프트웨어(malicious software)의 줄임말로, 그냥 평소에 우리가 알고 있는 컴퓨터 바이러스, 트로이목마 등의 악성 프로그램들을 말한다. machine learning : 인공지능의 한 분야로, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이다. 요즘에 머신러닝이 굉장히 붐하게 떠오르고 연구되고 있는데 무지인인 나에게도 알고 있는 머신러닝은 구글에서 연구 중인 'QUICK, DRAW!' 게임이다. 사용자는 ..
level 4 ls -al 명령어를 쳐준 후 cat 명령어로 hint를 엽니다. 누가 백도어를 심어놓았다고 합니다. 이번엔 백도어를 이용해서 my-pass를 찾나보군요 setuid가 걸린 프로그램을 찾아줍니다. find / -user level5 -perm -4300 2>/dev/null 을 이용했는데 아무것도 안 나왔습니다. 그래서 그냥 위에서 알려준 /etc/xinetd.d/로 가봤습니다. 디렉토리를 열어봤습니다. 오른 쪽에 backdoor 라고 쓰여있는 게 보이나요? cat 명령어로 열어보겠습니다! service finger 어쩌구 저쩌구가 뜹니다. 여기서 저것들이 뭔지 구글링 해보니 service finger : 서비스 이름 disable = no : xinetd의 제어를 받는가 안 받는가 ( y..
level 3 여느 때와 마찬가지로 ls -al 명령으로 어떤 파일들이 있는지 찾아봅니다. 오늘도 hint가 있네요. cat 명령어로 열어봅니다. 위 소스코드는 대충 argc가 2가 아니면 다음 문장을 프린트하라 대충 이런 코드인 것 같은데 다음에 필요하면 다시 보도록 하죠! more hint 1. 동시에 여러 명령어를 사용하려면? 2. 문자열 형태로 명령어를 전달하려면? answer 1. 동시에 여러 명령어를 사용하려면 ; 기호를 사용합니다. 2. 문자열 형태로 명령어를 전달하려면 "" 이 쌍따옴표를 사용합니다. 이 more hint가 나중에 어떻게 쓰이는지 궁금하군요. 그리고 setuid 걸린 프로그램을 검색해줍니다. 그랬더니 /bin/autodig가 뜹니다. 오늘의 setuid는 autodig에 있..