Суббота, 20.04.2024, 10:44 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Модератор форума: Волк-1024, Anton93, xXxSh@dowxXx  
delphicode » Delphi » Вирусология Delphi » Добавление в автозагрузку (Work on Windows 7!)
Добавление в автозагрузку
Волк-1024Дата: Вторник, 24.04.2012, 22:31 | Сообщение # 26
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Ну, например, при добавлении ключа в RunOnce. ССleaner его не видет smile
 
xXxSh@dowxXxДата: Среда, 25.04.2012, 09:10 | Сообщение # 27
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Marra_Kesh ну если говорить о скрытности тогда вернемся к первому посту, но там опять же остается нерешенной задача по копированию в обход проактивки антивирусов, и даже в этом случае некоторые программы определяющие автозагрузчики находят по мимо реестра и этот файл в папке автозагрузки...

вобщем пришла мне в голову одна идея, а что если не просто копировать себя в папку актозапуска, а создать там NTFS поток и засунуть в него наш файл, кто нибудь тестил потоки на автозапуске, кто что знает?

поэкспериментировал я немножко и вот чего удалось добиться с помощью потока, в принципе бесполезно, но все же удивляет biggrin

все делалось ради эксперимента smile , хотел было смайлик нарисовать :), но увы, оказалось что обязательно должен быть разделитель в виде "." либо в файле либо в потоке перед расширением, но что еще поразило, если хотя бы в потоке мы указываем расширение то в файле (к которому мы создали поток) точку перед расширением можно смело убрать и наоборот, тогда выглядеть процесс будет примерно так:

:1.exe
или в моем случае
: . или . :

поэтому я решил ограничиться неким подобием самолетика ну или треугольника как хотите biggrin
первое изображение с диспетчеза задач, второе из стороннего софта:
Прикрепления: 8497913.jpg (27.9 Kb) · 4218004.jpg (28.8 Kb)


Сообщение отредактировал xXxSh@dowxXx - Среда, 25.04.2012, 12:18
 
xXxSh@dowxXxДата: Среда, 02.05.2012, 11:12 | Сообщение # 28
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
К моему удивлению, после немногочисленных тестов с антивирусом, оказалось что эвристика антивируса как раз таки не обращает внимание на
Code

CopyFile(PChar(ParamStr(0))


все дело в самой папке "Автозагрузка", антивирь ругается вот на это

Code

PChar(GetSpecialPath($0007)


то есть когда копирование идет конкретно в эту папку, я и подумал, антивирь же не ругается когда мы просто копируем методом "CTRL+C", видимо это происходит потому что у нас в фокуче активное окно експлоурера в этой папке при помощи проводника, так может быть можно при помощи какого либо варианта или API функции использовать в коде оригинальный подход...


Сообщение отредактировал xXxSh@dowxXx - Среда, 02.05.2012, 11:14
 
gravitasДата: Среда, 02.05.2012, 15:04 | Сообщение # 29
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
15 строк кода и 30 постов. Товарищи, вы что, ошалели?)
 
Don_DiegoДата: Среда, 02.05.2012, 16:08 | Сообщение # 30
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Quote (xXxSh@dowxXx)
все дело в самой папке "Автозагрузка", антивирь ругается вот на это
Code
PChar(GetSpecialPath($0007)
   

Если бы да так... Я создавал уже и новую папку в Program Files, копировал туда как обычную программу - все равно кричит. И причем кричит только KIS. NOD32, Аваст, и даже, сильно удивился, DrWeb молчат.
 
xXxSh@dowxXxДата: Среда, 02.05.2012, 19:43 | Сообщение # 31
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Don_Diego странно, вот мой код, самокопирование в "Program Files" каспер последний обновленный не орет:

Code

function GetSpecialPath(CSIDL: word): string;
var s:  string;
begin
       SetLength(s, MAX_PATH);
       if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true)
       then s := '';
       Result := PChar(s);
       CopyFile(PChar(ParamStr(0)), PChar(Result + '\1.exe'), False);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
GetSpecialPath($26);
end;


может быть я по ошибке в исключение добавлял проект, хз, вроде нет...

Don_Diego скажи что у тебя за каспер который даже папку "Program Files" контролирует ?

да все верно, в другие папки норм копируется, а вот в "Автозагрузку" каспер выдает сообщение в котором так и написано цитирую - "программа пытается создать файл, входящий в группу Операционная система/Параметры автозапуска" и потом определяет его как "Trojan.generic", но это только если в автозагрузку копироваться...


Сообщение отредактировал xXxSh@dowxXx - Среда, 02.05.2012, 19:53
 
Don_DiegoДата: Среда, 02.05.2012, 21:59 | Сообщение # 32
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, KIS 2011, с последними обновлениями. Тут наверно весь прикол вот в этом:
Quote (xXxSh@dowxXx)

Code
procedure TForm1.Button1Click(Sender: TObject);    
  begin    
  GetSpecialPath($26);    
  end;


Где-то слышал что если запускать процедуры через кнопки - то он не ругается. У меня же все делалось без влияния на то пользователя biggrin
Выдает "Trojan.generic"... А если убрать автозагрузку, сделать вообще как пинч то вроде все нормально. Но такой способ меня не устраивает - пользователи иногда меняют пароли happy
 
xXxSh@dowxXxДата: Среда, 02.05.2012, 22:28 | Сообщение # 33
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Quote (Don_Diego)
Тут наверно весь прикол вот в этом:


Code

procedure TForm1.Button1Click(Sender: TObject);       
   begin       
   GetSpecialPath($26);       
   end;


то есть с моим кодом у тебя на Program Files больше не ругается?
 
Don_DiegoДата: Среда, 02.05.2012, 23:09 | Сообщение # 34
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, если без кнопочки, то ругается.
http://s2.ipicture.ru/uploads/20120502/uyI6RLyR.jpg
 
xXxSh@dowxXxДата: Среда, 02.05.2012, 23:21 | Сообщение # 35
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
не знаю я переписал вот таким образом, и опять же каспер молчит:

Code

function GetSpecialPath(CSIDL: word): string;
var s:  string;
begin
   SetLength(s, MAX_PATH);
   if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, true)
   then s := '';
   Result := PChar(s);
   CopyFile(PChar(ParamStr(0)), PChar(Result + '\1.exe'), False);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
GetSpecialPath($26);
end;

end.


хз почему у тебя так, может у тебя не GetSpecialPath($26); а GetSpecialPath($0007); стоит в коде, тогда да, сразу палит, автозагрузка же...
 
Don_DiegoДата: Среда, 02.05.2012, 23:32 | Сообщение # 36
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, сильно не кричи, но я не сохранил тот переработанный проэкт. Уже и сонный, спать хочется. Вобщем вот сюда нужно вновь запхнуть твой код, а потом проверить:


PS: DecryptString - это функция расшифровки данных, в комментариях поставлены раскодированные значения


Сообщение отредактировал Don_Diego - Пятница, 04.05.2012, 14:44
 
xXxSh@dowxXxДата: Четверг, 03.05.2012, 09:27 | Сообщение # 37
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Если я правильно понял, то ты хочешь создать .ini файл с параметрами ключа реестра,который в итоге тебе нужно скопировать в "Program Files", если у тебя ругается на твою функцию копирования антивирь,то попробуй заменить на мою,она по сути почти ни чем не отличается,просто у меня не WinPach параметр...,я сам к сожалению в данный момент проверить не могу,так как я на работе и пишу с телефона,завтра дома буду, тогда и гляну сразу твой код...
 
xXxSh@dowxXxДата: Четверг, 03.05.2012, 09:34 | Сообщение # 38
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Ребята,давайте еще подумаем,какими еще вариантами можно перелопатить функцию таким образом что бы не ругался антивирус во время копирования в папку автозагрузки, у кого какие еще есть варианты?
 
Don_DiegoДата: Четверг, 03.05.2012, 10:33 | Сообщение # 39
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Quote (xXxSh@dowxXx)
Если я правильно понял, то ты хочешь создать .ini файл с параметрами ключа реестра,который в итоге тебе нужно скопировать в "Program Files"

Эм... TRegIniFile также можно использовать для записи в реестр, что и делается, раньше на такой способ даже антивирус не кричал. Функция WinPath это считай аналог приведенной GetSpecialPath, тоесть как видно она принимает такие же параметры - "$26". Но в отличии от твоей она просто возвращает путь к системной папке. А у тебя интересный подход (я уже выспался biggrin ) с запутыванием кода.
 
xXxSh@dowxXxДата: Пятница, 04.05.2012, 09:30 | Сообщение # 40
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Don_Diego все я дома, щас буду пробувать, только вот скажи, а зачем ты используешь шифрование путей?

и еще че та я не могу найти, в uses какой модуль требуется для WinPach.., капец после суток на работе вобще ниче не соображаю biggrin


Сообщение отредактировал xXxSh@dowxXx - Пятница, 04.05.2012, 09:53
 
Don_DiegoДата: Пятница, 04.05.2012, 10:30 | Сообщение # 41
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, согласен, шифрование путей считай бессмысленно, но все же хоть маленькая защита от некоторых антивирусов. Там же шифруется и сам пароль доступа на почту. Конечно, и его то можем выловить с помощью любого снифера, но хоть в файле его хрен найдешь biggrin
Называй эту функцию как хочешь, хоть WinPath, хоть GetSpecialPath, все равно функциональность от этого не изменится:
Code
uses
  ShlObj;

function WinPath(FolderID: word): string;
var
   FolderPath: string;
begin
   SetLength(FolderPath, MAX_PATH);
   if not SHGetSpecialFolderPath(0, PChar(FolderPath), FolderID, true) then
     FolderPath:= WinPath(CSIDL_APPDATA);
   Result:= PChar(FolderPath);
end;
 
xXxSh@dowxXxДата: Пятница, 04.05.2012, 11:42 | Сообщение # 42
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
а ну да, одна и та же функция просто названа по разному...
хз вроде все проверил, на эту функцию вобще антивирь не ругается, даже если без кнопки и без формы, хз почему у тебя так, неужели в KIS и KCrystal по разному устроена проактивка?, может у тебя на добавление записи в ветку Run реестра ругается?

скорее всего так и есть, потому что на функцию копирования в обычные папки проактивка не должна реагировать...


Сообщение отредактировал xXxSh@dowxXx - Пятница, 04.05.2012, 11:49
 
Don_DiegoДата: Пятница, 04.05.2012, 12:12 | Сообщение # 43
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Quote (xXxSh@dowxXx)
неужели в KIS и KCrystal по разному устроена проактивка?

Если это действительно так, то всем нужно скорей переходить на KIS 2011 biggrin
Насколько мне известно то в KCrystal лишь улучшена защита для банковских операций. Меня вот интересует тогда, почему он не ругается когда в Run пишутся другие программы?
Хотя... Мне кажется он ругается потому что в троянце идет обращение к файлам куки и паролей MSIE, Mozilla, Opera и Google Chrome. Последний кставти вообще запрещает к ним доступ когда сам открыт. Поэтому пришлось его...закрывать
 
Don_DiegoДата: Пятница, 04.05.2012, 14:35 | Сообщение # 44
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
Только что скомпилировал этот код:


И вот что получилось:


Значит вывод: вновь перерабатываем функцию автозапуска, и тем у кого стоит KCrystal срочно меняем его на KIS 2011!
Прикрепления: 8850779.jpg (21.9 Kb)


Сообщение отредактировал Don_Diego - Пятница, 04.05.2012, 14:38
 
xXxSh@dowxXxДата: Пятница, 04.05.2012, 18:20 | Сообщение # 45
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
ок, это уже интересно, а ты файл свой скомпиленный случаем не с рабочего стола запускаешь? biggrin

если я правильно понял, то по уведомлению каспера видно что скорее всего оно вылетает не когда ты запускаешь скомпилированный Project1.exe, а когда переходишь в папку с ним, или когда любым образом обращаешься к файлу, копируешь например, каспер у тебя сразу выдает что это троян, хотя могу и ошибаться, но если Explorer.exe то это должно быть именно так, потому что первым делом к файлу обращается проводник и процесс Explorer'a...


Сообщение отредактировал xXxSh@dowxXx - Пятница, 04.05.2012, 18:30
 
Don_DiegoДата: Пятница, 04.05.2012, 21:19 | Сообщение # 46
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 253
Статус: Offline
xXxSh@dowxXx, папка с проектом в другом месте, скопировал на рабочий стол Project1.exe, KIS молчал. Но когда я попытался его запустить, то тут же вылезло то что вылезло surprised
Ты этот же самый код компилировал у себя, проверял KCrystal?
 
xXxSh@dowxXxДата: Пятница, 04.05.2012, 22:42 | Сообщение # 47
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
в общем капец какой то, все перепробывал, даже запись в реестр через WinAPI, один хрен каспер палит все, единственный вариант это компилировать а потом править через Дизассемблер, тогда можно чуть исправить пару байт что бы каспер замолчал, только так, если только не попробывать еще какой нить вариант записи в реестр или самокопирования...

Quote (Don_Diego)
Ты этот же самый код компилировал у себя, проверял KCrystal?


да я установил новый буилд KCrystal последний самый, он так же палит сразу как только компилишь, но что меня больше поразило, теперь каспер контролирует файлы не только по средствам проводника Explorer.exe но и по всем открытым процессам, он теперь в режиме реального времени прогоняет каждый процесс на предмет обращения к новым файлам, вот только оперативы еще больше стал пожирать зараза...


Сообщение отредактировал xXxSh@dowxXx - Пятница, 04.05.2012, 22:43
 
Волк-1024Дата: Пятница, 04.05.2012, 23:53 | Сообщение # 48
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Код палица не сигнатурно... Так что при почти любом переписывании кода будет одна и таже фигня - палево. Копать нужно в сторону антиэмуляции.
 
Marra_KeshДата: Суббота, 05.05.2012, 00:10 | Сообщение # 49
Постоянный
Зарегистрирован: 19.12.2009
Группа: Модераторы
Сообщений: 182
Статус: Offline
Меня мучает такой вопрос: ПоЩаму AV программы не ругаются например на Punto Switcher, Daemon tools и прочую зал*пу, которая тоже прописывается в реестре используя теже API ф-ции, что и Я использую в своих, а на мою безобидную, девственно чистую программу ругается???
 
Волк-1024Дата: Суббота, 05.05.2012, 00:55 | Сообщение # 50
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
Причин очень много. Эти программы у АВ в вайт листах (типа калькулятора и блокнота), программы имеют собственную эл.подпись, эмулятор видит, что у программ есть работа с GUI и т.д и т.п.

Quote
девственно чистую программу ругается


Поэтому и орёт, что кроме записи в реестр больше ничего не делает.
 
delphicode » Delphi » Вирусология Delphi » Добавление в автозагрузку (Work on Windows 7!)
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz