• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Blokowanie programów i stron z poziomu kodu.

Konkurs Mistrz Programowania
0 głosów
834 wizyt
pytanie zadane 24 stycznia 2016 w C i C++ przez Dash Nałogowiec (29,650 p.)

Piszę dość specyficzny program (Windows) i mam problem z dwoma następującymi funkcjonalnościami: 

- Blokowanie programów : myślałem nad dojściem przez kod do wbudowanej kontroli rodzicielskiej windowsa, bądź wykorzystanie już gotowych rozwiązań z tego typu programów. Chodzi o wybranie z listy tych, które mają zostać zablokowane na określony okres czasu. 

-Blokowanie stron internetowych. Obecnie używam pluginu do przeglądarki, potrzebuję jednak blokować je z poziomu programu c++. 

Uprzedzając pytania- nie, nie piszę wirusa, tylko program pozwalający elminować dystrakcje w trakcie pracy. 

3 odpowiedzi

+1 głos
odpowiedź 24 stycznia 2016 przez niezalogowany
wybrane 28 stycznia 2016 przez Dash
 
Najlepsza
Co rozumiesz przez "blokowanie", w sensie wyłączanie ich? Czy coś innego?
komentarz 24 stycznia 2016 przez Dash Nałogowiec (29,650 p.)
Nie, coś na zasadzie kontroli rodzicielskiej, Powiedzmy żeby przez 40 minut włączenie programu nie było możliwe. Wiem że w win7 jest wbudowane coś takiego(Family Safety), muszę to jedynie wyciągnąć do poziomu kodu.
komentarz 24 stycznia 2016 przez niezalogowany
Podobnie jak @Dorion300 miałem zamiar zaproponować zabijanie procesu, jest to chyba najprostszy sposób jednak znowu ma swoje wady, bo jeżeli proces będzie uruchomiony na wyższych przywilejach to go nie zabijesz.

Co do blokady URL to jak sam już zdążyłeś zauważyć, że to umożliwia API Parental Control, ale nigdy tego nie używałem i jedyne co to mogę ci poradzić eksperymentowanie (z tego co widzę to jest jakiś brak funkcji umożliwiających dodanie nowych ustawień, są tylko do pobierania, a może czegoś nie zauważam)
komentarz 24 stycznia 2016 przez niezalogowany
Dobra, mam. Użycie https://msdn.microsoft.com/en-us/library/windows/desktop/ee338585%28v=vs.85%29.aspx

Powinno załatwić sprawę, musisz jedynie znaleźć info w jakim formacie jest ten SID. Microsoft ma okropną dokumentację.
komentarz 25 stycznia 2016 przez Dash Nałogowiec (29,650 p.)
Dzięki! Chociaż na pierwszy rzut oka wygląda to wszystko masakrycznie.  Udało mi się  znaleźć OpenSourcowy program kontroli rodzicielskiej <HoubyControl>, mam nadzieję że jest tam coś ciekawego.
+1 głos
odpowiedź 24 stycznia 2016 przez Dorion300 Szeryf (90,250 p.)
Niestety nie wszystko można ot tak rozwiązać problemy w jednym programiku C++.
Po można taki process po prostu zabić, więc trzeba się namęczyć aby był non-stop uruchomiony.

Jeśli mowa o punkt 2 to polecam blokować strony za pomocą Router'a,
W większości routerach można wejść do konfiguracji za pomocą przeglądarki i za pomocą GUI w nim zawartym dodać reguły takie jak - blokowanie domen/IP

Jeśli mowa o punkt 1 to jak najbardziej da się zrobić za pomocą C++'sa.
W najprostszy sposób - badać wszystkie processy i zabijać te nieodpowiednie.
komentarz 24 stycznia 2016 przez Dash Nałogowiec (29,650 p.)

Zamysł z internetem był taki aby sprawdzać PID procesu, z niego odczytywać IP a następnie blokować je na routerze. 

Programy można odciąć na poziome firewall-a co wiąże się niestety z babraniem w bardzo niskopoziomowym i ciężkim kodzie. W MSDN znalazłem także:

 https://msdn.microsoft.com/en-us/library/windows/desktop/ms711682(v=vs.85).aspx

Niestety ten jeden mały przykładzik nie mówi mi za dużo, szczególnie że pierwszy raz piszę coś związanego bezpośrednio z Windowsem. 

komentarz 24 stycznia 2016 przez juriiw Gaduła (3,470 p.)
Dorion czy mógłbyś odnieść się do ostatniego zdania swojej wypowiedzi? Mam problem podobnej natury (lecz na odwrót). Nie chciałbym aby inne (programy) odczytywały moją aplikację jako "wrogą", ponieważ taka nie jest...a niestety tak się dzieje. Czy da się zabezpieczyć proces swojej aplikacji aby był "nietykalny" dla innych programów? Prosty przykład:
zrobiłem aplikację, która robi screen z ekranu z podanym interwałem. Gdy uruchamiam grę (odpala się "game guard") jest po zabawie...moja aplikacja przestaje działać! Nie wydaje mi się aby była szkodliwa dla tej gry (tego programu), a jednak jakiś algorytm "uznał" inaczej. Dlaczego? Gdzie mogę zasięgnąć informacji o takich przypadkach?
+1 głos
odpowiedź 25 stycznia 2016 przez maly Nałogowiec (37,190 p.)
Teoretycznie blokowanie stron możesz zrobić edytując plik hosts ale będziesz musiał mieć do tego uprawnienia administratora.

Podobne pytania

0 głosów
0 odpowiedzi 268 wizyt
pytanie zadane 29 stycznia 2024 w Sieci komputerowe, internet przez Kamil94 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 306 wizyt
pytanie zadane 28 kwietnia 2017 w Bezpieczeństwo, hacking przez vivert69 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 1,086 wizyt

93,652 zapytań

142,574 odpowiedzi

323,089 komentarzy

63,168 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...