Start a Conversation

해결되지 않음

이 게시글은 5년 이상 된 게시글입니다.

Closed

N

270 Posts

40306

December 25th, 2008 22:00

Rundll32.exe, 넌 무엇인가?

What is rundll32.exe And Why Is It Running?


사용 중인 컴퓨터의 [작업 관리자]에서 보면 세상에나 많은 숫자의 RUNDLL32.EXE이 실행되고 있는 것을 관찰할 수 있습니다.

이는 도대체 무엇이며, 왜 많은 숫자가 동시에 실행되고 있는 것일까?

그리고 이 기사의 내용과 유사한 작업 과정을 갖는 기사를 소개합니다.


설명과 이해

얼마 간의 여유로, 사용 중인 컴퓨터를 살펴보면, 각 응용 프로그램 폴더마다 수많은 *.DLL(Dynamic Link Library) 파일들이 산재되어 있는 것을 볼 수 있으며, 이들은 다중의 응용 프로그램으로부터 액세스되는 애플리케이션 로직의 공용 조각(store common pieces of application logic)을 저장하기 위해 사용됩니다.

어떤 DLL 파일을 바로 런칭할 수 없기 때문에, rundll32.exe 애플리케이션은 단순히 공유된 .dll 파일들에 저장된 기능을 실행하기 위하여 사용됩니다.

이 실행 가능 파일은 Windows의 유효한 부분이며, 일반적으로는 위협이 되지는 않습니다.

유효한 프로세스는 일반적으로 \\ Windows \\ System32 \\ rundll32.exe에 있지만, 그러나 때때로 스파이웨어는 똑같은 이름을 사용하여 자신을 감추기 위하여 다른 디렉토리에서 실행됩니다.

사용자가 무슨 문제가 있다고 판단하면, 항상 확인을 위하여 스캔을 하여야 하지만, 그러나, 우리는 여기에서 정확하게 무엇이 일어나고 있는가를 검증할 것입니다.


Windows Vista의 작업 관리자 사용하기

Windows Vista의 [작업 관리자]의 큰 기능 중의 하나는, 어떤 실행 중인 애플리케이션의 전체 명령줄을 볼 수 있는 능력입니다.

예를 들면, 아래 그림 예제에서 우리들은 리스트에서 2개의 rundll32.exe 프로세스를 볼 수 있습니다.

image

일상적인 [보기] 상태에 변화를 주기 위하여, 주 메뉴의 [보기]-[열 선택] 옵션을 클릭하면 아래 그림과 같이 [프로세스 페이지 열 선택(Select Process Page Columns)] 창이 열립니다.

하단으로 내려가 [명령줄(Command Line)]의 체크를 설정합니다.

image

이제 화면에 변화가 생겨, 리스트된 각 프로세스의 전 경로가 [명령줄] Column에 표시됩니다.

유효한 경로, System32 디렉토리, rundll32.exe의 경로가 표시되는 외에, 실제로 실행되고 있는 DLL에 대한 변수(argument)도 볼 수 있습니다.

image

만약에 그 실제 실행되고 있는 파일을, 예제에서는 nvmctray.dll, 찾아보려면, Windows 탐색기에서 그 파일 이름 위로 마우스를 호우버하면, 간략한 정보가 나타날 것입니다.

image

아니면, 그 파일을 마우스 우클릭하여 [속성]을 선택, [자세히] 탭에서 파일에 대한 기술을 볼 수 있어 그 파일의 용도를 무엇인가를 짐작할 수 있을 것입니다.

image

이제 그 파일이 무엇인가를 파악하였다면, 우리는 아래에 계속되는 내용에 따라 그 실행을 유효 또는 무효로 조정할 수 있습니다.

여기서 그 파일에 대한 정보가 불충분하다면 Google이나 또는 아래 링크의 도움을 받습니다.


Process Explorer 사용하기

[작업 관리자]를 사용하는 대신에 아래의 MS의 무상 유틸리티를 사용하여 무엇이 뭔가를 가려낼 수도 있습니다.

단순하게 Process Explorer을 실행하여 [File] 메뉴의 [Show Details for All Processes]를 선택합니다.

image

이제 원하는 rundll32.exe 위로 마우스 호우버 오버하면 풍선 도움말(tooltip)로 실제 뭐가 실행되고 있는지를 나타내는 내용을 볼 수 있습니다.

image

아니면, 마우스 우클릭하여 [Properity]을 선택, [Image] 탭에서 실제 런칭되고 있는 전 경로를 볼 수 있으며, 그 상위 프로세스(Parent Process)도 볼 수 있습니다.

아래 예제에서는 Windows shell (explorer.exe), [바로 가기] 또는 [시작] 항목으로부터 런칭되고 있음을 알 수 잇습니다.

image

결과적으로 예제에서는 NVIDIA 컨트롤 패널의 일부분으로 더 이상 필요한 취할 조치가 없습니다.


프로세스를 사용 안 하는 것으로 설정하기

그 프로세스가 무엇인가에 따라서, 그 프로세스를 무효로 설정하여 시스템의 기동과 동시에 자동적으로 실행되는 것을 막고 싶은 경우에는, 다른 여러 방법이 있겠지만, 단순히 Process Explorer의 체크 상자의 체크를 해제하면 됩니다.

image

때로는 그 프로세스가 시작 항목에 등록되어 있지 않은 경우도 있으며, 이 때에는 그 시발점을 찾기 위한  약간의 리서치가 필요합니다.

예를 들면, XP에서 [디스플레이]의 [속성]을 열면, 다른 rundll32.exe가 리스트에 나타나며, Windows 내부적으로 그 대화 상자에 rundll32.exe를 사용하기 때문입니다. 

기사 중의 그림의 출처는 상단 기사출처와 같습니다. 

No Responses!
이벤트를 찾을 수 없습니다!

Top