|
제가 과제연구기간을 맞아 만들고 있는 프로그램이 스텔스 모드로 구동되는데요... 처음에 여러 exe파일들을 점화시켜주는 최초프로그램을 시작프로그램으로 등록해 놓았습니다.
하지만 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
의 레지스트리 값을 등록해서 시작프로그램에 그냥 등록 할 경우에는 부팅시에 일단 창이 뜬 다음에 사라지기 때문에 프로세스명이 노출되서 걱정이 이만저만이 아닌데 아예 시작자체를 스텔스 모드로 할 수는 없습니까?
비스타에서 windows defender는 값에 -hide 가 적혀있길래 이렇게 하면 되나 하고 -hide를 추가시켜보지만 등록하면 자동으로 -hide 부분은 사라지더군요;; 방법 없을까요? 레지 등록 부분 소스는 다음으로 했습니다..value와 path 값은 main()부분에서 받아오구요... 방법좀 꼭 알려주세요. 아 그리고 여담이지만 또하나 이상한게 있는데요...이렇게 시작프로그램으로 등록을 해서 이 프로그램이 다른 파일을 실행시키도록 해 놓았는데 평소에는 잘 켜주다가도 꼭 부팅할 떄만은 안 켜지더라구요...왜그럴까요;
bool cs_util_register_start_Prog(const char*sValue,const char*sPath)
{
HKEY hKey;
DWORD dwDisp;
DWORD dwSize;
/*--------------------------------------------------------------------*/
/* precondition
*/
/*--------------------------------------------------------------------*/
if( sValue == NULL ||
sPath == NULL)
{
return false;
}
assert(sValue != NULL);
assert(sPath != NULL);
/*--------------------------------------------------------------------*/
if(RegCreateKeyEx (HKEY_LOCAL_MACHINE,
"Software\\Microsoft\\Windows\\CurrentVersion\\run",
0,NULL,REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS,
NULL,
&hKey,
&dwDisp) != ERROR_SUCCESS)
{
if(hKey != NULL)RegCloseKey(hKey);
return false;
}
/*--------------------------------------------------------------------*/
dwSize = strlen(sPath);
if(RegSetValueEx(hKey, sValue, 0, REG_SZ ,(LPBYTE)sPath, dwSize )
!= ERROR_SUCCESS)
{
RegCloseKey(hKey);
return false;
}
RegCloseKey(hKey);
RegFlushKey(hKey);
return true;
}
|