Форум "Delphi"
Паскаль, Делфи
|
#1 Чехонте 07.09.06 18:16:19
procedure RDetect;stdcall label starthere, starthere1; begin GetMem(TCPTable, Size); try while true do begin starthere: Sleep(100); if GetTcpTable(TCPTable, Size, True) = NO_ERROR then for I := 0 to TCPTable^.dwNumEntries - 1 do if (htons(TCPTable^.Table[I].dwLocalPort) = 4899) and (TCPTable^.Table[I].dwState = 5) then begin PrevDsk:=CurrentDsk; CurrentDsk:=1; SwitchDesktops; while true do begin starthere1: Sleep(100); if GetTcpTable(TCPTable, Size, True) = NO_ERROR then for I := 0 to TCPTable^.dwNumEntries - 1 do if (htons(TCPTable^.Table[I].dwLocalPort) = 4899) and (TCPTable^.Table[I].dwState = 5) then goto starthere1; goto starthere; end; end; end; finally FreeMem(TCPTable); end; end; begin Mutex:=CreateMutex(nil,TRUE,'CODEN_RADMINDETECT'); if GetLastError <> 0 then begin MessageBox(GetDesktopWindow,PChar(_5),PChar(_1),MB_OK or MB_ICONINFORMATION); halt end; GetMem(TCPTable, SizeOf(TMibTCPTable)); try Size := 0; if GetTcpTable(TCPTable, Size, True) <> ERROR_INSUFFICIENT_BUFFER then Exit; finally FreeMem(TCPTable); end; PrevDsk:=-1; CurrentDsk:=0; FillChar(DESKTOPS,SizeOf(DESKTOPS),0); RegisterWndClass; WndCreate; h1:=beginthread(nil,1024,(собачка)RDetect,nil,0,th1); while GetMessage(AMessage,0,0,0) do begin TranslateMessage(AMessage); DispatchMessage(AMessage); end; ReleaseMutex(Mutex); terminatethread(h1,0); end. идея - смотреть подключения и показывать 2 разных рабочих стола. Один легальный, другой нет win+1 - первый win+2 - второй при подключении всегда показывается второй стол(те, скрываются все нелегальные окна :) и открываются легальные. И наоборот, иначе) Вопрос: А можно ли как нибудь на подключение на порт поставить ловушку, чтоб не по времени смотреть, а по факту подключения? |
|
> #1 Чехонте исходник вобщем-то зачотный, респект > Вопрос: А можно ли как нибудь на подключение на порт поставить > ловушку, чтоб не по времени смотреть, а по факту подключения? ну, а как же файерволы работают? Вот здесь, например, есть хорогие примеры на си #Proxy+%2F+Firewall исходники прокси сервера на делфи можно поискать здесь %28%2Bproxy+%2Bserver%29+AND+-has_file%3A%280%29&type_of_search=soft&words=proxy+server&Search=Search |
|
#3 Marser © 07.09.06 20:29:08
> ну, а как же файерволы работают? Есть такой термин - > "слушать порты". Вот это то самомое, что тебе нужно. > Вот здесь, например, есть хорогие примеры на си Насколько мне известно, там без своего драйвера сложновато. > исходник вобщем-то зачотный, респект Присоединяюсь. Полезный исходничег. И красивый. |
|
> ну, а как же файерволы работают? Есть такой термин - > "слушать порты". Вот это то самомое, что тебе нужно. Этот термин тут вообще непричем. Слушать порты просто не удастся, так как искомый порт уже прослушивается RAdmin'ом. Здесь спасет только перехват подключения - а это уже уровень драйверов. |
Написать ответ |
|

