poniedziałek, 14 grudnia 2015

lekcja13

Temat:Grafika komputerowa.

Formaty plików graficznych

Stworzony obraz, czy to w grafice wektorowej czy to w rastrowej, można i należy zapisać w pliku. Istnieje wiele różnych formatów plików, które mogą być wykorzystane do tego celu. Część z nich dedykowana jest do grafiki rastrowej, część do wektorowej, ale są i takie, ktróre umożliwiają zapis informacji pochodzących z obu tych typów. Wybór formatu pliku determinuje sposób jego zapisu, co bezpośrednio przekłada się na jakość zapisanego obrazu oraz na rozmiar powstałego pliku.

Przy wyborze formatu pliku, w którym ma zapisana będzie grafika należy przede wszystkim zastanowić się w jakim celu taki plik jest tworzony i jak ma być później wykorzystywany. Przykładowo; gdy w pewnym programie graficznym zostanie stworzony obraz, to najlepiej zapisać go w natywnym (dedykowanym dla tego programu) formacie plików, ponieważ zapisana będzie wtedy pełna informacja o tym obrazie. Praktycznie każdy bardziej profesjonalny program do tworzenia grafiki rastrowej czy wektorowej ma swój własny format plików. Inaczej natomiast należy postąpić gdy przygotowujemy obraz do wydruku, a inaczej gdy chcemy go na przykład umieścić na stronie www, itp.

      



Nie istnieje jeden uniwersalny i odpowiedni dla wszystkich zastosowań format plików graficznych. Należy więc wybierać odpowiedni format plików dla konkretnego zastosowania.
W celu zachowania pełnej informacji o obrazie najlepiej zachować go we własnym (natywnym) formacie narzędzia, w którym został



Nie sposób opisać wszystkie dostępne formaty plików graficznych, ponieważ jest ich zbyt wiele. Istotna jest jednak znajomość najczęściej z nich stosowanych, różnice między nimi oraz ich typowe zastosowanie.

BMP 
(Bitmap file)Pierwotnie został zastosowany w systemie OS/2 jednak swą ogromną popularność zawdzięcza powszechnemu stosowaniu go w systemach Microsoft Windows do przechwywania plików grafiki rastrowej. Używany jest między innymi do: zapisu tapety pulpitu, przechowywania obrazów utworzonych w programie Paint, itp.Wbrew swej nazwie służy nie tylko do przechowywania map bitowych (czyli czarno - białych), ale i do barwnych map pikseli o różnej głębi kolorów. Najczęściej dane opisujące raster przechwywane w tym formacie są nieskompresowane przez co obrazy nie tracą na jakości, aczkolwiek mają duży rozmiar.


Dla zaawansowanych!
BMP to bardzo prosty format, ponieważ na początku takiego pliku znajduje się specjalny nagłówek zawierający informacje o rozmiarze obrazu, głębi kolorów itp, a później po prostu kolejne wartości liczbowe opisujące barwy pikseli. Głębia koloru pojedynczego piksela to liczba barw opisujących ten piksel, która przekłada się wprost na liczbę bitów opisujących go. Przykładowo gdy jeden piksel reprezentowany jest przez pełną paletę RGB, to każda z barw zapisana jest w pojedynczym bajcie. Daje to 3 * 8 = 24 bity na zapis koloru pojedynczego piksela, co z kolei przekłada się na 224=16777216 barw. W tym formacie piksele mogą być reprezentowane przez 1, 4, 8, 16, 24, lub 32 bity.
Format BMP zawiera w sobie również możliwość zapisu danych o pikselach z bezstratną kompresją RLE co jednak jest rzadko wykorzystywane.

Zalety:
  • prosty i wolny od patentów format zapisu - łatwy w odczycie,
  • nie ma utraty jakości obrazu - brak kompresji lub kompresja bezstratna,
  • nadaje się głównie do przechowywania zrzutów ekranu, tapet, obrazów ze skanowania (głównie w systemach Microsoft Windows), itp.
Wady:
  • popularny głównie w systemach Microsoft Windows a szczególnie w narzędziu Paint - w innych zdecydowanie rzadzej wykorzystywany,
  • z reguły nie skompresowany - duży rozmiar pliku przez co nie nadaje się do przechowywania obrazów publikowanych w Internecie (przykładowo zrzut ekranu w typowej 1024x768 rozdzielczości i 24-ro bitowej gamie barw zajmuje ok. 2,3MB).
  • TIFF (Tagged Image File Format)Jeden z najpopularniejszych i najbardziej rozpowszechnionych formatów przechowywania obrazów grafiki rastrowej (aczkolwiek możliwe jest w nim również osadzanie elementów grafiki wektorowej). Opracowany został w 1986 r. przez firmę Aldus, która jest twórcą przełomowego w grafice DTP programu PageMaker. Firma ta została wykupiona przez Adobe i dzisiaj ona ma prawa do formatu TIFF.

    Historycznie format ten używany był do zapisu obrazu ze skanerów umożliwiając ich wielostronicowy zapis, jednak poddany został wielu zmianom i dzisiaj jest jednym z najbardziej rozbudowanych formatów graficznych o czym może świadczyć pełna jego specyfikacja dostępna na stronie firmy Adobe.


    Dla zaawansowanych!
    Cechą charakterystyczną jego budowy jest użycie czyli odpowiednich znaczników opisujących dane parametry (trochę podobnie jak w języku HTML). Z tego też powodu format ten ciągle się rozwija i umożliwia osadzanie w nim innych obiektów takich jak elementy grafiki wektorowej, tekstu czy wręcz obrazów w formacieJPEG. Umożliwia przechowanie pełnej (32-bitowej) informacji o kolorze piksela dla palety CMYK jak również zastosowanie bezstratnej kompresji LZW (Lempel-Ziv-Welch).

    Zalety:
    • szeroko stosowany w wielu narzędziach i systemach operacyjnych,
    • głównie używany do zapisu obrazów przeznaczonych do wydruku (w palecie CMYK),
    • nadaje się do archiwizacji obrazów grafiki rastrowej dzięki bezstratnej kompresji LZW (przykładowo nieskompresowany zrzut ekranu w formacie TIFF zajmuje, tak jak i BMP ok. 2,3MB, a skompresowany nawet i dziesięciokrotnie mniej).
    Wady:
    • duże możliwości rozbudowy tego formatu powodują, że czasem dany program nie potrafi poprawnie odczytać pewnych wersji tego formatu,
    • nie nadaje się do umieszczania grafiki w Internecie - przeglądarki raczej nie mają wbudowanych mechanizmów jego odczytu.
JPEG (Joint Photographic Experts Group)

Prace nad tym formatem rozpoczęto w roku 1983, a w 1986 r. powołano grupę ekspertów, którzy w 1991 r. opublikowali standard formatu JPEG. Definiował on podstawy kompresji stratnej (powoduje ona bezpowrotne pogorszenie jakości obrazu) zastosowanej w tym formacie, oraz pewne rozszerzenia formatu; jak przykładowo tryb progresywnej kompresji. Tryb ten daje efekt wyostrzających się zdjęć, co stosuje się przy wyświetlaniu zdjęć na stronach www. W 1995 r. ogłoszono trzecią wersję standardu zawierającą kolejne rozszerzenia. Między innymi możliwość podziału obrazu na prostokątne kawałki, które to mogą mieć różne rozmiary, rozdzielczości, współczynniki kompresji, itp. Ze względu jednak na różne wersje używanych algorytmów kompresji i brak ich ujednolicenia trwały prace nad uściśleniem standardu i w 2000 r. został ogłoszony nowy zwany JPEG 2000.Zastosowanie w formacie JPEG algorytm kompresji stratnej powoduje, że jest ona bardzo dobra dla płynnych przejść barw, w przeciwieństwie do wiernego oddania szczegółów gdzie mamy do czynienia ze znaczną utratą jakości. Format ten umożliwia wybranie odpowiedniego stopnia kompresji. Z reguły programy graficzne umożliwiają podgląd zapisywanego obrazu przed jego zapisaniem, co pozwala na optymalne dobranie współczynnika kompresji dla danego obrazu. Najczęściej zastosowanie kompresji ta pozwala na kilkunastokrotne zmniejszenie rozmiaru pliku bez zbytnio zauważalnej utraty jakości.


Dla zaawansowanych!
Podczas zapisu obrazu w formacie JPEG następuje zamiana 24 bitowego koloru (paleta RGB) poszczególnych pikseli na jasność (chrominancję) i względny kolor (luminancję), gdyż na to bardziej jest wyczulone oko ludzkie (z tego faktu również korzysta się przy przesyłaniu sygnału wideo). Następnie dane te poddane są stratnej kompresji. Jest ona oparta na dyskretnej transformacie kosinusowej(DCT - Discrete Cosine Transform) , natomiast w nowszysm formacieJPEG 2000 została zastosowana dyskretna transformacja falkowa(DWT - Discrete Wavelet Transform). Obie te metody są jednak zbyt skomplikowane matematycznie by je tu wyjaśniać.


Zalety:
  • bardzo dobrze nadaje się do zapisu obrazów o płynnych przejściach barwnych, a więc takich jak obrazy czy większość zdjęć,
  • możliwość wyboru stopnia kompresji, co pozwala na odpowiedni dobór tego parametru dla danego obrazu,
  • podział obrazu na kawałki pozwala na dobór odpowiednich parametrów dla danego fragment,
  • możliwość wyświetlania wyostrzającego się obrazu oraz powyższe zalety czynią format JPEG najpopularniejszym do umieszczania zdjęć na stronach www,
  • jest to również najpopularniejszy format przechowywania zdjęć na pamięciach aparatów cyfrowych.
Wady:
  • użyte algorytmy kompresji nie radzą sobie ze szczegółami,
  • nie nadaje się do zapisu obrazów takich jak loga, ikony itp, gdzie mamy ostre linie na jednolitym tle - w takich przypadkach lepiej zasosować format PNG lub GIF - szybszy (brak kompresji) i wiernie oddający obraz (kompresja bezstratna).

lekcja 12

Temat: Ochrona przed wirusami.
Wirus komputerowy – program komputerowy posiadający zdolność powielania się, tak jak prawdziwy wirus, stąd jego nazwa. Wirus do swojego działania potrzebuje i wykorzystuje system operacyjny, aplikacje oraz zachowanie użytkownika komputera.
Wirusa komputerowego zalicza się do złośliwego oprogramowania.
Do zwalczania i zabezpieczania się przed wirusami komputerowymi stosuje się programy antywirusowe oraz szczepionki antywirusowe.
Przenoszenie się i działanie wirusa komputerowego[edytuj | edytuj kod]
Wirus komputerowy przenosi się poprzez pliki, co wymaga obecności systemu plików, lub przez bezpośredni zapis w wybranym sektorze bądź jednostce alokacji zewnętrznego nośnika danych np. dysku twardego, dyskietkilub pendrive'a. Proces replikacji wirusa komputerowego polega na odpowiedniej modyfikacji zawartości pliku, sektora lub jednostki alokacji. Tak zmodyfikowany nośnik danych nazywa się nosicielem wirusa komputerowego, analogicznie do prawdziwego nosiciela wirusa.
Rozmiary pierwszych wirusów komputerowych zawierały się w granicach od kilkudziesięciu bajtów do kilkukilobajtów. Obecnie, takie klasyczne wirusy spotyka się rzadziej, częściej jest to połączenie wirusa z robakiem komputerowym o rozmiarze rzędu kilkadziesiąt kilobajtów. Taką, stosunkowo niewielką ilość kodu binarnego, z łatwością można ukryć w dużym pliku zawierającym program komputerowy, o rozmiarze rzędu kilku megabajtów. Sam rozmiar wirusa zależy od czynników takich jak:
umiejętności programistyczne twórcy wirusa – wirus lepszego programisty napisany w tym samym języku będzie mniejszy lub będzie miał więcej funkcji;
użyty język programowania – wirus o podobnej funkcjonalności napisany w języku maszynowym (asembler) zwykle będzie mniejszy niż w języku skryptowym czy języku wysokiego poziomu;
przewidywana funkcjonalność wirusa – prosty wirus będzie mniejszy od szkodnika wykonującego wiele różnych czynności; najmniejsze wirusy potrafią tylko się powielać;
wykorzystanie cech środowiska operacyjnego – wirus napisany jako maksymalnie niezależny musi mieć wbudowane wszystkie potrzebne biblioteki, wirus korzystający w pełni ze środowiska ma tylko minimum kodu niezbędne do wywołania dostępnych w tym środowisku funkcji.
Od programisty zależą także efekty, jakie wirus będzie wywoływał po zainfekowaniu systemu, na przykład:
nieupoważnione kasowanie danych
rozsyłanie spamu poprzez pocztę elektroniczną
dokonywanie ataków na inne hosty w sieci, w tym serwery
kradzież danych: hasła, numery kart płatniczych, dane osobowe
zatrzymanie pracy komputera, w tym całkowite wyłączenie
wyświetlanie grafiki i/lub odgrywanie dźwięków
utrudnienie lub uniemożliwienie pracy użytkownikowi komputera
przejęcie przez osobę nieupoważnioną kontroli nad komputerem poprzez sieć
tworzenie grupy hostów zarażonych danym wirusem, tzw. botnet
Wirusy dyskowe[edytuj | edytuj kod]
infekujące sektory startowe dyskietek,
infekujące początkowe sektory dysków twardych.
Wirusy plikowe[edytuj | edytuj kod]
lokujące się na końcu pliku (ang. end of file infector ),
nadpisujące (ang. overwriting infector). Lokują się na początku pliku, zwykle nieodwracalnie go niszczą,
nagłówkowe (ang. header infector). Wirusy te nie przekraczają rozmiaru jednego sektora (512 bajtów),
wykorzystujące niezapisaną część ostatniej jednostki alokacji pliku (ang. slack space infector).
lokujące się w pliku w miejscach gdzie jest niewykorzystany obszar pliku (ang. cave infector),
lokujące się w dowolnym miejscu pliku (ang. surface infector).
Wirusy skryptowe[edytuj | edytuj kod]
wsadowe (ang. batch virus), infekują pliki wsadowe np. typu.bat,.vbs,
powłokowe (ang. shell virus), infekują pliki zawierające skrypty języka skryptowego powłoki systemowej np. dla linuxowego basha,
makrowe (ang. macro-virus), infekują pliki makropoleceń np. procesora tekstu czy arkusza kalkulacyjnego.
lokacyjne (ang. locator-virus), infekuje daną lokację lub plik.
Wirusy telefonów komórkowych[edytuj | edytuj kod]
infekujące telefony komórkowe, które w istocie są hostami sieciowymi.
Ochrona przed wirusami plików wykonywalnych[edytuj | edytuj kod]
Oprócz sprawdzenia programem antywirusowym, pliki wykonywalne można dodatkowo przeanalizować przy użyciu strony analizującej pliki pod kątem ich zainfekowania (np. virustotal.com). Dzięki temu rozwiązaniu można mieć niemalże 100% pewności, że dany plik jest/nie jest zainfekowany. Wyjątkiem mogą być wirusy, które są tak nowe, że żadna firma produkująca zabezpieczenie nie miała z nimi styczności, więc nie jest ich w stanie rozpoznać jako zainfekowane.
Ochrona przed bombami logicznymi i końmi trojańskimi[edytuj | edytuj kod]

Konie trojańskie i bomby logiczne ze względu na sposób działania są trudne do wykrycia, gdyż właściwy, destrukcyjny kod może być umieszczony w dowolnym miejscu programu i trudno go odnaleźć. Niekiedy jest to wręcz niemożliwe. Z pomocą przychodzi tu technika heurystyczna. Polega ona na wykrywaniu potencjalnych agresorów na podstawie charakterystycznych sekwencji kodu. Programy poszukujące koni trojańskich w podejrzanych plikach najczęściej szukają w nich instrukcji wywołań przerwań programowych. Są to przerwania 13h lub 26h, używane do odczytywania i zapisywania sektorów. Ze względu na swe działanie, przerwania te występują bardzo rzadko w typowym oprogramowaniu użytkowym, gdyż normalne programy nie korzystają z bezpośrednich operacji zapisu na sektorach. Potencjalnymi końmi trojańskimi są także najnowsze wersje typowych i często używanych programów użytkowych, programów kompresujących czy nawet antywirusowych, zatem należy się z nimi obchodzić bardzo ostrożnie i przed uruchomieniem ich wypada je przeskanować.