Загрузка...

[External] [SRC] Реализация Delay через глобальный хук.

Тема в разделе Читы CS2 создана пользователем Ve4niySooN 29 дек 2015. 747 просмотров

Загрузка...
  1. Ve4niySooN
    Ve4niySooN Автор темы 29 дек 2015 Разработчик 20 1 июн 2015
    Всем привет.
    Начинаю делиться кусками кода для наших юнных копипастеров.

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

    Тащем-то, самая простая реализация будет выглядеть так:

    Код
    unit Hooked;

    interface

    uses
    Windows, Messages;

    type
    THook = class(TObject)
    Responce: HHOOK;
    public
    function Init_Hook: Boolean;
    function Init_UnHook: Boolean;
    end;

    var
    Hook: THook;

    implementation

    function SysMsgProc(code: integer; wParam: word; lParam: longint): longint; stdcall;
    begin
    if (Code <> HC_ACTION) then Exit;

    case wParam of
    WM_LBUTTONDOWN: { CODE OR Result := CallNextHookEx(Responce, Code, wParam, lParam);}
    WM_LBUTTONUP: { CODE OR Result := CallNextHookEx(Responce, Code, wParam, lParam);}
    end
    else
    Result := CallNextHookEx(Responce, Code, wParam, lParam);
    end;
    end;

    function THook.Init_Hook: Boolean;
    const
    WH_MOUSE_LL = 14;
    begin
    Hook.Responce := SetWindowsHookEx(WH_MOUSE_LL, @SysMsgProc, HInstance, 0);
    Result := Hook.Responce <> 0;
    end;

    function THook.Init_UnHook: Boolean;
    begin
    Result := UnhookWindowsHookEx(Hook.Responce);
    end;

    end.
    Как использовать:

    Код
    Поставить хук:
    Hook.Init_Hook;
    Код
    Снять хук:
    Hook.Init_UnHook;
    В функции SysMsgProc происходит перехват левой и правой кнопки мыши.
    Там делайте всё на своё усмотрение, например добавляете новую булевскую переменную, и если она равна True выводите Result := -1; При таким расскладе функция перехватит нажатие и проигнорирует его.

    Прикрутить к аиму проблем не составит.
    Для тех, кто говорит, что такой метод не будет работать в cs:go:
     
  2. HeroWarmup
    HeroWarmup 29 дек 2015 1 29 дек 2015
    А на ммору почему свои добрые пожертвования не делаешь?
     
  3. Ve4niySooN
    Ve4niySooN Автор темы 29 дек 2015 Разработчик 20 1 июн 2015
    mmoru - одна большая флудилка, а не форум.
     
  4. HeroWarmup
    HeroWarmup 29 дек 2015 1 29 дек 2015
    не понимаю как это реализовать. После убийства перестает стрелять допустим ? или что?
     
  5. Ve4niySooN
    Ve4niySooN Автор темы 29 дек 2015 Разработчик 20 1 июн 2015
    Нет. Допустил сначала навестись, после нажатия на ЛКМ, а только потом произвести выстрел. Это и есть Delay.
     
  6. HeroWarmup
    HeroWarmup 29 дек 2015 1 29 дек 2015
    полезная вещь , только мне это еще не скоро понадобится )
     
Top