HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 28.06.2007, 15:09
NetMan
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме:
1089794

Репутация: 134
Post

Объявляем тип:
Код:
TPIDs = array of DWORD;
Код:
function GetProcessIDs(ProcessName:PChar):TPIDs;
var
     ResultLen,hSnapshot:DWORD;
     PE:TPROCESSENTRY32;
begin
Result:=nil;
hSnapshot:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if hSnapshot=INVALID_HANDLE_VALUE then exit;

PE.dwSize:=SizeOf(TPROCESSENTRY32);
if not Process32First(hSnapshot,PE) then exit;

ResultLen:=0;
repeat
        if lstrcmpi(PE.szExeFile,ProcessName)=0 then
                begin
                        inc(ResultLen);
                        SetLength(Result,ResultLen);
                        Result[ResultLen-1]:=PE.th32ProcessID;
                end;
until not Process32Next(hSnapshot,PE);
CloseHandle(hSnapshot);
end;
Юзать:
Код:
...........
var i:integer;
    PIDs:TPIDs;
begin
        PIDs:=GetProcessIDs('svchost.exe');
 if PIDs=nil then exit;
        lb.Items.Clear;
        for i:=0 to Length(PIDs)-1 do
         lb.Items.Add(IntToStr(PIDs[i]));
end;
....................

Последний раз редактировалось NetMan; 28.06.2007 в 15:50..
 
Ответить с цитированием

  #2  
Старый 29.06.2007, 09:18
kuka
Новичок
Регистрация: 19.04.2007
Сообщений: 3
Провел на форуме:
37368

Репутация: 1
По умолчанию

Народ подскажите плиз как можно организовать перехват событий мышки в любом приложении?
 
Ответить с цитированием

  #3  
Старый 29.06.2007, 11:21
NetMan
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме:
1089794

Репутация: 134
По умолчанию

 
Ответить с цитированием

  #4  
Старый 29.06.2007, 23:59
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


По умолчанию

Код:
function SetWindowsHookEx(idHook: integer; lpfn: TFNHookProc;
hmod: HINST; dwThreadID: DWORD): HHOOK; stdcall;

 


idHook: описывает тип устанавливаемой ловушки. Данный параметр может принимать одно из следующих значений: 

Константа Описание 
WH_CALLWNDPROC Фильтр процедуры окна. Функция-фильтр ловушки вызывается, когда процедуре окна посылается сообщение. Windows вызывает этот хук при каждом вызове функции SendMessage. 
WH_CALLWNDPROCRET Функция-фильтр, контролирующая сообщения после их обработки процедурой окна приемника. 
WH_CBT В литературе встречаются следующие названия для этого типа фильтров: "тренировочный" или "обучающий". Данная ловушка вызывается перед обработкой большинства сообщений окон, мыши и клавиатуры. 
WH_DEBUG Функция-фильтр, предназначенная для отладки. Функция-фильтр ловушки вызывается перед любой другой ловушкой Windows. Удобный инструмент для отладки и контроля ловушек. 
WH_GETMESSAGE Функция-фильтр обработки сообщений. Функция-фильтр ловушки вызывается всегда, когда из очереди приложения считывается любое сообщение. 
WH_HARDWARE Функция-фильтр, обрабатывающая сообщения оборудования. Функция-фильтр ловушки вызывается, когда из очереди приложения считывается сообщение оборудования. 
WH_JOURNALPLAYBACK Функция-фильтр вызывается, когда из очереди системы считывается любое сообщение. Используется для вставки в очередь системных событий. 
WH_JOURNALRECORD Функция-фильтр вызывается, когда из очереди системы запрашивается какое-либо событие. Используется для регистрации системных событий. 
WH_KEYBOARD Функция-фильтр "обработки" клавиатуры. Наверное, наиболее часто используемый тип ловушки. Функция-фильтр ловушки вызывается, когда из очереди приложения считывается сообщения wm_KeyDown или wm_KeyUp. 
WH_KEYBOARD_LL Низкоуровневый фильтр клавиатуры. 
WH_MOUSE Функция-фильтр, обрабатывающая сообщения мыши. Функция-фильтр ловушки вызывается, когда из очереди приложения считывается сообщение мыши. 
WH_MOUSE_LL Низкоуровневый фильтр мыши. 
WH_MSGFILTER Функция-фильтр специального сообщения. Функция-фильтр ловушки вызывается, когда сообщение должно быть обработано диалоговым окном приложения, меню или окном приложения. 
WH_SHELL Фильтр приложения оболочки. Функция-фильтр ловушки вызывается, когда создаются и разрушаются окна верхнего уровня или когда приложению-оболочке требуется стать активным. 
    

Что бы упредить шквал писем в мой адрес, скажу сразу, что каждый, из вышеперечисленных, типов имеет свои особенности, о которых каждый может прочитать в SDK, MSDN или же найти их описание в Internet-e. 

lpfn : это адрес функции-фильтра, которая является функцией обратного вызова. Функция-фильтр имеет тип TFNHookProc, определение которого выглядит следующим образом: 



TFNHookProc = function (code: Integer; wparam: WPARAM;
lparam: LPARAM): LRESULT stdcall;

 


Значение каждого из параметров функции-фильтра ловушки изменяется в зависимости от типа устанавливаемой ловушки. За более подробными разъяснениями значений параметров обращайтесь к справке по Win32 API. 

hmod 
данный параметр должен иметь значение hInstance в EXE или DLL-файлах, в которых содержится функция-фильтр ловушки (напомню, что это функция обратного вызова). Если речь идёт о глобальных ловушках, то данный параметр может принимать только дескриптор DLL, из которой устанавливается ловушка. Причина очевидна - EXE-файл не может быть отображён на АП другого процесса, тогда как DLL-фалы специально созданы для этого. Подчеркну это обстоятельство ещё раз: глобальные ловушки могут располагаться только в DLL, но никак не в EXE файлах ! 
dwThreadID 
данный параметр идентифицирует поток, с которым будет связана ловушка. Мы ведём речь о глобальных ловушках, поэтому данный параметр будет всегда равен 0, что означает, что ловушка будет связана со всеми потоками в системе. 
Возвращаемое значение 
функция SetWindowsHookEx возвращает дескриптор установленной ловушки, именно этот дескриптор нам и надо будет сделать доступным ВСЕМ экземплярам отображаемой DLL. Как это сделать я расскажу после небольшого примера, показывающего на практике необходимость сохранять дескриптор ловушки для того, что бы суметь вызвать предыдущую ловушку в цепочке. 
Замечание: 

при установке двух ловушек разного типа, система создаст две цепочки ловушек. Т.е. каждому типу ловушки соответствует своя цепочка. Так при установке ловушки типа WH_MOUSE и WH_KEYBOARD обе эти ловушки будут находиться в разных цепочках и, соответственно, будут обрабатываться независимо друг от друга. 
Для удаления функции-фильтра из очереди необходимо вызвать функцию UnhookWindowsHookEx. Данная функция принимает дескриптор ловушки, полученный функцией SetWindowsHookEx. Если удаление не удалось, то функция возвращает ноль, иначе не нулевое значение. В дальнейшем, под выражением "снять ловушку" будем подразумевать удаление функции-фильтра.
 
Ответить с цитированием

  #5  
Старый 01.07.2007, 00:12
Gil
Новичок
Регистрация: 17.06.2007
Сообщений: 12
Провел на форуме:
87543

Репутация: 8
По умолчанию

Люди, такой трабл, надо отправить мыло с компа через дельфи, юзаю инди библиотеку, вроде все прально, и примеры качал, а хер, всегда сокет еррор и все. Может есть еще какие-нибудь способы отправить, не через смтп. Ни у кого такого не было?
 
Ответить с цитированием

  #6  
Старый 01.07.2007, 22:04
Gil
Новичок
Регистрация: 17.06.2007
Сообщений: 12
Провел на форуме:
87543

Репутация: 8
По умолчанию

Все мля перепробовал, все компоненты, готовые исходники, уже скомпиленные проги, ниче не помогает, все сокет еррор и все, ну не коннектиться к серваку... может кто писал для себя, поделитесь....
 
Ответить с цитированием

  #7  
Старый 01.07.2007, 22:21
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


По умолчанию

держи... своего рода трой... написан на api + используется комп. coban2k'a - RASDescrypt
мыло шлет! ))
http://slil.ru/24579115
сорцы...
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #8  
Старый 01.07.2007, 23:32
Gil
Новичок
Регистрация: 17.06.2007
Сообщений: 12
Провел на форуме:
87543

Репутация: 8
По умолчанию

Рульная кстати вещь, пасиб W!z@rD
 
Ответить с цитированием

  #9  
Старый 02.07.2007, 20:35
Delphi07
Новичок
Регистрация: 26.06.2007
Сообщений: 1
Провел на форуме:
7989

Репутация: 0
По умолчанию

Помогите плиз. Как из Edit1, в котором находиться URL файла, допустим http://site.ru/file.exe достать текст имя файла, в данном случае file.exe , и прописать в Edit2.
 
Ответить с цитированием

  #10  
Старый 03.07.2007, 01:09
NetMan
Участник форума
Регистрация: 09.02.2004
Сообщений: 122
Провел на форуме:
1089794

Репутация: 134
По умолчанию

Delphi07, читай здесь Parsing URI's.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2569 10.05.2026 13:27
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.