Sprawdzenie obecności programu przez WWW

0

Witam,

czy jest jakiś sposób na sprawdzenie poprzez przeglądarkę czy mój program jest zainstalowany w systemie?

Z tego co wiem to przeglądarka nie ma możliwości odczytu kluczy z rejestru.

Jedyne co mi przychodzi do głowy to zapisanie (z poziomu programu) cookies, ale to rozwiązanie jest nie praktyczne ponieważ, użytkownik może mieć kilka przeglądarek, lub regularnie może czyścić cookies.

Może da się stworzyć jakiś obiekt, coś jak flash/java (ich brak można wykryć z poziomu przeglądarki).

pozdrawiam

0

Perełka?

0

No taka sobie perełka, ale dawno nie było nic chyba tam nowego, to jak ktoś uzna jeszcze że można tam przenieść to przeniosę może. Co do pytania to oczywiście można. Polecam WinAPI i moduł SimpleTCP Piechnata będzie najprościej. Ale to zakrawa na taki troszke malware pewnie co chcesz zrobić, bo dlaczego bez wiedzy użytkownika chcesz od niego wyciągnąc info jaki ma program. Zrób ankietę na www i licz na szczerośc. A tak poważnie można było by zrobić w celach edukacyjnych serwer, który odpalał by się na jakimś kompie, później ustalał by IP komputera przez na przykład jakieś www do tego celu stworzone, no i o ile jest publiczne ip to po zgłaszeniu go do jakiegoś na przykład skryptu php można by było łączyć się z tym hostem na jakimś porcie [pisząc na przykład prosty serwer http] i ten serwer reagując na zapytanie strony www w rodzaju klienta mógłby nam sprawdzić na przykład coś na dysku lub w rejestrze. Ale to już podchodzi pod trojan i szczegółów sobie pogoogluj, bo nie piszemy malware. I proszę mnie tutaj nie zjeść. Pytanie było czy się da, autor troche pokrętnie rozumował albo tak ja to zrozumiałem. Ja odpisuje tylko jak można takie coś zrobić, co nie znaczy że powinno się tak szpiegować użytkowników softu.

0

Hej,

nie chcę robić żadnego Malware/Trojana. Po prostu mój program obsługuje linki coś jak z gadu-gadu "gg:8930234". Jeśli przeglądarka wykryłaby, że użytkownik nie ma zainstalowanego programu to zaraz po wejściu na stronę pojawiałby się stosowny komunikat. Dlatego wystarczyłaby mi np. informacja true/false z cookies.

Natomiast pisząc o tworzeniu obiektu flash, miałem na myśli coś w stylu:

 
function IsFlashInstalled(): boolean;
var
  V: Variant;
begin
  try
    V := CreateOleObject('ShockwaveFlash.ShockwaveFlash.9');
    Result := True;
  except
    Result := False;
  end;
end; 
0

EDIT:

nie chcę przeglądarką wyciągnąć jakie użytkownik ma programy. Chcę aby mój program podczas instalacji zaznaczył jakoś w systemie swoją obecność, tak aby przeglądarka mogła w przyszłości odczytać tą informację.

0

Nie wiem czy tak się da. Jeżeli protokół gg:// nie jest dodany dodany do Rejestru to strona się nie otworzy lub otworzy się z błędem, że nie taki protokół, przynajmniej w Operze. Jeżeli jest to Opera zapyta czy uruchomić GG albo AQQ lub inny klient obsługujący protokół GG. Nie znam się na językach pozwalających tworzyć strony jednak chyba pokazania się strony z błędem na temat braku protokołu nie da się wykryć, bo chyba każda przeglądarka reaguje na to inaczej.

0

Zawsze można postawić hooka na wysyłanie danych i zmodyfikować nieco żądanie jeżeli łączymy się z naszą stroną. Ale to dosyć ciężkie rozwiązanie, nie zdziwiłbym się gdyby antywirusy to łapały. Lepiej już chyba łączyć się z programu a potem porównywać IP, chociaż to też może zfailować.

Na IE można bodajże za pomocą JS odczytać niektóre rzeczy z rejestru... Ale tylko na IE.

Na IE to można wrzucić swój program który odczyta to co chcesz z rejestru i wyśle.

Protokoły można używać jeżeli chcesz jakieś informacje przesłać ze strony do programu. W drugą stronę z tego co wiem się nie da (a przynajmniej nie jest to po co to zostało zaprojektowane).

0

No właśnie przesyłam informacje ze strony do programu, tylko spora część użytkowników nie zainstalowała programu i potem ma problem z tymi "specyficznymi linkami". Dlatego chciałbym im zaraz po wejściu na stronę wyświetlić komunikat w stylu "Nie zainstalowałeś programu xyz, poniższe linki nie będą działał dopóki go nie zainstalujesz. Kliknij tutaj aby pobrać program". A obecnie komunikat z przeglądarki "Nieznany lub nieobsługiwany typ adresu" nic użytkownikowi nie mówi.

Myślałem żeby zrobić coś takiego podobnego do flasha (wtyczka przeglądarki?), instalować to użytkownikowi wraz z programem i następnie sprawdzać w podobny sposób jak strona:
http://isflashinstalled.com/

Tylko powyższa strona sprawdza czy ktoś zainstalował flash.exe, a moja by sprawdzała mojego EXEca.

Co do "perełek", to jestem świadomym użytkownikiem internetu. Koduje już jakiś czas, ale to zagadnienie wymaga niekonwencjonalnego podejścia. Temat jak najbardziej poważny i myślę że ciekawy.

0

Tylko powyższa strona sprawdza czy ktoś zainstalował flash.exe, a moja by sprawdzała mojego EXEca.

Flash.exe? I pewnie java.exe? i może jeszcze css.exe , html.exe i html5.exe ?! To twoje pewnie się będzie nazywać malware.exe ...
Jakie to dziwne, że w twoim świecie wszystko jest .exe ...

Myślałem żeby zrobić coś takiego podobnego do flasha (wtyczka przeglądarki?), instalować to użytkownikowi wraz z programem i następnie sprawdzać w podobny sposób jak strona:

Umiesz pisać wtyczki do przeglądarek? Nie? No to po co zastanawiasz się nad czymś czego nie umiesz zrobić? Jeżeli to się tobie to wydaje takie proste, to pisz, powodzenia.

No właśnie przesyłam informacje ze strony do programu, tylko spora część użytkowników nie zainstalowała programu i potem ma problem z tymi "specyficznymi linkami". Dlatego chciałbym im zaraz po wejściu na stronę wyświetlić komunikat w stylu "Nie zainstalowałeś programu xyz, poniższe linki nie będą działał dopóki go nie zainstalujesz. Kliknij tutaj aby pobrać program". A obecnie komunikat z przeglądarki "Nieznany lub nieobsługiwany typ adresu" nic użytkownikowi nie mówi.

Jakbyś popatrzył po stronach w internecie, to jest to robione za pomocą protokołów i informacji na stronie, że potrzebna jest dana aplikacja żeby to odpalić. Wykrywanie jest po prostu niepotrzebne i nie ma prostego sposobu na wykrycie.

0

Ok, nie ważne, proszę zamknąć temat, albo wrzucić do perełek.

Zjarek - dziękuję za normalną odpowiedź.

Co do Flash.exe to taki skrót myślowy, prawidłowo by było gdybym napisał "Tylko powyższa strona sprawdza czy ktoś zainstalował install_flash_player_10_active_x.exe" Nie chciało mi się szukać, nazwy pliku instalacyjnego dlatego napisałem flash.exe. No ale widzę, że Wy tutaj lubicie się czepiać wszystkiego i ludzi niezarejestrowanych traktujecie jak kompletnych laików :)

-123oho - przemilczę Twojego posta i Twoją błędną przenikliwość na temat mojej osoby.

0

Bez sprawdzania mogłoby to wyglądać następująco. JS+ciasteczka. Przy pierwszym kliknięciu w taki link niech pojawia się okienko (DHTML) z informacją "aby te linki działały musisz mieć to i to" z dodatkową zaznaczalną fajeczką "nie pokazuj tego komunikatu więcej". W ciasteczkach byłaby zainstalowana informacja o tym, czy użytkownik widział już komunikat i zaznaczył "więcej nie pokazuj".

0

Co do Flash.exe to taki skrót myślowy, prawidłowo by było gdybym napisał "Tylko powyższa strona sprawdza czy ktoś zainstalował install_flash_player_10_active_x.exe"

Nadal robisz taki błąd, że wiem że nie wiesz o czym mówisz. No akurat instalator odpowiada za instalacje, nie za fakt czy plugin jest zainstalowany. Za plugin pewnie jakiś DLL odpowiada, więc pokazuje tylko tobie jak mało wiesz. A ty chciałeś pisać własne pluginy, powodzenia!!!

-123oho - przemilczę Twojego posta i Twoją błędną przenikliwość na temat mojej osoby.

A ja przemilczę to, że tobie się wydaje że ja ciebie błędnie przenikam.

Przy pierwszym kliknięciu w taki link niech pojawia się okienko (DHTML) z informacją "aby te linki działały musisz mieć to i to" z dodatkową zaznaczalną fajeczką "nie pokazuj tego komunikatu więcej". W ciasteczkach byłaby zainstalowana informacja o tym, czy użytkownik widział już komunikat i zaznaczył "więcej nie pokazuj".

Mnie by to wkurzało jakbym miał ten program. Nie lepiej dać po prostu warning nad linkami, to się userzy którzy to już mają nie będą w tym bawić? Bo np. jakbym wywalał ciasteczka to by to wkurzało (a wywalam). Ale to już detal jest.

Ok, nie ważne, proszę zamknąć temat, albo wrzucić do perełek.

Akurat aż tak strasznie śmiesznie nie jest.

1 użytkowników online, w tym zalogowanych: 0, gości: 1