Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CBT_HOOK ! [D6, WinXP]


Страницы:   1 2 3

psa247 ©   (2006-02-12 17:50:00) 

Здравствуйте ! Почему CBT_HOOK не действует на окно сервиса ?


Bobby   (2006-02-15 09:44:00) [21]

> Игорь Шевченко ©   (14.02.06 13:34) [29]
>
> Bobby   (14.02.06 13:18) [28]
>
> Так принцип или стечение обстоятельств ?
>
> В любом случае, совет всегда сносить антивирус на основании
> того, что какая-то программа при нем активном не устанавливается
> есть совет а) ламерский б) вредный.


А ведь и правда : ну его нафиг этот Visual Studio! Главное что бы антивирус работал.
При этом, к тому же , не станешь :
a) ламером
б) врединой


Германн   (2006-02-15 02:53:00) [22]


> Игорь Шевченко ©   (14.02.06 23:46) [34]
>
> Rouse_ ©   (14.02.06 22:54) [31]
>
> Смени антивирус. Не путай причину со следствием и не делай
> глобальных
> выводов.


Радикально! Но ничем не обоснованно глобально.
Менять антивирус под "конкретную ситуацию"???

" и не делай глобальных выводов." Это Ваши слова!


Игорь Шевченко   (2006-02-14 23:46:00) [23]

Rouse_ ©   (14.02.06 22:54) [31]

Смени антивирус. Не путай причину со следствием и не делай глобальных
выводов.


> стандартная функция открытия стораджа не дождавшись окончания
> проверки возращает - доступ запрещен


А можно ссылку на документацию, где указан таймаут ?


kaZaNoVa   (2006-02-14 23:13:00) [24]

Rouse_ ©   (14.02.06 22:54) [31]
инсталятор копирует на диск большой файл

аналогично у меня когда-то была задача скопировать большое количество EXE-файлов, при включенном мониторе Касперского работало фантастически медленно(


Rouse_   (2006-02-14 23:02:00) [25]

Впринципе у меня даже есть предположение подобного поведения Веба на этом файле. Формат его сходен с использующимся в документах Майкрософт Офиса... по всей видимости пытается найти там макровирусы :)) А так как внутренняя структура достаточно обьемна (обычное открытие занимает около 20-30 сек) и происходит конфликтс. :)


Rouse_   (2006-02-14 22:54:00) [26]


> Игорь Шевченко ©   (14.02.06 12:59) [27]
> Bobby   (14.02.06 12:43) [26]
>
> Ну что я могу сказать ? Только то, что VS 2005 устанавливается
> при активном AVG ?
>
> Детский сад, штаны на лямках.

Это не детский сад, такая проблема может быть. Вот пример - инсталятор копирует на диск большой файл, больше 100 метров. Стоит ДрВеб. При попытке доступа к файлу через IStorage автоматом запускается сканирования данного файла (сам он при этом блокируется) и через несколько секунд, стандартная функция открытия стораджа не дождавшись окончания проверки возращает - доступ запрещен. Пришлось даже в мануалах писать, что перед инсталяцией отключите мониторинг. На Касперском не проверял, под нортоном такой проблемы нет, а вот под любимым Доктором Вебом, к сожалению есть...


Германн   (2006-02-14 14:42:00) [27]


> Игорь Шевченко ©   (14.02.06 13:34) [29]
>
> Bobby   (14.02.06 13:18) [28]
>
> Так принцип или стечение обстоятельств ?
>
> В любом случае, совет всегда сносить антивирус на основании
> того, что какая-то программа при нем активном не устанавливается
> есть совет а) ламерский б) вредный.


Бывают и исключения. Если "какая-то программа" тоже антивирус. :)))


Игорь Шевченко   (2006-02-14 13:34:00) [28]

Bobby   (14.02.06 13:18) [28]

Так принцип или стечение обстоятельств ?

В любом случае, совет всегда сносить антивирус на основании того, что какая-то программа при нем активном не устанавливается есть совет а) ламерский б) вредный.


Bobby   (2006-02-14 13:18:00) [29]

Ну и что с того? Речь идет о принципе. Бывает разное сочетание обстоятельств...


Игорь Шевченко   (2006-02-14 12:59:00) [30]

Bobby   (14.02.06 12:43) [26]

Ну что я могу сказать ? Только то, что VS 2005 устанавливается при активном AVG ?

Детский сад, штаны на лямках.


Bobby   (2006-02-14 12:43:00) [31]

Microsoft Visual Studio .NET 2002 не устанавливается при активном DWeb.
Установка обламывается в самом конце. В FAQ-е , проблем, прилагаемых к инсталяции, как одна из возможных причин, определяется наличие антивируса.


Игорь Шевченко   (2006-02-13 17:05:00) [32]

kaZaNoVa ©   (13.02.06 16:38) [24]

Сравни


> is strongly recommended that you exit all Windows programs


и


> большинство "серьёзного"  програмного обеспечения при
> установке требует/просит закрывать антивирусы, чтобы не
> было проблем


Подумай или поищи ответ в интернете, зачем приложения просят, чтобы при установке не работали другие программы.


kaZaNoVa   (2006-02-13 16:38:00) [33]

Игорь Шевченко ©   (13.02.06 16:10) [23]
примеры большинства серьезного программного обеспечения в студию


например:  

Welcome to the 1st Page 2000 Setup program. This
program will install 1st Page 2000 on your computer.

It is strongly recommended that you exit all Windows programsbeFore running this Setup program.


больше пока не нашел, но помню на многих инталляторах пишут такое ..


Игорь Шевченко   (2006-02-13 16:10:00) [34]

kaZaNoVa ©   (13.02.06 16:04) [22]


> но большинство "серьёзного"  програмного обеспечения при
> установке требует/просит закрывать антивирусы


примеры большинства серьезного программного обеспечения в студию.


kaZaNoVa   (2006-02-13 16:04:00) [35]

Игорь Шевченко ©   (13.02.06 15:55) [21]
> решение- убивать их))

Ошибочное решение.


возможно в общем случае и ошибочно, но большинство "серьёзного"  програмного обеспечения при установке требует/просит закрывать антивирусы, чтобы не было проблем.  думаю не зря ...

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


Игорь Шевченко   (2006-02-13 15:55:00) [36]

kaZaNoVa ©   (13.02.06 15:32) [19]


> решение- убивать их))


Ошибочное решение. Проше убить автора подобных советов. Из рогатки или плюсометом.

psa247 ©   (13.02.06 14:50) [10]

1) Неплохо бы проверять, что GlobalData имеет значение, отличное от нуля.
2) Неплохо бы проверять значение, возвращаемое функцией SetWindowsHookEx


psa247   (2006-02-13 15:51:00) [37]


> kaZaNoVa ©   (13.02.06 15:32) [19]


Спасибо, отпишусь как попробую.


kaZaNoVa   (2006-02-13 15:32:00) [38]

psa247 ©   (13.02.06 15:28) [17]
С антивирусниками и фаерволами как ?
Анти Spy-Ware ?


могут быть проблемы .. но не со всеми ..)))

решение- убивать их))


kaZaNoVa   (2006-02-13 15:31:00) [39]

program loader;
uses
 Windows,SysUtils,Tlhelp32;

function SetDebugPriv: Boolean;
var
Token: THandle;
tkp: TTokenPrivileges;
begin
Result := false;
if OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token) then
begin
 if LookupPrivilegeValue(nil, PChar('SeDebugPrivilege'), tkp.Privileges[0].Luid) then
 begin
   tkp.PrivilegeCount := 1;
   tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
   Result := AdjustTokenPrivileges(Token, false, tkp, 0, PTokenPrivileges(nil)^, PDWord(nil)^);
 end;
end;
end;

function Start(ProcessID: Cardinal; DllFileName: string): Boolean;
var
hProcess, hTh: THandle;
BytesWritten, ThreadID, DllNameLen: Cardinal;
LoadLibraryProc, MemPtr: Pointer;
ExitCode: DWord;
begin
Result := false;

SetDebugPriv();

hProcess := OpenProcess(PROCESS_CREATE_THREAD or PROCESS_VM_OPERATION or PROCESS_VM_WRITE,true, ProcessID);

if hProcess <> 0 then
begin
 DllNameLen := Length(DllFileName) + 1;
 
 MemPtr := VirtualAllocEx(hProcess, nil, DllNameLen, MEM_COMMIT, PAGE_READWRITE);

 if MemPtr <> nil then
 begin
   if WriteProcessMemory(hProcess, MemPtr, PChar(DllFileName), DllNameLen, BytesWritten) then
   begin
     LoadLibraryProc := GetProcAddress(GetModuleHandle('kernel32.dll'), 'LoadLibraryA');

     hTh := CreateRemoteThread(hProcess, nil, 0, LoadLibraryProc, MemPtr, 0, ThreadID);

     if hTh <> 0 then
     begin
       if (WaitForSingleObject(hTh, INFINITE) = WAIT_OBJECT_0) and
         GetExitCodeThread(hTh, ExitCode) then
         Result := ExitCode <> 0;

       CloseHandle(hTh);
     end;
   end;

   VirtualFreeEx(hProcess, MemPtr, 0, MEM_RELEASE);
 end;

 CloseHandle(hProcess);
end;

end;

var
ProcessID: Cardinal;
DllName,ppp: string;
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
ProcessID:=0;
FSnapshotHandle:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize:=Sizeof(FProcessEntry32);

ContinueLoop := Process32First(FSnapshotHandle,FProcessEntry32);
while integer(ContinueLoop) <> 0 do
 begin
ppp:=FProcessEntry32.szExeFile;
if (pos('CSRSS',UpperCase(ppp))>0) then  ProcessID:=FProcessEntry32.th32ProcessID;
ContinueLoop := Process32Next(FSnapshotHandle,  FProcessEntry32);
 end;
CloseHandle(FSnapshotHandle);

DllName:='A:\test.dll';

if ProcessID <> 0 then Start(ProcessID, DllName);

end.


psa247   (2006-02-13 15:28:00) [40]


> kaZaNoVa ©   (13.02.06 15:21) [16]


С антивирусниками и фаерволами как ?
Анти Spy-Ware ?

Пример нужен. Попробую.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо