프로그램을 강제종료시켜주는 프로그램입니다. 이걸로 못 종료한 프로그램을 못 봤다는...

제작 : 수학쟁이

사용자 삽입 이미지


'창 종료' 기능을 쓰면 창이 있는 모든 프로그램은 100% 종료가 가능합니다.
만일을 대비해 창 종료가 실패하면 소유 프로세스를 종료할 수 있도록 체크박스를
하나 더 넣었습니다.

특징:
 * 이 프로그램은 종료되지 않는 프로그램을 종료하기 위해 만들어졌습니다.
 (혹은 전문가용)
 * 거의 모든 창 종료/프로세스 종료/스레드 종료 기법을 내장하였습니다.
 (창 종료 코드가 들어있는 메인 폼의 코드만 1302줄에 달합니다. (프로그램 자체는 총 1704줄)
 * Spy++로 Capture가 안되는 창 (ex: Rootkit Unhooker) 등도 이 프로그램의 캡쳐 툴로는
 캡쳐가 가능합니다. (WindowFromPoint만 쓰지 않았기 떄문)
 * [검색] 기능을 제공함으로써 보이지 않는 창에 대해서도 처리할 수 있게 하였습니다.
 * 깔끔한 UI 인터페이스
 * Manual Anti Debugger and Code Obfuscation (Some Packer And Virtualizer Used Rearly.)
 * 더미다로 패킹하지 않아서 9x 계열(그리고 비스타나 차후 윈도우에서도 호환될듯)도 호환됩니다.

창 종료 기법:
- WM_CLOSE
- SC_CLOSE
- WM_DESTROY & WM_NCDESTROY & WM_QUIT
- Close Window using SetParent()  <--- ※ 왠만한 프로그램은 여기서 다 종료되었습니다.
- WM_QUERYENDSESSION / WM_ENDSESSION (Fake EndSession Request)
- EndTask() API of User32.dll

프로세스 종료 기법:
- OpenProcess-TerminateProcess
- ZwOpenProcess-ZwTerminateProcess
- WinStationTerminateProcess
- DebugActiveProcess
- 모든 프로세스를 관장하는 CSRSS.EXE에서 핸들 복사 및 종료/Crash 시도
  ---> OpenProcess 및 ZwOpenProcess 만 후킹한 경우 이 방법에 의해 취약할 수 있습니다.
- NtSystemDebugControl를 이용한 종료 시도 (ProcessGuard 우회 성공.
 ProcessGuard가 아니더라도 SSDT Hook으로 프로세스를 보호한 경우
 이 방법에 의해 뚫릴 수 있습니다.)
  ---> 커널 모드의 함수를 수정시도하며, XP에서만 제대로 동작할듯.
- CreateRemoteThread()를 이용한 ExitProcess() 강제 실행

스레드 종료 기법:
- OpenThread-TerminateThread
- SetWindowsHookEx()를 이용한 GUI Process Crash

출처 : http://vbdream.tistory.com/56

+ Recent posts