본문 바로가기

My Study/Programming&Theory

BSOD에러 창 띄우기

보통 BSOD에러가 뜨는 이유는 커널 영역에서 오류가 났을 때 시스템을 보호하기위해 BSOD에러가 뜨는 것입니다.
강제적으로 에러를 띄우게 하기 위해서는 이상한 드라이버를 로드시키고 실행시키면 됩니다.
하지만.. 드라이버를 사용하지 않고.. 어떻게 띄울 방법이 없을까 생각해보다가..~! 장난삼아 이 방법을 생각해보았습니다.

cmd창을 풀스크린으로 하고 배경색을 파란색으로 바꾸고 글씨색도 하얀색으로 바꾼 후..!
BSOD창에서 뜨는 에러문구와 똑같이 문자열을 출력해주면 됩니다.

이렇게 간단할꺼 같아서.. 구현을 시도해보았는데 exe파일 하나로 하려고 하기엔 쫌.. 힘들었지만.. 일단 구현은 성공했습니다.

일단 Ezbeat.exe는 실행을 하면 먼저 cmd창을 풀스크린으로 바꾸고 
배경색과 글씨색을 바꾸기 위해 레지값 수정을 합니다.
그 후 DLL.dll과 BSOD.exe를 생성시킵니다.

Ezbeat.exe는 DLL.dll을 explorer.exe에 dll injection을 하게 됩니다.
injection된 DLL.dll은 BSOD.exe를 실행시키게됩니다.

BSOD.exe는 BSOD에러창처럼 띄우도록 내부적으로 전부 
system("echo ~~~");   <--- 이것을 사용해 구현했습니다.

작동하는 것을 영상으로 보시겠습니다. ( Ctrl + 마우스 휠로 크기를 조절할 수 있습니다. )
영상 다운 : 

장난삼아 만들어 봤습니다... 이 창을 잘 아시는 분이라면 바로 이거 진짜 BSOD아니구나..~ 라는 것을 바로 아실 수 있을 것입니다. -_-;; 글씨색도 다르고.. 크기도 다르고.. 체도 다르고.. ㅋㅋ
그리고 Windows XP에서만 되고.. Windows 7은 cmd창이 전체화면이 안되더군요... ㅠㅠ

하지만!! 컴퓨터쪽에서 일하시는 분 아니라면.. 정말 낚이더군요. 제 친구도 낚여서 컴퓨터 끄더라구요..^^; 
악용은 하지 맙시다~~!