Перейти к содержанию

Запуск процессов из под службы


Рекомендуемые сообщения

Помогите пожалуйста!

 

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

Сейчас активно идет внедрение в далеких от Москвы городах и поэтому данные у меня не полные, но так как они массовые думаю что вы мне сможете помочь

 

1) Речь идет о Windows XP

2) У меня есть небольшой сервис (запущенный под систем эккаунтом), который является пускачем другой программы (запускает эту программу в сессии пользователя, но под System эккаунтом) которая в свою очередь является UI частью программы.

3) По всей видимости если на компьютерах стоит антивирус касперского (по крайней мере версия 5.0) происходит такое чудо, что пускач не может пускануть эту программу (коды ошибок к сожалению не могу дать, в логах системных ничего нет).

4) всякие доверенные программы и так далее не помогают.

5) Я обратил внимание, что даже другие сервисы, которые должны быть запущены под SYSTEM эккаунтом вроде как под ним и не запущены, по крайней мере в диспетчере задач имя пользователя у них пустое

6) данный способ работает уже много где и под Windows XP и под Windows Vista и под Windows 7 и с антивирусами других производителей, но ничего похожего нет.

 

Что делать? ААА :acute: жду... спасибо.

 

п.с. поподробнее здесь приведу код, который запускает процесс тут инвоки Win32 апишных функций

 

public static int? CurrentSessionID()

{

int dwSessionId = 0;

IntPtr WTS_CURRENT_SERVER_HANDLE = IntPtr.Zero;

IntPtr pSessionInfo = IntPtr.Zero;

int dwCount = 0;

 

WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE, 0, 1, ref pSessionInfo, ref dwCount);

 

Int32 dataSize = Marshal.SizeOf(typeof(WTS_SESSION_INFO));

 

Int32 current = (int)pSessionInfo;

for (int i = 0; i < dwCount; i++)

{

WTS_SESSION_INFO si = (WTS_SESSION_INFO)Marshal.PtrToStructure((System.IntPtr)current, typeof(WTS_SESSION_INFO));

if (WTS_CONNECTSTATE_CLASS.WTSActive == si.State)

return si.SessionID;

 

current += dataSize;

}

return null;

}

 

 

 

public static bool StartProcessAndBypassUAC(String applicationName, out PROCESS_INFORMATION procInfo)

{

uint winlogonPid = 0;

IntPtr hUserTokenDup = IntPtr.Zero, hPToken = IntPtr.Zero, hProcess = IntPtr.Zero;

procInfo = new PROCESS_INFORMATION();

 

var sss = CurrentSessionID();

if (sss == null)

return false;

int dwSessionId = sss.Value;

 

Process[] processes = Process.GetProcessesByName("winlogon");

foreach (Process p in processes)

{

if ((uint)p.SessionId == dwSessionId)

{

winlogonPid = (uint)p.Id;

}

}

 

hProcess = OpenProcess(MAXIMUM_ALLOWED, false, winlogonPid);

 

if (!OpenProcessToken(hProcess, TOKEN_DUPLICATE, ref hPToken))

{

CloseHandle(hProcess);

return false;

}

 

SECURITY_ATTRIBUTES sa = new SECURITY_ATTRIBUTES();

sa.Length = Marshal.SizeOf(sa);

 

if (!DuplicateTokenEx(hPToken, MAXIMUM_ALLOWED, ref sa, (int)SECURITY_IMPERSONATION_LEVEL.SecurityIdentification, (int)TOKEN_TYPE.TokenPrimary, ref hUserTokenDup))

{

CloseHandle(hProcess);

CloseHandle(hPToken);

return false;

}

 

STARTUPINFO si = new STARTUPINFO();

si.cb = (int)Marshal.SizeOf(si);

si.lpDesktop = @"winsta0\default";

 

int dwCreationFlags = NORMAL_PRIORITY_CLASS | CREATE_NEW_CONSOLE;

 

bool result = CreateProcessAsUser(hUserTokenDup, // client's access token

null, // file to execute

applicationName, // command line

ref sa, // pointer to process SECURITY_ATTRIBUTES

ref sa, // pointer to thread SECURITY_ATTRIBUTES

false, // handles are not inheritable

dwCreationFlags, // creation flags

IntPtr.Zero, // pointer to new environment block

null, // name of current directory

ref si, // pointer to STARTUPINFO structure

out procInfo // receives information about new process

);

 

CloseHandle(hProcess);

CloseHandle(hPToken);

CloseHandle(hUserTokenDup);

 

return result; }

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте!

Добро пожаловать на форум!

 

Если проблемы с версией антивируса 5.0, дальше говорить смысла нет. Она уже давно не поддерживается (и, по идее, даже работать должна с трудом :acute:), даже корпоративная.

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте!

Добро пожаловать на форум!

 

Если проблемы с версией антивируса 5.0, дальше говорить смысла нет. Она уже давно не поддерживается (и, по идее, даже работать должна с трудом :)), даже корпоративная.

 

то есть вы хотите сказать, что если лицензия куплена до августа 2010 года, то продукт не поддерживается? :acute:

 

:ninja:

Ссылка на комментарий
Поделиться на другие сайты

Нет. Есть таблица поддержки продуктов: http://support.kaspersky.ru/support/support_table

 

ну на самом деле с современными версиями этот трюк не проходит, так что может дело не только в версии касперского. То есть на помощь мне не сильно надеяться?

Ссылка на комментарий
Поделиться на другие сайты

Давайте так

 

Что говорит по этому поводу КИС2010?

 

мне к сожалению говорит не КАВ и не КИС, мне говорят по телефону разъяренные пользователи :acute:

 

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

2) запускаю службу

3) в диспетчере задач не вижу чтобы процесс службы запускался под тем эккаунтом который я указал, имя пользователя пустое

 

сейчас у меня к сожалению под рукой только удаленный стол к месту где стоит 5.0

Ссылка на комментарий
Поделиться на другие сайты

Поставьте себе на комп триалку КИС2010 и проверьте

 

Ваше же программа , а не пользователей.

 

 

3) в диспетчере задач не вижу чтобы процесс службы запускался под тем эккаунтом который я указал, имя пользователя пустое

Можно увидеть скриншот?

Ссылка на комментарий
Поделиться на другие сайты

поставил кис на свежую машину XP

вижу такой же скриншот про эккаунты.... но служба смогла запустить процесс и всё работает как надо (это хорошо) :acute:

 

дистрибутив

kis9.0.0.736ru.exe

Ссылка на комментарий
Поделиться на другие сайты

мне к сожалению говорит не КАВ и не КИС, мне говорят по телефону разъяренные пользователи :acute:

 

здесь дело обстоит так:

 

Если какое то приложение переходит в разряд неподдерживаемых, то заведомо к этому сроку лицензий с оставшимся сроком действия остаться уже не должно. Именно для того, чтобы не звонили разъяренные пользователи. Т.е. скорее всего у вас лицензия на более свежую корпоративную версию, но она по каким то причинам используется с более старой 5.0. После (а на самом деле как я уже написал - гораздо заранее ) перевода приложения в разряд неподдерживаемых все активности с ней связанные (не только исправления ошибок, но и продажа ключей) полностью прекращаются. Вы и ваши пользователи имеют право перейти бесплатно на более новые версии приложений, если имеется соотв. действующая лицензия.

Ссылка на комментарий
Поделиться на другие сайты

здесь дело обстоит так:

 

Если какое то приложение переходит в разряд неподдерживаемых, то заведомо к этому сроку лицензий с оставшимся сроком действия остаться уже не должно. Именно для того, чтобы не звонили разъяренные пользователи. Т.е. скорее всего у вас лицензия на более свежую корпоративную версию, но она по каким то причинам используется с более старой 5.0. После (а на самом деле как я уже написал - гораздо заранее ) перевода приложения в разряд неподдерживаемых все активности с ней связанные (не только исправления ошибок, но и продажа ключей) полностью прекращаются. Вы и ваши пользователи имеют право перейти бесплатно на более новые версии приложений, если имеется соотв. действующая лицензия.

 

за информацию спасибо, но к сожалению замена версии антивируса в учреждении не входит в нашу компетенцию, наши люди в учреждении устанавливают оборудование и софт.

Ссылка на комментарий
Поделиться на другие сайты

А там точно стоит корпоративная 5ка?

тогда надо тренироваться на корпоративной 6 (6.0.3.837 или 6.0.4.14хх)

 

Да, кстати - какой мощности компы там? Если известно

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • SK_
      От SK_
      Служба "kladminserver" остановлена из-за ошибки. #1950 (208) Generic db error: "208 'Invalid object name 'sys.database_scoped_configurations'.{42S02};' LastStatement='EXEC upgd_set_maxdop'"  
      cервер на win 8.1
      SQL Express - 10.50.4042.0
    • ДмитрийКасперскийКлуб
      От ДмитрийКасперскийКлуб
      При запуске ноутбука открывается бразуер с ссылкой на рекламу, так же после перезапуска бывает сворачивается полноэкранное приложение, будто что-то на фоне начинает выполняться на секунду, что сворачивает активное приложение. После анализа CureIt был обнаружен и вылечен троян trojan starter 7691. Подозреваю, что могло начаться после использования zapret-discord-youtube архива (уже удалил его).
      Заранее большое спасибо за помощь!
      CollectionLog-2024.12.16-13.39.zip
    • in-digp
      От in-digp
      Здравствуйте!
       
      Прошу помочь с восстановлением запуска службы BFE
       
      https://support.kaspersky.ru/common/error/installation/11099#error5
       
      Данная инструкция не помогает, есть ли другие способы восстановления ?
       
       

    • Сергей98352247
      От Сергей98352247
      Пропала мышь, Kaspersky, появилось много новых процессов. Выключил компьютер, выдернул сетевой шнур, включил. Получил помимо упомянутого, отсутствие всех установленных программ и на вкладке недавние те которые были ранее, ноне все, плюс новые. ничего не открывал, выключил комп.
      Сообщение от модератора kmscom Тема перемещена из раздела Помощь в борьбе с шифровальщиками-вымогателями
    • ЁлкаПалка
      От ЁлкаПалка
      При запуске игр сначала звук подключения устройства(такой же как например мышку в USB воткнуть),сопровождается это зависанием всего на 2 секунды и только потом запускается сама игра. Все точно тоже самое когда игру закрываю. Пробовал отследить подключаемые устройства с помощью программы USBDeview,не помогло.Никаких поключаемых устройств не обнаружило во время запуска игры.Драйверы на материнскую плату,видеокарты и т.п. обновлены с сайтов разработчика.
      Есть мнение что ноут переключается с интегрированной на дискретную видео карту.Ставил в настройках виндовс галочку чтоб использовало всегда только дискретную,но тогда виндовс и сами игры почему то лагают.
      Помогите решить проблему,очень дискомфортно когда зависания на 2 секунды

×
×
  • Создать...