전체 글 123

객체 초기화

보통 생성자 안에서 객체의 멤버변수를 초기화. but 생성자는 - 초기화단계 - 몸체 두 곳에서 호출. 대부분의 변수 -> 양쪽 어느 곳에서나 설정가능. 초기화 단계에서 초기화가 깔끔. cat::cat () : itsAge (5), itsWeight (8) { } 요렇게 구현. class cat { public: cat (int age, int weight); ~cat () {} int GetAge () { return itsAge; } int GetWeight () { return itsWeight; } private: int itsAge; int itsWeight; }; cat::cat (int age, int weight) : itsAge (age), itsWeight (weight) {} 이런식으..

Programming/C_C++ 2011.07.17

reference (참조자)

참조자(reference) target에 대한 또다른 이름을 행사. target의 형을 쓰고 참조연산자(&) 다음에 참조자의 이름을 씀으로써 참조자를 만든다. ex) int &rSomeRef = someInt; rSomeRef는 someInt를 참조하도록 초기화된 정수형 참조자. 참조 연산자(&)는 주소 연산자(&)와 같은 기호이지만 같은 연산자가 아니다. 하지만 둘은 상당히 관련이 있다. 참조자의 주소 = target의 주소 ->가리키고 있는 것에 대한 또다른 이름이기 때문이다. C++에서는 참조자 그 자체의 주소에 접근하는 방법을 제시하지 않는다. -> 이는 의미가 없기 때문 -> 참조자는 target에 대한 동의어로 여겨지기 때문 class에서도 참조자 사용가능 person이라는 class가 있다 ..

Programming/C_C++ 2011.07.14

hackerschool level5 Hard Link, Symbolic Link

http://geundi.tistory.com/47 in Linux's Link 하드링크 심볼릭 링크 두가지가 있다. 먼저 cp 명령의 이해 필요. cp : 파일을 복사하는 명령어. inode { 파일의 중요 내용을 담고 있다. 구조 -파일의 소유권 및 이용 할 수 있는 여부에 대한 정보 -파일 내용이 들어 있는 디스크 내의 물리적 주소 -파일의 링크 수 -파일의 형태 -파일의 크기 -파일의 생성 시간, 최근 사용시간, 최근 수정시간 -inode의 최근 수정 시간 커널 내에서 파일 시스템과 관련하여 중요한 자료 구조 중 하나. ls -i 명령어를 통하여 확인가능. 하드링크 포인터의 개념 동일한 파일시스템에서만 생성 가능 원본과 동일한 inode를 사용하는 파일. ln : 하드링크를 만드는 명령어 ln [..

Security 2011.07.14

hackerschool level5 Race Condition

touch 파일 생성 명령어 레이스 컨디션(Race Condition) http://geundi.tistory.com/48 심볼릭링크 : 바로가기의 개념. 원본파일을 심볼릭링크 파일이 가라킴 심볼릭링크 파일에 수정을 가하면 원본 파일도 수정. root 권한의 SetUID가 걸린 A라는 프로그램이 있다. A는 실행한 후에 /tmp 안에 byebye라는 임시파일을 만든다. 일반 user가 이 임시파일(/tmp/byebye)을 삭제하고, /etc/passwd의 심볼릭 링크를 만드는데 이름을 /tmp/byebye라고 하여 만들었다. 그럼 A를 실행시키면? A는 실행되는 동안 root의 권한을 가지게 된다. A는 byebye라는 임시파일을 만드는데 byebye는 /etc/passwd의 심볼릭링크이다. /etc/p..

Security 2011.07.14

hackerschool level4 service finger, chmod

service finger. 어떤 서비스를 하기위한 initd 데몬. initd 데몬은 컴퓨터가 켜질 때 자동으로 실행되는 프로그램. cat services | grep finger /etc의 services 파일 중 grep 명령을 이용해 finger만 찾음. 쉘 스크립트를 만들때, 가장 첫 라인에 #!/bin/bash 를 씀. 쉘 스크립트의 가장 첫 라인에 !/bain/bash 를 쓰게 됨으로 해서, 내가 사용 하려는 명령어 해석기가 bash 쉘 임을 미리 알려준다. 일반적으로 스크립트에서 #는 주석기호이지만, 첫라인의 #!/bin/bash 에서의 #은 주석기호가 아니다. 스크립트의 가장 첫라인에 있는 #! 은 스크립트의 제일 앞에서 이 파일이 어떤 명령어 해석기의 명령어 집합인지를 시스템에게 알려주..

Security 2011.07.14
반응형