Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Про HOOK 
:(
    Опции темы
Goph
Дата 10.9.2002, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 9.5.2002
Где: Кривой Рог

Репутация: нет
Всего: нет



Значит пишу HOOK!

По нижеследующему коду видно, что у меня в файле сохраняются все запушенные программы и рядом время!
Подскажите как вставить чтобы писалось све что создавалось, копировалось, удолялось и т.д.
ПОДСКАЖИТЕ!



БИБЛИОТЕКА:
library Project2;


uses
 Windows,
 Messages,
 Forms,
 SysUtils,
 Classes,
 Graphics,
 Controls,
 Dialogs,
 StdCtrls;

var
 SysHook : HHook = 0;
 Wnd : Hwnd = 0;
 f: TextFile;
 

function SysMsgProc(code : integer; wParam : word; lParam : longint) : longint; stdcall;
begin
if code = HC_ACTION then
 begin
  Wnd:=TMsg(Pointer(lParam)^).hwnd;
  end;
  Result:= CallNextHookEx(SysHook, Code, wParam, lParam);
  end;

procedure hook(switch : Boolean) export; stdcall;
begin
 if switch=true then
 begin
   SysHook := SetWindowsHookEx(WH_GETMESSAGE, @SysMsgProc, HInstance, 0);
 if SysHook <> 0 then
 end
 else
 begin

   if UnhookWindowsHookEx(SysHook) then
    SysHook := 0;
 end;
end;

exports hook;

var
k: String;
begin

 k:=TimeToStr(Time);
 AssignFile(f,'c:\1.txt');
 Append(f);
 Write(f,k);
 Write(f,' ');
 Writeln(f,PChar(Application.ExeName));
 Close(f);
end.





-------------------------------------------------------
Сам код:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls;

{для динамической загрузки функций из DLL}
type
 MyProcType = procedure (flag : Boolean); stdcall;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   procedure Button2Click(Sender: TObject);
   procedure FormClose(Sender: TObject; var Action: TCloseAction);
   procedure FormActivate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 Hdll : HWND; { дескриптор загружаемой DLL (для динамической загрукзки)}

function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall;
 external 'KERNEL32.DLL';
implementation

{$R *.DFM}

procedure TForm1.Button2Click(Sender: TObject);
var
 hook: MyProcType;
begin
 @hook:= nil; // инициализируем переменную hook
 if Hdll > HINSTANCE_ERROR then
   begin                                   { если всё без ошибок, то }
     @hook:=GetProcAddress(Hdll, 'hook');  { получаем указатель на необходимую процедуру}
     Button1.Enabled:=True;
     Button2.Enabled:=False;
     hook(false);                           {вызываем нужную процедуру из DLL}
   end;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 FreeLibrary(Hdll); { при закрытии формы - освобождаем DLL }
end;

procedure TForm1.FormActivate(Sender: TObject);
var
 hook: MyProcType;
begin
 RegisterServiceProcess(GetCurrentProcessID, 1);
 @hook:= nil;

 Hdll:= LoadLibrary(PChar('Project2.dll'));
 if Hdll > HINSTANCE_ERROR then
   begin
     @hook:=GetProcAddress(Hdll, 'hook');
     Button2.Enabled:=True;
     Button1.Enabled:=False;
     hook(true);
   end
 else

end;


end.


--------------------
Воображение гораздо важнее знаний!
                                (Эйнштейн)
PM MAIL ICQ   Вверх
Song
Дата 10.9.2002, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 2
Всего: 4



Надо найти такое сообщение которое будет отлавливать "создавалось, копировалось, удолялось и т.д." :)
А ты думал, скопировал пример со статьи "Хуки. Аспекты реализации" и всё бдует работать под стать твоей задачи?


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Goph
Дата 11.9.2002, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 9.5.2002
Где: Кривой Рог

Репутация: нет
Всего: нет



Цитата(Song @ 10.9.2002, 07:46)
Надо найти такое сообщение которое будет отлавливать "создавалось, копировалось, удолялось и т.д." :)
А ты думал, скопировал пример со статьи "Хуки. Аспекты реализации" и всё бдует работать под стать твоей задачи?

Вопервых я пример разобрал и кое что добавил, вот именно я  и спрашиваю про это сообшение?


--------------------
Воображение гораздо важнее знаний!
                                (Эйнштейн)
PM MAIL ICQ   Вверх
Solitary_Wolf
Дата 12.6.2003, 00:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Posmotri Win32.hlp tam use uestb
  Вверх
lider07
Дата 12.6.2003, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 11.6.2003
Где: Бишкек

Репутация: нет
Всего: нет



Люди я вам в этом помочь не смогу а только отнять ваше драгоценное время и обратить ваще вниманя на раздел "копирования Файлов" если что знаети помогите!
С уважением lider07
Зарания спасибо!
PM MAIL ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0682 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.