프로세스 숨김시 블루스크린 질문입니다.

프로그래밍 일반에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

프로세스 숨김시 블루스크린 질문입니다.

Post by 비회원 »

안녕하세요^^
작업관리자에서 프로세스를 숨기려고 하고 있는데요...
프로세스를 숨기는 것은 인터넷 돌아 다니다가 찾아서 했는데요..
문제는 프로세스를 숨기고 나니 시스템 종료, 재부팅, 로그인/아웃시에
블루 스크린이 떠 버립니다.
드라이브 만들지 않았구요, NativeAPI를 이용 커널연결에서 잠시 빼 놓는...
어떻게 해결해야 할까요...?

수십번 재부팅해서 한번쯤 블루스크린이 떠 버리면 이해하겠지만
손가락에 꼽힐정도 재부팅만으로 블루스크린이 떠버리니 미쳐버리겠습니다.

소스는 인터넷검색하다보면 그대로 나와있긴하지만...
혹시라도 악용소지가 있지 않을까 하는 마음에 링크는 걸지 않겠습니다.
그래도 필요하시다면 알려는 드릴께요^^
비회원

Post by 비회원 »

그리고 시스템 종료된다는 메시지를 받으면
종료 되어 버리도록 WM_QUERYENDSESSION / WM_ENDSESSION
메시지를 받으면 exit(EXIT_SUCCESS);
하여 종료해 버립니다.

그래도 여전히 블루스크린이 떠 버리네요...
park
Posts: 189
Joined: 2008-07-30 09:04
Location: bandi

Post by park »

해킹용은 아니고, 보안 프로그램 비슷한걸 만들면서 유사한 프로그램을 만든적이 있습니다.

(어차피 해킹쪽이나 보안쪽이나 결국 프로그래밍 하는 분야는 동일하더군요... )


프로세스 숨김이라면 유저레벨에서 API를 후킹하는 방법과

드라이버를 (.SYS) 만들어서 드라이버에서 커널 API를 후킹하는 방법 두가지 정도가 있을텐데..

아마도 블루스크린이 뜬다면 후자가 아닌가합니다.


커널 레벨에서 후킹을 해보면서 느낀건데, 인터넷에 돌아다니는 소스중에 믿을만한 소스가

많지 않습니다. 블로그에서 소스 보면서 .. "어 훌륭한데 이사람 직업이 뭘까?" 라고 살펴보면

대부분 중/고등학생이더군요 OTL


일부 아마추어들이 만든 소스는 작동만 신경쓰고, 안정성에 신경안쓴거라서 그냥 아무때나

후킹했다가 언후킹했다가 그러는데, 후킹된 API를 다른 프로세스가 호출중일때 그냥 언후킹 하면서

원래 API 포인터를 NULL 로 만들도록 코드가 되어 있으면 100% 블루스크린으 뜨죠....


결국 후킹/언후킹도 안정적으로 하려면 동기화 루틴이 들어가야 됩니다....


소스에 문제가 있다면 그냥 COPY&PASTE 하지 마시고 한줄한줄 다시 소스를 검토해 보셔야 할껍니다.
park
Posts: 189
Joined: 2008-07-30 09:04
Location: bandi

Post by park »

아 그리고 블루스크린이 뜬다면 미니덤프가 windows\minidump 에 저장되는데

windbg 로 심볼 경로 지정하고 해당 파일을 열어보면 거의 대부분 문제의 원인이 되는 부분을

찾을 수 있습니다.
비회원

Post by 비회원 »

음...답변감사합니다.
제가 커널 만질 줄도 모르고 그냥 복사 붙여넣기해서요;
그리고 제가 구한 소스는... 몇날 몇일을 검색에 검색을 해서 구했지만
의외로 알고나니 바로 나오는 소스더 군요;;
글자하나의 차이일뿌니였는데 ㅋㅋㅋ
여튼 음... 소스자체는 중/고딩이 아닌 실력있으신 분께서 하신것같은데요...
제가 쪽지로 몇번 대화를 해봤는데 그분께서는 블루스크린이 나타나지 않으신다네요...
전 계속나는데...
그분 소스와 다른점은 그분은 WinApi이고 저는 MFCDlg라는것^^;
그리고 테스트를 위해 기본다이얼로그에 숨기기를 적용하니깐
프로세스에서 숨김..했을때는 문제가 없는데
HideProcess + ShowWindow(SW_HIDE) = 블루 스크린
이렇게 되는 것 같더군요...;;
이제는 손가락에 꼽을 정도가 아닌 100% 블루 스크린이네요...
어이없음...;;

앗! 얼굴에 개기름이;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
비회원

Post by 비회원 »

미니덤프 내용입니다.

=================================================================
Loading Dump File [C:\WINDOWS\Minidump\Mini113009-06.dmp]
Mini Kernel Dump File: Only registers and stack trace are available

Symbol search path is: C:\WINDOWS\Minidump
Executable search path is:
Unable to load image ntoskrnl.exe, Win32 error 2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
*** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe
Windows XP Kernel Version 2600 (Service Pack 2) MP (2 procs) Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Kernel base = 0x804d9000 PsLoadedModuleList = 0x805644a0
Debug session time: Mon Nov 30 09:12:44.388 2009 (GMT+9)
System Uptime: 0 days 0:01:38.146
Unable to load image ntoskrnl.exe, Win32 error 2
*** WARNING: Unable to verify timestamp for ntoskrnl.exe
*** ERROR: Module load completed but symbols could not be loaded for ntoskrnl.exe
Loading Kernel Symbols
.................................................................................................................................................
Loading User Symbols
Loading unloaded module list
..........
ERROR: FindPlugIns 8007007b
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 10000050, {b5129cc8, 0, 8058b919, 0}

***** Kernel symbols are WRONG. Please fix symbols to do analysis.

*** WARNING: Unable to verify timestamp for mssmbios.sys
*** ERROR: Module load completed but symbols could not be loaded for mssmbios.sys
Probably caused by : ntoskrnl.exe ( nt+b2919 )

Followup: MachineOwner
---------
=================================================================

이게 뭐가 문제인건가요?
도저희 알수가 없네요;;;
무슨말인지;;
파일들 다 열어봐도 전부 이내용이네요....
Locked