목록전체보기 (248)
메모장 입니다2
0. 개요 -시스템 자원을 효율적 사용 -컴퓨터-사용자 간의 편리한 인터페이스 제공. -처리능력(Throughput), 신뢰도(Realability), 사용가능도(Availability)의 향상, 반환 시간(Turn Around time) 단축. 1. 기능 -프로세스 관리: 프로세스 스케줄링을 통해 실행 가능한 프로세스를 추적, 관리 -주기억장치 관리: 주소변환, 기억보호, 버퍼기억 ex) ROM, RAM -보조기억장치 관리: ex) 하드 디스크 -입출력 시스템 관리: 중앙시스템과 주변 장치의 효율적인 통신방법 제공. ex) 키보드, 마우스, 디스플레이 장치 등 -파일 시스템 관리: 프로그램이나 데이터를 파일 단위로 관리. -에러 검출 및 응답: 하드웨어 에러: 디바이스 결함 소프트웨어 에러: 금지된 메..
0.정의 -자기 자신을 자식프로세스로 생성하여, 하나의 실행파일을 두 개의 실행흐름으로 나누어 동작. -실행 흐름이 나뉘기 때문에 디버깅을 어렵게 함. 1.실행 구조 -동작 구성도1) 부모 프로세스 실행 2) 부모 프로세스가 "parent process"를 출력.3) 부모 프로세스가 자기 자신(SelfCreation.exe)을 *SUSPEND 모드의 자식프로세스로 생성.4) 부모 프로세스가 자식프로세스의 EIP를 변경(자식 프로세스가 실행할 코드로 EIP 변경)5) 자식프로세스 Resume.6) 자식 프로세스가 "child process"를 출력. *SUSPEND: import DLL은 로딩되고 Main 쓰레드는 정지된 상태. 2.소스코드 -SelfCreation.exe#include #include #..
1.WDM 드라이버 실행 구조 1) 파일 스트림을 통해 IO 관리자에게 요청.2) 연관된 디바이스 스택 검색 3) IRP 생성4) 찾은 디바이스 스택의 첫 번째(TOP) 디바이스 오브젝트를 생성한 드라이버 검색.5) IoCallDriver()를 호출하여 해당 드라이버(A)에게 IRP 전달.6) 드라이버 A가 디바이스 스택 상의 다음 드라이버(B)를 찾음.7-8) 드라이버 A가 IoCallDriver()를 호출하여 드라이버 B에게 IRP 전달.9) 마지막 드라이버인 B가 IoCompleteRequest()를 호출하여, IRP 처리가 완료되었음을 IO관리자에게 알림.10) IO관리자가 IRP를 파괴.11) 요청 결과를 응용프로그램에게 전달. 2.IRP 스텍 구조 *IRP는 스택구조로 처리된다* 3.IRP 스..
1.WDM 드라이버 -디바이스 스텍을 기반으로 동작. -버스 드라이버의 지원으로 하드웨어에 접근할 수 있다. -구조 2.디바이스 스택 -WDM 드라이버에 의해 관리되는, Device Object로 이루어진 자료구조. //정확한 개념은 설명 안나옴. 추후 찾아볼 것.>Device Object: 디바이스를 상징하는 자료구조.>Driver Object: 드라이버를 상징하는 자료구조.->하나의 드라이버가 두 개이상의 디바이스(Device Object)에 관여할 수 있음. -연결 구조 *같은 드라이버에서 관여하는 Device Object는 NextDevice로 연결시켜야 한다.*다른 드라이버의 Device Object는 AttachedDevice로 연결시켜야 한다. /*위 부분은 관련된 실습 내용을 못봤기 때문에..
1.권한 -Windows 보호모드 아키텍쳐에 의해, 접근 권한은 Ring0~ Ring3로 분류된다.>Ring0 ->커널 레벨->커널 드라이버, 운영체제 커널->하드웨어 직접접근이 허용.>Ring1~2-> 사용안함>Ring3 ->유저 레벨->하드웨어 직접접근 불가. -메모리 권한>응용프로그램->커널 영역을 볼 수 없음.->다른 응용프로그램의 메모리를 볼 수 없음(가상메모리, 동일 주소를 사용하기 때문)>커널->다른 커널 영역을 확인가능. 2.콜백함수(Kernel) -운영체제가 특정 조건 때 자동으로 호출해주는 함수. -함수 설명>프로세스>프로세스가 실행, 종료될 때 호출되는 콜백함수 등록/해제.NTSTATUS PsSetCreateProcessNotifyRoutine( IN PCREATE_PROCESS_NO..
1.심볼 파일 -종류>Public Symbol: MS에서 제공하는 심볼 >Private Symbol: 제조사가 제공하는 심볼 -Windbg 설정->심볼 경로 지정`File> Symbol File Path`"C:\sym; srv*c:\sym\websym*http://msdl.microsoft.com/download/symbols" 저장[전체 심볼] [웹에서 받아올 심볼] [URL]->심볼 업데이트windbg 상에서 명령어 입력kd> .reload /a 2.프로세스 전환 -작업중인 프로세스 외에 다른 프로세스의 정보(쓰레드, 콜스텍 등)를 확인할 수 있다. -실습1)프로세스 정보 확인`!process`:현재 active 쓰레드가 속한 프로세스 정보 출력 `!process 0 1`:모든 프로세스 정보 출력 `..
1.서비스 -NT서비스 프로그램으로 불림. -로그인 세션과 무관하게 시스템에서 계속 동작할 수 있음. -일반 응용프로그램과 달리, GUI(Graphic user Interface)를 사용할 수 없음. 2.드라이버 -드라이버도 서비스와 같은 형태로 관리됨. -부팅과정 중 시스템에 자동으로 상주/제거 될 수 있음. -세션과 무관하게 동작. -응용프로그램은 디바이스를 통해서만 디바이스를 인식>응용프로그램이 프린터 드라이버를 통해 프린터와 통신하려는데, 프린터 드라이버가 마우스와 연결되었다고 하더라도 응용프로그램은 알 수 없어 원래 동작 수행 3.레지스트리 값 -HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services>서비스 목록이 나타남. -확인*Start: 드라이버 로드..
0.정의 -드라이버는 두 대상(OS, 프로그램, 장치 등) 간의 통신을 돕는 역할을 한다. -드라이버 종류1)장치(?) 드라이버*응용프로그램(OS 함수 호출) -> OS(드라이버 함수 호출) -> 장치 I/O 2)필터/기능 드라이버>다수의 드라이버가 I/O를 요청할 경우,아래처럼 차례로 스텍에 쌓인다.>마지막 참가자(Driver 3)는 기능드라이버가 되고나머지는 필터드라이버가 된다.>>기능 드라이버: 장치와 직접 통신>>필터 드라이버: 요청을 전달하기만 함,그 외 요청이 제대로 이루어지는지 검사하는 기능도 수행. 3)소프트웨어 드라이버: OS의 핵심 데이터에 접근할 때 사용, 커널모드로 코드가 실행되어 보호된 데이터에 접근 가능. *유저모드에서 실행되는 소프트웨어 드라이버도 있다고 한다.. 4)버스 드라..