- lumenFC 축구 동호회
- 마샤블
- 웍스프레소
- 소셜@나눔<소셜미디어나눔연구소>
- 리버스코어
- LAIN
- LAIN 이사한 블로그
- TeamCR@K
- Sunnyday
- 보안 걱정이
- 리버싱 학습
- securityfirst_jo
- Practical Security Blog
- 세상, 그 유쾌한 전장
- 악성코드관련블로그
- Back to the Mac
- 패킷분석입문
- PacketInside / 네트워크 패킷 분석 블로그
- 침해사고분석 :: 네이버 블로그
- 소프트웨어 기술자경력관리시스템
- JK.Moon
- 자바 온라인학습
- Ezbeat의 도서관
- Dreams of a Final Journey
- IT eBooks - Free Download - Bi…
- Index of /madchat/coding/rever…
- Security Insight
- Reversing war game
- 고길고기
- clamav
- zerowine
- FORENSIC-PROOOF
- jquery 예제
- 조대협의블로그
- 국가과학기술인력개발원 교육포털 사이트
- 빅데이터, splunk
- 지식을 연주하는 사람
- malware analysis system
- 건국대토익스피킹
- 소프트웨어개발 및 협업도구
목록01.About Programming /2.Kernel Lab (24)
kisoo
http://micingamja.egloos.com/3587980 인터럽트 오브젝트에 대한 설명이 되어 있는 곳~
키보드 인터럽트 훅킹 ( http://www.driveronline.org/bbs/view.asp?tb=tipbbs&no=21 ) 키보드 인터럽트를 훅킹하기 위한 2가지 방법을 제안하고자 합니다. 첫번째 - IDT를 단서로한 키보드 인터럽트 훅킹 두번째 - 키보드 디바이스 드라이버를 단서로한 인터럽트 훅킹 키보드 인터럽트 훅킹의 가장 중요한 핵심은 Interrupt Object(KINTERRUPT)를 찾는 일입니다. Dumping IDT : .... 92: 828c39bc serial!SerialCIsrSw (KINTERRUPT 828c3980) 93: 82d2b254 i8042prt!I8042KeyboardInterruptService (KINTERRUPT 82d2b218) 94: 82b6fb44 ND..
마이크로 콘트롤러에 지식이 있거나, 컴퓨터에 많은 관심이 있어야 이해하기 쉬울겁니다. CPU에서 데이터를 처리하는 방법에 여러가지가 있는데, 그중에 인터럽트와 폴링이라는게 있습니다. 폴링은 데이터가 그냥 죽 들어오는 겁니다. 프로세서는 그것을 정해진 순서대로 처리를 합니다. 그런데 비상사태(전원이 나가려고 한다던지)나 급하게 처리해야 할 일이 생기면 큰일 나겠죠. 데이터를 저장도 못하고 날려버리고, 처리해야할 타이밍도 놓치고.. 그래서 만들어 놓은게 인터럽트라는 겁니다. 이것은 프로세서에 중대한 상황과 기타 사용자가 정의하는 상황을 번호로 매겨놓습니다 그리고 그 일이 생기면 현재의 작업을 중단하고 우선 처리합니다. 이 인터럽트들은 프로세서에서 롬으로 정의를 해놓습니다. 그런데, 롬에 저장이 되어 있으므로..
오늘 G그룹사 사이트에서 safetdi.sys 에서 덤프가 발생 하였다. 심볼이 맞지 않으니 당연히 삽질 2시간 하다가 .... 선임한테 배포된 pdb , sys 파일이 있어서 분석이 가능 했다. 1: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1) An attempt was made to access a pageable (or..
비스타 x64(64비트)버전에서 발생한 덤프를 분석해 보았다. 이미 알고 있으시겠지만 xp 에서는 디폴트로 설치된 drwtsn32.exe가 비스타에서는 없어졌다. 개인적으로 많이 아쉽다. 대신 오류가 발생하면 작업관리자에서 오른쪽 버튼 누르고 덤프를 생성해야 한다.(구찮아~) 안좋은점이 있다면 좋아진 점은 꼭 있다.(세상은 공평한가?!) 좋은점은 Hang(CPU 100%)가 되었을 때 기존에는 adplus를 이용해만 했다. 그러나 윈도우 비스타, 윈도우 2008 서버에서는 작업관리자에서 오른쪽 마우스를 클릭해서 바로 덤프를 생성하면 된다. 어제 DUMP를 하나 분석했는데 특이하게 !analyze -v extension 명령을 통해 분석한 오류 결과가 스레트 call stack이 실제 오류가 난 스레드 c..
PAGE_FAULT_IN_NONPAGED_AREA (50) 미니필터 드라이버를 가지고 장난좀 치다가 위 오류가 발생했습니다. 덤프를 WinDBG로 열어보면 아래와 같이 메세지가 나옵니다. 올바르지 않은 시스템 메모리를 참조했다. 이 오류는 try-except로 막을수 없다. 철저하게 코드를 조사해서 오류가 나지 않도록 해야 한다. 일반적으로 잘못된 메모리 주소를 접근하거나 이미 지운 메모리를 접근할때 발생하는 오류이다. Invalid system memory was referenced. This cannot be protected by try-except, it must be protected by a Probe. Typically the address is just plain bad or it is p..
Windows 2000은 32bit 주소 공간을 기반으로 하는 메모리 방식인데 이를 관리 하기위해 Virtual Memory Management(VMM)시스템을 사용한다. -> 이미 64비트 윈도우도 나와있다. 이는 실제 메모리에서 처리 될 수 있는 것 보다 더 많은 프로그램을 동시에 처리할 수 있으며, 각 프로세스 별로 독립된 보호모드의 메모리 공간을 할당하기 때문에 한 프로세스에서 일어나는 에러나 문제가 다른 프로세스에 영향을 줄 수 없도록 설계되어 있다.->그러나 커널 프로그램밍은 다르다. 자세한 이유는 나중에 따로 커널 프로그램밍에 대해서 블로그에 정리할 예정입니다. 그때까지 기둘려 주셈^8^ 물리적 메모리 주소는 설치된 메모리의 양에 따라서 한계가 있지만 가상 메모리 주소는 32 bit 이기에 ..
1)!vm 명령을 사용해서 현재 컴퓨터의 메모리 사용량을 살펴 보았습니다. kd> !vm *** Virtual Memory Usage *** Physical Memory: 655234 ( 2620936 Kb) Page File: \??\C:\pagefile.sys Current: 2095104Kb Free Space: 1999612Kb Minimum: 2095104Kb Maximum: 4190208Kb Available Pages: 130442 ( 521768 Kb) ResAvail Pages: 577917 ( 2311668 Kb) Modified Pages: 749 ( 2996 Kb) NonPagedPool Usage: 65522 ( 262088 Kb) NonPagedPool Max: 69378 ( 2..
typedef struct _CHILD_RESULT { DWORD dwDepth; LPVOID lpLeftContext; LPVOID lpRightContext; }CHILD_RESULT, *PCHILD_RESULT; typedef struct _CHECK_RESULT { DWORD dwFlags; DWORD dwCheckResult; CHILD_RESULT stChildResult; TCHAR szResult[SZ_MAXSIZE]; LPVOID lpContext; }CHECK_RESULT, *PCHECK_RESULT; 1) 구조체 형태 파악하기 0:000> dt _CHECK_RESULT WinDbg_dt_test!_CHECK_RESULT +0x000 dwFlags : Uint4B +0x004 dwChe..
커널 스택 사이즈가 12KB로 인해서 커널 모드 (드라이버)개발 할때 주의할 사항에 대해서 알아보겠습니다. [커널 스택 (Kernel Stack)] 커널 모드 루틴은 유저 모드 스택과 동일한 방식으로 동작하는 스택을 가지고 있다. 그러나 커널 스택의 최대 사이즈는 매우 작고 커지지 않기 때문에 아껴서 사용해야 한다. (User Mode Stack : 1MB->부족할 경우 자동으로 사이즈가 커진다. Kernel Mode Stack : 12KB->부족해도 커지지 않는다.) 아래 3가지 TIP은 커널 스택사용할때 주의 사항이다. 1) 재귀 루틴은 커널 스택 사용에 있어 특히 주의를 해야 한다. 보통 드라이버는 재귀적 루틴을 사용하면 안된다. 2) 디스크 I/O 경로는 깊은 계층적 경로를 가지고 하나 이상의 페..