전체 글 806

Object file - ELF 파일

/* * http://sosal.tistory.com/ * made by so_Sal */ ELF :: Executable and Linking Format의 약자로, 실행 가능한 바이너리 또는 오브젝트 파일 등의 형식을 규정한것 ELF 파일은 ELF 헤더가 반드시 맨 앞에 위치하고, 프로그램 헤더 테이블과 섹션 헤더 테이블이 그 뒤에 위치합니다. 헤더의 구조는 elf.h를 참조하세요. b ELF에서 사용하는 자료형 elf 바이너리에는 32비트와 64비트, 두가지가 있습니다. 자료형 N = 32 N = 64 설명 ElfN_Half uint16_t uint16_t 부호 없는 16 비트 값 ElfN_Word uint32_t uint32_t 부호 없는 32 비트 값 ElfN_Sword int32_t in..

Linux/Linux_technic 2009.10.23

od - 바이너리 파일 덤프

/* * http://sosal.tistory.com/ * made by so_Sal */ od = octal dump (octal = 8진법)라는 의미로, 바이너리 파일을 8진수로 덤프해서 줄력하는 명령어입니다. od /bin/bash | head -5 head -5 는 출력되는 줄의 윗부분 5줄만 거른다는 뜻입니다. 맨 왼쪽 00000*0은 시작점으로부터의 offset을 8진수를 표시한 것입니다. (offset은 좌측 메모리 시작점을 0으로 하여 숫자를 통해 위치를 알려주는 좌표계 역할을 함) 2바이트씩 8개, 16바이트씩 출력하기 때문에 00,20,40... 으로 늘어나게 됩니다. 출력 형식 지정 (-t 명령어) 형 의미 a 문자의 이름(7비트 ASCII) c ASCII 문자 또는 escape 문..

Linux/Linux_technic 2009.10.23

File - 파일종류 확인

/* * http://sosal.tistory.com/ * made by so_Sal */ file 명령어를 이용하면 임의의 파일이 무엇인지 조사할 수 있습니다. 윈도우에선 파일 확장자를 정해 두고 파일명을 통해 그 종류를 추측하는 방법을 사용합니다. 하지만 리눅스에서는 확장자가 존재하지 않기 때문에, 임의의 파일의 종류를 알기 위해선 이 명령어가 필요하게 됩니다. /usr/bin/file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped -i 옵션을 주면 MIME 미디어 타입 문자열로 표시..

Linux/Linux_technic 2009.10.22

C++ 학생정보 링크드리스트 코드 소스

/* * http://sosal.tistory.com/ * made by so_Sal */ #include //기본 입력,출력 헤더파일 #include // 시간 관련 헤더파일 #include using namespace std; // std클래스 사용 void add(); void del(); void mod(); void find(); void print(); void exit(); void random_data(); void menu(); struct student { int id; char name; int kor; int eng; int math; int total; char grade; struct student *H; struct student *T; };// 구조체 선언 struct stu..

C++ class date 코드

/* * http://sosal.tistory.com/ * made by so_Sal */ #include #include using namespace std; class date{ private: int year, month, day; // default is private int max_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; //각 month의 최대 day입니다. public: date(); //생성자 함수 void set_date(int y, int m, int d); void prev_day(); void next_day(); void print_date(); // 모든 함수는 main함수 아래에 정의되어 있습니다. }; int main(){ dat..

C++ Class 생성자 소멸자 간단한 코드

/* * http://sosal.tistory.com/ * made by so_Sal */ class에 대한 코드를 한번 살펴보겠습니다. #include #include using namespace std; //간단한 입출력 헤더와 string 제어 헤더문입니다. class CTest{ private: const int x; public: CTest(); // 디폴트 생성자 CTest(int nValue); ~CTest(); //클레스가 종료될때 호출되는 함수 void print() const; const char *changeText() const; }; /* * 클레스 선언문입니다. * private에는 외부에서 접근할수 없는 변수입니다. * public안에서 선언된 함수들이 private 변수에 접..

System - 02. system() 자식 프로세스

/* * http://sosal.tistory.com/ * made by so_Sal */ system() 함수에 대해 알아보겠습니다. #include int system(const char * string) system() 함수는 굉장한 편리함을 가져다 주는 함수입니다. 어떻게 보면 게으른 사람들의 전유물이기도 하지요.. shell? :: 사용자가 입력하는 명령어들을 기계어로 번역해주는 명령 해석기 쉘은 사용자가 운영체제와 대화할 수 있는 중간 역할자. 인터페이스가 됩니다. 쉘에서 사용자가 한 말을 받아 운영체제에 전해주고, 운영체제는 그 답을 쉘을 통해서 사용자에게 보여주게 되는것입니다. 쉘 역시 하나의 프로그램입니다. (bash, sh, csh 등 다양한 종류의 쉘이 있는데.. 리눅스 콘솔창에서 우..