OA Blocklist Manager

Wszelkie inne tematy związane z bezpieczeństwem komputerowym.
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 20 sty 2012, 16:10

Pracuję nad mechanizmem aktualizacji blocklist w Online Armor.
Producent nie chce zintegrować blocklist OA z blocklistami EAM, a szkoda, bo to całkiem pożyteczna funkcja.
Na razie projektuję interfejs, dodaję podstawowe funkcje oraz kształtuję ogół programu. Niestety, jest kilka problemów:
#1: Online Armor przechowuje jedynie informacje o lokalizacji pliku blocklisty i nic z nim nie robi. Jeśli użytkownik zapisze blocklistę na pulpicie, doda do OA i skasuje ją, to OA głupieje - blocklista jest na liście, ale nie działa. Spróbuję dogadać się z producentem żeby to rozwiązać.

#2: Online Armor coś nie chce współpracować z aplikacjami napisanymi w Delphi - interfejs po prostu nie działa. Trzeba wyłączyć OA lub dodać folder z plikiem OABU do listy wykluczeń.

#3: Stworzyłem funkcję która pobiera lokalizację instalacji OA (na podstawie wartości w kluczu należącym do OA), na podstawie której mogę wykryć wersję OA. Niestety, OA blokuje dostęp do tego klucza (spokojnie, wiem jak to ominąć).

#4 Blocklisty w OA mają dziwną strukturę...

Co chcę mieć w updaterze? Możliwość dodawania/usuwania blocklist, aktualizowania ich, może dodawania i usuwania pojedynczych wpisów (raczej nie - OA ma już tę funkcję).
Aktualizacja powinna następować po ustalonym harmonogramie. Program domyślnie powinien posiadać paczkę podstawowych blocklist: CoU, Blocklist pro - trzeba to obadać. Poczekamy, zobaczymy co na to Emsisoft.

Program na dzień dzisiejszy ma zbudowany interfejs, kilka podstawowych kontrolek sterujących, funkcji jako takich na razie brak - wykrywana jest tylko wersja OA.
Aplikacja będzie darmowa, ewentualne na licencji donationware lub beerware ;).
Program jest eksperymentalny - nie do użytku ;).
http://imgur.com/a/lGohI
tłu... ja mam wersję deweloperską oa, więc nie dziwcie się że taki dziwny numer.
Na razie proszę tylko o komentarze: łał fajnie, ale nędza - porzuć to, cieszę się że takie coś powstanie etc.
Ostatnio zmieniony 04 lut 2012, 13:44 przez Eugeniusz, łącznie zmieniany 4 razy
Awatar użytkownika
preter_m
Dyskutant
  • Posty: 366

Post 21 sty 2012, 11:36

Bardzo ciekawy programik, jednak na twoim miejscu napisałbym do Emsisoftu czy aby nie planują wprowadzić funkcji autoktualizacji blokowanych IP w jednej z następnych wersji OA.
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 21 sty 2012, 11:41

Tego właśnie nie chcą zrobić. Od tego będzie ten apps :)
Awatar użytkownika
Borzuck
Użytkownik
  • Posty: 561

Post 21 sty 2012, 11:51

Życzę powodzenia, super pomysł ;-)
Awatar użytkownika
preter_m
Dyskutant
  • Posty: 366

Post 21 sty 2012, 15:51

Eugeniusz pisze:Tego właśnie nie chcą zrobić. Od tego będzie ten apps :)

Czyli inicjatywa jak najbardziej pozytywna. Trzymam kciuki za jej powodzenie :)
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 21 sty 2012, 16:27

Obmyślam sposób działania takich blocklist, prawdopodobnie będzie to tak wyglądało:
1. Będę "wspierał" kilka blocklist, które będą instalowane razem z programem.
2. Każda blocklista będzie posiadała sygnaturę wersji, która będzie porównywana z informacjami pobieranymi z serwera.
3. Jeśli zostanie wydana nowa wersja, menedżer zaktualizuje wybraną blocklistę.
Inaczej rozwiązać się tego chyba nie da. Na razie jednak wszystko zależy od deweloperów OA - zaproponowałem utworzenie dodatkowego folderu gdzie OA jest zainstalowany, żeby można było operować na blocklistach bez ingerencji użytkownika.
//muszę poszukać jakiegoś darmowego serwera, chyba tylko republika będzie OK :|
Awatar użytkownika
preter_m
Dyskutant
  • Posty: 366

Post 21 sty 2012, 19:34

A nie można wykorzystać takiego Dropboxa czy innego SugarSync jako serwera?
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 22 sty 2012, 18:04


Dodano: 22 sty 2012, 16:37

Zaczynamy fazę alfa.
Wersja: 0.0.1.2
Bardzo proszę użytkowników o przetestowanie tej aplikacji, zwłaszcza na nowych systemach (Vista,7). OA nie musi być zainstalowany (ale warto go mieć).

Instrukcja obsługi

Pobierz i wypakuj pliki programu.
Uruchom oamanager.exe (w nowych systemach powinien pojawić się monit UAC - na razie to nie jest chyba potrzebne, ale skoro jest...) i rób co chcesz :).

Co działa:
√ wykrywanie wersji Online Armor
√ wielojęzykowy interfejs (pliki lokalizacyjne nie są udostępnione)
√ sprawdzanie aktualizacji blocklist
√ minimalizacja do zasobnika (domyślnie)
√ zamykanie do zasobnika (można wyłączyć)

Co nie działa:
√ wybór mirrora - niekatywny
√ samobrona
√ autostart
√ program zapętla się, nie reaguje na dopiero co pobraną wersję blocklist
√ harmonogram (te comboboxy jakieś zbugowane są)
√ wyłączanie powiadomień

Znane błędy:
√ dziennik aktualizatora nie jest w trybie do-odczytu, można zmieniać rozmiar formy
√ okno aktualizatora czasami za szybko znika
√ problemy z serwerem
√ kilka wycieków pamięci

Zapraszam do testów. Zna koś jakiś zwyczajny, darmowy serwer WWW?
Dobrym pomysłem jest dodanie folderu z plikami programu do listy wykluczeń OA.
Awatar użytkownika
ichito
Redaktor
Redaktor
  • Posty: 2622

Post 23 sty 2012, 11:02

Coś mi pobieranie nie działa...
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 23 sty 2012, 17:43

Sprawdź czy w katalogu temp masz pliki blocklist1.txt oraz version.ini
Oj chyba będę musiał stworzyć jakiś system logowania zdarzeń.
BTW program ma zadatki na trojana - możliwe jest zdalne pozbawienie użytkownika używanych blocklist.


Dodano: 23 sty 2012, 16:43

Aplikacja poza aktualizowaniem blocklist dla OA będzie też aktualizować pliki hosts.
Awatar użytkownika
nikitagorbaczow
Dyskutant
  • Posty: 382

Post 24 sty 2012, 4:37

Eugeniusz pisze:Aplikacja poza aktualizowaniem blocklist dla OA będzie też aktualizować pliki hosts.

A jak z ilością wpisów w pliku hosts? Rzędu?
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 24 sty 2012, 12:19

Około 17 tysięcy.
Awatar użytkownika
zord
Moderator
Moderator
  • Posty: 4757

Post 24 sty 2012, 12:34

podobno jak jest bardzo dużo wpisów w hosts to cały system się zamula przy i 17k może być to odczuwalne
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 24 sty 2012, 12:48

Trzeba zmienić niektóre ustawienia Windows, wtedy jest OK.
//instalator będzie wprowadzał owe zmiany.
Awatar użytkownika
nikitagorbaczow
Dyskutant
  • Posty: 382

Post 24 sty 2012, 15:24

zord pisze:podobno jak jest bardzo dużo wpisów w hosts to cały system się zamula przy i 17k może być to odczuwalne

Właśnie dlatego zapytałem ;) A jakie są to zmiany w Windowsie? Jeśli oczywiście możesz zdradzić :)
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 25 sty 2012, 13:09

Tu możesz poczytać:
http://winhelp2002.mvps.org/hosts.htm
Tymczasem czas na 0.0.0.1.10 (alfa 2).
Zmiany:
√ zmiana nazwy na OA Blocklist Manager
√ zmiany w menu głównym, kilka nowych etykiet (data ostatniej aktualizacji)
√ zmiany w oknie ustawień (nie można zmienić częstotliwości aktualizacji - tj. będzie można, ale w rejestrze).
√ wykrywanie wersji aplikacji (okno o programie)
√ aktualizowanie blocklist z traya programu
√ program nie zapętla się (raz zaktualizowany, potem się nie da)
√ "donate" w about - program zaanonsuję na wildersach, jeśli uda się zebrać jakieś sensowne fundusze, to kupię normalny serwer, reszta trafi w ręce twórców blocklist. Potem gdy będę otrzymywał comiesięczne dotacje, 60% będzie szło do nich, 40% na infrastrukturę.
√ notyfikacje (tylko w przypadku update z traya)
√ bug #2 naprawiony (poprawki w oknie aktualizacji blocklist
√ zmiana źródła - obecnie jest to dropbox

Znane błędy:
√ donate nie działa
√ program nie wykrywa że użytkownik zaktualizował blocklisty z traya
√ czasami dymek za szybko znika
√ cała masa funkcji nie działa :(
Program jest gotowy do jednorazowego pobrania aktualizacji HOSTS do katalogu temp (bez instalowania).
http://oa-blocklist-manager.googlecode. ... /alfa2.zip


Dodano: 25 sty 2012, 12:08

0.0.1.19
√ wyrzucone sprawdzanie wersji OA
√ poprawki w interfejsie okna głównego
√ automatyczne sprawdzanie aktualizacji - 3 minuty od startu
√ wsparcie dla 64-bitowych systemów*

* natywna aplikacja 32-bitowa uruchomiona w 64-bitowym Windows korzysta z innych folderów (%windir%\syswow\). Wprowadziłem niezbędne poprawki które powinny pozwolić korzystać z C:\Windows\system32\drivers\etc :).
Czy ktoś, kto używa 64-bitowego windowsa może sprawdzić czy aplikacja tworzy nowy plik "hosts_beta" w C:\Windows\system32\drivers\etc? Proszę uruchomić aplikację, poczekać około 3 minuty lub ręcznie zaktualizować z traya.
http://oa-blocklist-manager.googlecode. ... r64bit.zip
Niestety ale nie mam dostępu do takiego systemu.
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 27 sty 2012, 23:03

Wersja alfa 3 - ostatnia w tej gałęzi.
0.0.1.37:
√ donate w about doskonale działa i wygląda
√ program nie zamyka się do traya - potężna oszczędność pamięci
√ optymalizacja kodu - aplikacja startuje szybciej
√ program powoli wygląda tak jak powinien
√ wywalona zakładka aktualizacji programu
√ ulepszone pobieranie blocklist. Od teraz w prosty sposób mogę zmienić liczbę wspieranych blocklist po stronie serwera. Teraz są np. testowe 3, ale wystarczy że zmienię plik synchronizacji i użytkownik może pobrać sobie nowe blocklisty
√ zapis do innego katalogu - na razie nie działa
√ zlikwidowany potężny wyciek pamięci występujący przy pobieraniu blocklist

Znane błędy:
√ aktualizacja z traya nie działa (wyłączone - jutro włączam)
√ informacje "debugowania" w oknie pobierania
√ dodatkowe etykiety w oknie pobierania
√ sprawdzanie wersji programu nie działa
√ zapętlanie programu

Ufff.... :) wygląda na to że ten program będzie sukcesem :)

Upps ta wersja posiada błąd - zapomniałem wyłączyć timera.
A tu minimalne zużycie pamięci przez program w stanie spoczynku: Obrazek


Dodano: 27 sty 2012, 22:00

0.0.2.13:
√ gałąź beta
√ zapisywanie kluczy w rejestrze (wymaga dopracowania)
√ wyrzucony zapis do katalogu
√ program zapisuje pliki do katalogu blocklist
√ ochrona przed przypadkowym skasowaniem plików konfiguracyjnych
√ zmiany w interfejsie: listview działa, buttony z grafikami, menu podręczne, okno o programie,
√ przygotowania pod animację ikony w trayu (podczas aktualizacji)
√ drobne poprawki
√ działająca automatyczna aktualizacja po uruchomieniu aplikacji (z autostartu lub potem)
Obrazek
w przyszłości użytkownik będzie mógł dostosować które blocklisty chce pobierać :)
Programu nie udostępniam - nie ma instalatora tworzącego wartości rejestru (będzie...)
Awatar użytkownika
ichito
Redaktor
Redaktor
  • Posty: 2622

Post 28 sty 2012, 5:29

Czekamy niecierpliwie :)
Awatar użytkownika
Eugeniusz
Redaktor
Redaktor
  • Posty: 4799

Post 28 sty 2012, 15:46

Dobra ludzie, wybieramy które blocklisty wspierać. Na start na pewno będzie plik hosts mvps - hphosts jest jakiś dziwny - ponad 230 tysięcy wpisów.


Dodano: 28 sty 2012, 14:42

Wspomniany instalator - http://oa-blocklist-manager.googlecode. ... -beta2.exe
Instalator tworzy nowy klucz rejestru (HKCU/OA Blocklist Manager) a w nim następujące wartości:
hosts protection - pobieranie aktualizacji dla hosts (domyślnie 0)
notifications - pokazywanie powiadomień (1)
interval - harmonogram pobierania (5) - aplikacja teoretycznie powinna sprawdzać aktualizacje co 5 godzin, ale tego nie robi - nie zrobiłem tego na ten moment. Użytkownik może zmienić interwał samodzielnie zmieniając ową wartość. 5 oznacza 5 godzin, 6-6 godzin. Wartość 0 wyłącza automatyczne sprawdzanie.
closing - zamykanie do traya (1)

Aplikacja domyślnie startuje z Windows - nie wiem jak w Inno setup umożliwić użytkownikowi zmianę tego ustawienia. Nie wiem też jak aplikacja zachowa się w 64-bitowych windowsach.

Błędy, które zauważyłem:
√ powiadomienia - trzeba przejść do ustawień żeby się pokazały
√ pusta kolumna "type"
√ zamykanie do traya - program nie zmienia wartości w rejestrze
√ ostatnia aktualizacja - głupio zrobione, zrobimy inaczej

Dodałem freeware'ową licencję do instalatora. Według KPCD program opóźnia ładowanie o 0.1s
Awatar użytkownika
buri
Użytkownik
  • Posty: 964

Post 28 sty 2012, 16:26

Tak z ciekawości zapytam, nie mogłeś tych ustawień dać do pliku w folderze instalacji, taki "config.ini"? Zaśmiecanie już zaśmieconego rejestru to zły pomysł, a w takim pliku by nikomu nie przeszkadzało, chyba że jest jakiś powód ku temu.
Następna

Wróć do Inne

Kto jest online

Użytkownicy przeglądający ten temat: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość