본문 바로가기

헤더

클래스(Class) 클래스 개념 : 부류를 형성하는 데이터들을 하나로 묶으며 그 데이터를 조작할 루틴, 함수들을 포함한다. 클래스의 장점 : 1. 데이터 은닉(information Hiding) : 정보를 은닉할수 있다. 2. 데이터 캡슐화(Encapsulation) : 같은 부류의 데이터와 메소드들을 묶어서 프로그래밍 할 수 있다. 클래스의 구성 : 데이터(멤버변수) + 메소드(멤버 함수) 클래스의 접근 : 1. public : 어느곳에서의 접근도 허용한다. (멤버변수에 접근하는 검증된 메소드들을 public 로 선언한다) 2. private : 클래스 내부에서의 접근만 허용한다. 즉, 클래스 외부에서의 접근은 금지한다.(데이터 은닉을 위해 멤버변수를 private 로 선언한다) 클래스의 사용 : 클래스를 사용하기 위해선.. 더보기
C Hello World 출력 1 : /* 2 : HelloWolrd.c 3 : */ 4 : 5 : #include 6 : 7 : int main() 8 : { 9 : printf("Hello Wolrd"); // 줄 마칠시에 세미클론(';' 사용) 10 : return 0; 11 : } HelloWorld.c 의 구성 : 1. 함수 : int main ( ) 리턴형 함수의 이름 파라미터 { (함수의 시작) // } (함수의 끝) 함수 사용법(형식만 보자) : 1. 함수의 선언 (ex. void function(int a); ) (리턴형 : void 함수이름 : function 파라미터 int a) 2. 함수의 정의 (ex. void function(int a) { printf("%d", a); } ) 3. 함수호출 (ex. fuct.. 더보기
헥스에디터(Hex-Editors) 헥스에디터(Hex-editors) : 바이너리 파일을 분석하거나 수정할 때 사용한다. 파일을 16진수 코드로 보여준다. (참고 : 16진수 코드나 어셈코드나 같은겁니다. 어셈코드는 16진수 코드를 우리가 보기 쉽게 문자로 치환했을 뿐입니다. 예를 들어 16진수로 0x6A 라는 숫자가 어떤 일을 한다고 했을때 이 숫자만 보고 그 일을 한다는 것을 사람이 알기에 쉽지 않으므로 여기에 PUSH 라는 이름을 붙여 사람이 해석하기 쉽게 해주는겁니다. 즉 16진수 코드랑 어셈코드는 같은 것을 표현하는데 숫자냐, 문자냐일 뿐인것이죠) .exe나 .dll 같은 윈도우 PE 구조의 파일이나 확장자가 없거나 다른 확장자의 파일을 분석할때 헥스에디터로 열어서 그 바이너리 파일의 헤더를 보고 어떤 종류의 파일인지 (참고 : .. 더보기
윈도우 기초 프로그래밍 #include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); HINSTANCE g_hInst; LPCTSTR lpszClass=TEXT("Sample"); int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpszCmdParam,int nCmdShow) { HWND hWnd; MSG Message; WNDCLASS WndClass; g_hInst=hInstance; WndClass.cbClsExtra=0; WndClass.cbWndExtra=0; WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); WndClass.hCursor.. 더보기
Windows PE 구조 PE 포맷이란 윈도우 OS가 파일을 실행시키기 위해서 Portable Executable 포맷 (확장자 : .exe와 .dll)을 동적 라이브러리를 링킹하기 위한 참조 값과 API export and import tables, 리소스 데이터와 TLS 데이터를 캡슐화한 것이다. 소스 코드를 컴파일하고 링크를 하여 PE 구조의 실행 파일이 생성되는 과정을 순서도로 보면 실행 파일에는 어떤 내용들이 들어있는지 윈도우 Notepad.exe를 메모장으로 열어보겠다. MZ는 PE를 만든 Mark Zbikowski의 이니셜로써, MS-DOS 헤더의 시작을 알리는 문자이다. "This program cannot be run in DOS mod" 문자열은 DOS 에서 윈도우 프로그램이 실행되면 출력하는 문자열이다. PE.. 더보기