Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Как правильно организовать контроль за запускаемыми файлами?   Найти похожие ветки 

 
SkySpeed   (2006-10-20 23:19) [0]

Необходимо на машине организовать контроль за запускаемыми файлами/программами.

В книжке по реестру прочёл что существует интересный параметр AppInit_DLLs, находящийся здесь: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows

И если в данный параметр добавить имя DLL - файла, то при каждом запуске файла, данная DLL-ка будет запускаться

Моя DLL:

library CORP;

uses
 SysUtils,
 Classes;

{$R *.res}

const
filepath="E:\histapps.txt";

var
s:TStringList;
a:String;
z:Integer;

begin
if ParamCount>0 then
begin
 s:=TStringList.Create;
 try
  s.LoadFromFile(filepath);
 except
 end;
  a:="";
  for z:=1 to ParamCount do
   a:=a+ParamStr(z);

  s.Add(DateToStr(Date)+" : "+TimeToStr(Time)+" : "+a);
  s.SaveToFile(filepath);

  s.Free;
end;
end.


После помещения данной DLL в папку Windows или System32, большинство имён запускаемых файлов без ошибок добавляются в файл E:\histapps.txt, НО некоторые программы (Delphi, Internet Explorer...) запускаются с двумя ошибками...

Как избежать или предотвратить эти ошибки? ХЕЛП!


 
Ketmar ©   (2006-10-20 23:44) [1]

>[0] SkySpeed 20-Oct-2006, 23:19
>запускаются с двумя ошибками...
текст которых слишком секретен, чтобы его пубиликовать. читай секретный ответ: "....................................."


 
SkySpeed   (2006-10-21 00:18) [2]


> Ketmar ©   (20.10.06 23:44) [1]
> >[0] SkySpeed 20-Oct-2006, 23:19
> >запускаются с двумя ошибками...
> текст которых слишком секретен, чтобы его пубиликовать.
> читай секретный ответ: "................................
> ....."

Шутник....

Например, при запуске ИЕ выскакивают:

1 ошибка:

"iexplore.exe - Ошибка приложения" - заголовок окна

Текст окна:
Инструкция по адресу "0x7c918fea" обратилась к памяти по адресу "0x00000010". Память не может быть "written".

"ОК" -- завершение приложения
"Отмена" -- отладка приложения

2 ошибка:

"iexplore.exe - Ошибка приложения" - заголовок окна

Текст окна: Инструкция по адресу "0x0038a775" обратилась к памяти по адресу "0x0000000c". Память не может быть "written".

"ОК" -- завершение приложения
"Отмена" -- отладка приложения


 
Ketmar ©   (2006-10-21 00:22) [3]

верно выскакивает. потому как подобную DLL на Delphi написать проблематично. в общем случае: нельзя использовать ничего, кроме ntdll.dll и kernel32.dll. ну, разве только advapi32.dll ещё. для чего надо коцать системные модули. осилишь?


 
Ketmar ©   (2006-10-21 00:22) [4]

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


 
SkySpeed   (2006-10-21 00:28) [5]


> Ketmar ©   (21.10.06 00:22) [3]
> верно выскакивает. потому как подобную DLL на Delphi написать
> проблематично. в общем случае: нельзя использовать ничего,
>  кроме ntdll.dll и kernel32.dll. ну, разве только advapi32.
> dll ещё. для чего надо коцать системные модули. осилишь?
>

М-да... проблематично однако...


> Ketmar ©   (21.10.06 00:22) [4]
> кстати, приложения, которые не грузят user32.dll твой модуль
> не получат.

Мне хотя бы основные приложения фиксировать


 
Ketmar ©   (2006-10-21 00:33) [6]

>[5] SkySpeed 21-Oct-2006, 00:28
>Мне хотя бы основные приложения фиксировать
а чем не подходит периодическое снятие снапшотов работающих процессов? по-уму тут вообще надо драйвер писать, кстати. %-)


 
SkySpeed   (2006-10-21 00:37) [7]


> Ketmar ©   (21.10.06 00:33) [6]
> >[5] SkySpeed 21-Oct-2006, 00:28
> >Мне хотя бы основные приложения фиксировать
> а чем не подходит периодическое снятие снапшотов работающих
> процессов? по-уму тут вообще надо драйвер писать, кстати.
>  %-)

При снятии снапшотов, будет необходимо сравнивать предыдущий снапшот с текущим и выбирать новые приложения и файлы
Намного быстрее будет если фиксировать каждое запускаемое приложение


 
Ketmar ©   (2006-10-21 00:42) [8]

>Намного быстрее будет если фиксировать каждое запускаемое
>приложение
ни разу не быстрее. медленней. и лишний, кстати, расход памяти -- потому что кое-кто не удосужился даже IMAGEBASE прописать.


 
SkySpeed   (2006-10-21 00:47) [9]

What is the ImageBase?


 
Ketmar ©   (2006-10-21 00:48) [10]

$IMAGEBASE, F1.


 
Eraser ©   (2006-10-21 00:56) [11]

> [5] SkySpeed   (21.10.06 00:28)

http://kladovka.net.ru/index.cgi?pid=board&rid=369


 
Ketmar ©   (2006-10-21 00:58) [12]

>[11] Eraser(c) 21-Oct-2006, 00:56
ты таки маньяк со своим WMI. %-)


 
Eraser ©   (2006-10-21 02:24) [13]

> [12] Ketmar ©   (21.10.06 00:58)

как говорится "у кого что.." :) просто недавно столкнулся вплотную с wmi, вот и советую )


 
Чапаев ©   (2006-10-21 08:28) [14]

> потому как подобную DLL на Delphi написать проблематично.
Писал. Работала.


> ну, разве только advapi32.dll ещё

%-) Вот тут как раз была проблема. При попытке GetUserName() такое начиналось...


 
Ketmar ©   (2006-10-21 08:37) [15]

>[14] Чапаев(c) 21-Oct-2006, 08:28
>> потому как подобную DLL на Delphi написать проблематично.
>Писал. Работала.
дык это... уровень "начинающих", вообще-то. потому и поясняю так же. я ж не сказал "нельзя". %-)

>> ну, разве только advapi32.dll ещё
>%-) Вот тут как раз была проблема. При попытке GetUserName(
>) такое начиналось...
я её упомянул только из-за работы с реестром. и потому, что системные модуля всё равно её притянут. %-)


 
Жуков Олег   (2006-10-21 15:36) [16]

Вот ещё интересный параметр
HKEY_CLASSES_ROOT\exefile\shell\open\command

там по умолчанию "%1" %*. Если поменять %1 на твою программу, то вместо исходного приложения будет запускаться именно она, а путь к исходному приложению может быть параметром.


 
Ketmar ©   (2006-10-21 17:30) [17]

>[16] Жуков Олег 21-Oct-2006, 15:36
>запускаться именно она, а путь к исходному приложению
>может быть параметром.
только для ShellExecute().



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.071 c
2-1163772222
lsvit
2006-11-17 17:03
2006.12.03
unrar.dll


15-1163156100
Empleado
2006-11-10 13:55
2006.12.03
Как можно заинтересовать ребенка


6-1152518143
Antuan
2006-07-10 11:55
2006.12.03
проблемы с отправкой письма


15-1163490325
IntruderLab
2006-11-14 10:45
2006.12.03
Восстановление панели компонентов


2-1163416043
TrainerOfDolphins
2006-11-13 14:07
2006.12.03
Отмена действия