IDZ DO
         PRZYK£ADOWY ROZDZIA£

                           SPIS TRE CI   Leksykon hackingu
           KATALOG KSI¥¯EK               Autor: John Chirillo
                                         T³umaczenie: Andrzej Gra¿yñski
                      KATALOG ONLINE     ISBN: 83-7361-283-1
                                         Tytu³ orygina³u: Hack Attacks Encyclopedia
       ZAMÓW DRUKOWANY KATALOG           Format: B5, stron: 192


              TWÓJ KOSZYK
                    DODAJ DO KOSZYKA     Hakerzy pojawili siê, gdy tylko pierwsze komputery trafi³y na uczelnie.
                                         W przeciwieñstwie do rasowych informatyków, którzy w³a ciwie nie potrzebowali
                                         komputerów do swoich teoretycznych rozwa¿añ, hakerzy starali siê wykorzystaæ sprzêt
         CENNIK I INFORMACJE             praktycznie. Wkrótce stali siê prawdziwymi czarodziejami, znaj¹cymi od podszewki
                                         zasady dzia³ania maszyn, na których pracowali. Niewielka czê æ z nich zajê³a siê
                   ZAMÓW INFORMACJE      w³amaniami do systemów, wiêkszo æ po wiêci³a siê po¿ytecznym zajêciom, dziêki
                     O NOWO CIACH        którym powsta³o wiele cennych i u¿ywanych do dzi programów, a nawet jêzyków
                                         programowania.
                       ZAMÓW CENNIK      Hakerzy tworzyli i tworz¹ rozproszon¹ spo³eczno æ, która wykszta³ci³a w³asne
                                         zwyczaje, a tak¿e swój w³asny, tajemniczy i trudny do zg³êbienia dla profanów jêzyk.
                                         Jemu w³a nie po wiêcona jest ta ksi¹¿ka. Dziêki niej poznasz slang, którym pos³uguj¹
                 CZYTELNIA               siê hakerzy. Wiele z ukutych przez nich terminów wysz³a poza w¹skie rodowisko
                                         hakerskie i u¿ywana jest dzisiaj przez szerokie grono osób, czêsto w nieco zmienionym
          FRAGMENTY KSI¥¯EK ONLINE       znaczeniu. Dziêki tej ksi¹¿ce poznasz, co znaczy³y one oryginalnie i prze¿yjesz
                                         pasjonuj¹c¹ podró¿ po wiecie hakerów.
                                         Setki skrótów i okre leñ, w których zawarta jest historia komputerów i internetu, czeka
                                         na Ciebie. Nie wiesz, co to jest „p³eæ bajtowa”? Siêgnij po tê ksi¹¿kê, a wszystko stanie
                                         siê ³atwe.
                                            • Poznasz jêzyk hakerów,
                                            • Szczegó³owe wyja nienia setek skrótów i terminów,
                                            • Pasjonuj¹ca wyprawa po tajemniczej spo³eczno ci komputerowych czarodziejów.



Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
    Wstęp ............................................................................................... 5
    Leksykon hackingu ............................................................................ 7
Leksykon hackingu
  20x
        patrz TOPS-20

  abbrev
      Skrót od wyrazu abbreviation — „skrót”.

  ABEND
     (ABnormal END) Nienormalne zakończenie programu; crash, lossage. Oryginalnie
     nazwa makra systemów operacyjnych OS i DOS komputerów IBM/360 i IBM/370
     z lat 1960 – 1980, powodującego natychmiastowe zakończenie wykonywanego
     programu z inicjatywy systemu operacyjnego lub u ytkownika. Z reguły pisane
     w całości wielkimi literami (ABEND — jak we wspomnianych systemach), spoty-
     kane tak e w postaci abend. Nieświadomi etymologii tego słowa hakerzy kojarzą
     go z niemieckim określeniem wieczoru (niem. abend) — ma ono nazywać czynności
     operatorów systemu, którzy późnym piątkowym popołudniem wprowadzają system
     operacyjny w stan tzw. pracy bezobsługowej na czas weekendu.

  ACK
        1. Skrót oznaczający potwierdzenie (ang. acknowledge); mnemoniczne określenie
        znaku ASCII(6) u ywanego (w telegrafii) w charakterze kodu potwierdzającego
        transmisję. U ywany tak e w odniesieniu do reakcji programu interakcyjnego (np.
        ping) na zapytanie u ytkownika. 2. Uprzejme potwierdzenie tego, i zrozumiało
        się punkt widzenia dyskutanta („Ack. Ack. Ack. Teraz ju wiem” — rzadko sto-
        sowane w komunikacji polskojęzycznej). 3. Prośba o potwierdzenie obecności
        partnera („Jesteś tam?”) przy komputerze podczas rozmowy w trybie terminalowym
        (jak w programie talk). 4. Symboliczne ponowienie zapytania zawartego w po-
        przednio wysłanym e-mailu, który pozostał bez odpowiedzi; zobacz tak e NAK.

  Ada
        Wywodzący się z Pascala język programowania, który stanowi podstawę dla
        projektów informatycznych w Departamencie Obrony USA. Według zgodnej
        opinii hakerów język ten jest koronnym przykładem tego, czego dokonać mo e
        rozbudowana biurokracja: stworzony został przez specjalny komitet, jest niespójny
        koncepcyjnie, trudny w u ytkowaniu, a jego stworzenie kosztowało miliardy
8   adger


        dolarów (z tego względu określany bywa artobliwie jako „język PL/I lat osiem-
        dziesiątych”). Szczególnie wyśmiewany jest sposób obsługi wyjątków oraz komuni-
        kacja między procesami. Nazwa języka kojarzona jest z imieniem córki Lorda
        Byrona, Ady Lovelace; jej korespondencja z Charlesem Babbage’em w połowie XIX
        wieku mo e być (ze względu na treść i charakter) uwa ana za pierwszy, historycznie
        udokumentowany przykład programowania maszyny, oczywiście w rozumieniu
        ówczesnych, dziewiętnastowiecznych realiów — „program” był wówczas niczym
        innym, jak tylko odpowiednim sprzę eniem niezliczonych kół zębatych, zapadek itp.
        Najbardziej elegancka analogia, jaką sformułowano pod adresem języka Ada, to
        „słoniątko”; patrz tak e słoniowe programy — mały, poczciwy język, który a
        prosi się, by „wypuścić go na wolność”.

    adger
        Czasownik uknuty w kręgach Uniwersytetu Kalifornijskiego w Los Angeles okre-
        ślający czynności o daleko idących negatywnych konsekwencjach (jak na przykład
        nieodwracalne wykasowanie wa nych plików), którym mo na było zapobiec przy
        odrobinie rozsądku.

    ad-hackery, ad-hockery, ad-hocity
        1. Nieuzasadnione pochlebstwo w stosunku do programu (np. systemu eksperc-
        kiego), który przejawia co prawda pozory inteligentnego zachowania, lecz wynika
        ono z zastosowania bardzo prostych mechanizmów; na przykład program kwe-
        stionujący te z wprowadzanych słów, które nie znajdują się w jego słowniku mo e
        być (przez nieświadomego u ytkownika) podejrzewany o „zdolność” rozumienia
        języka naturalnego. 2. Specjalny rodzaj kodu, przeznaczony do obsługi („wygła-
        dzania”) pewnych nietypowych danych wejściowych, które „normalnie” dopro-
        wadziłyby do załamania się programu; patrz tak e efekt ELIZY.

    admin
       Skrót często u ywany (zwłaszcza w korespondencji online) na oznaczenie osoby
       sprawującej opiekę nad systemem („administratora”). Skrótami pokrewnymi są:
       sysadmin (określający osobę odpowiedzialną za konfigurację systemu operacyjnego),
       siteadmin (na określenie administratora witryny www) i newsadmin (na określenie
       moderatora grup dyskusyjnych); zobacz tak e postmaster, sysop, system mangler.

    ADVENT
       Prototyp komputerowej gry przygodowej, zaimplementowany pierwotnie przez
       Willa Crowthera na komputerze PDP-10 (jako próba „zaprogramowania” fantazji
       i wyobraźni) i rozwinięty przez Dona Woodsa do postaci gry-układanki (puzzle).
       Obecnie gra ta znana jest bardziej pod nazwą Adventure; zobacz tak e vadding.
       Definiuje ona zwięzły, by nie powiedzieć oschły, nieco naiwny styl charaktery-
       styczny dla gier tekstowych („Dziki, zielony wą właśnie przepełznął Ci drogę”,
       „Nie widzę tu…”, „Jesteś właśnie w labiryncie, którego wszystkie zakręty są iden-
       tyczne”). Pewne „magiczne słowa” w rodzaju xyzzy, plugh itd. mają prawdopo-
       dobnie swe źródło w opisywanej grze.
        Przy okazji, Crowther uczestniczył w eksploracji systemu jaskiń Mamooth & Flint
        Ridge; „posiada” on obecnie jaskinie Colosal Cave i Bedquilt („kołdra”) oraz Y2 —
        to ostatnie oznacza w argonie speleologów „tylne wejście”.
aliasowania błąd         9


AIDS
    Akronim utworzony od ang. A Infected Disk Syndrome — syndrom zainfekowa-
    nego dysku, przy czym litera „A” kojarzona jest często z komputerami Apple.
    Analogia do znanego medycznego zespołu nabytych niedoborów immunologicznych
    (Acuired Immune Deficiency Syndrome) ma akcentować zagro enie ze strony
    nierozwa nej wymiany danych między komputerami, porównywalnej z niebez-
    piecznym seksem; patrz tak e wirus, robak, trojan, system dziewiczy

AI-zupełne problemy
     Termin stworzony w MIT, u ywany na określenie (przez analogię do problemów
     NP-zupełnych) problemów (oraz podproblemów) ściśle związanych ze sztuczną
     inteligencją (AI), dla rozwiązania których niezbędny jest dość spory zasób inteligen-
     cji właściwej istotom rozumnym; innymi słowy, problemy AI-zupełne są zbyt
     trudne, by mo na je było całkowicie rozwiązać wyłącznie za pomocą komputera.
     Przykładami problemów AI-zupełnych są: mechaniczne postrzeganie i interpretacja
     obrazów w sposób właściwy człowiekowi oraz rozumienie języka naturalnego.

akronimy rekursywne
    Wywodząca się z MIT hakerska koncepcja tworzenia akronimów odwołujących
    się do samych siebie bądź grupy akronimów odwołujących się do siebie nawzajem.
    Najbardziej znane akronimy tego rodzaju związane są z edytorami u ywanymi w MIT
    (EINE — Eine Is Not Emacs, ZWEI — Zwei Was Eine Initially). Istnieje tak e
    kompilator języka Scheme, zwany LIAR (Liar Imitates Apply Recursively); patrz
    te GNU (w znaczeniu 1.) — GNU’s Not Unix. Nazwę firmy CYGNUS objaśnia
    się natomiast jako Cygnus, Your GNU Support; patrz tak e EMACS.

aktywne oczekiwanie
    patrz zajęty czekaniem

akumulator
   1. Archaiczne określenie jednego z rejestrów uniwersalnych procesora, traktowa-
   nego przez niektóre rozkazy w sposób specjalny. W procesorach firmy Intel reje-
   strami takimi są: AL, AX i EAX. W dawnych komputerach akumulator był w zasadzie
   jedynym rejestrem (w dzisiejszym znaczeniu tego słowa); w stosunku do obecnych
   procesorów ich rejestry określane są za pomocą oznaczeń symbolicznych, a słowo
   „akumulator” nie jest w ogóle u ywane. 2. Rzadko ju u ywane określenie słu ące
   odró nieniu rejestru u ywanego (przez program) na potrzeby operacji arytmetycz-
   nych i logicznych od rejestrów związanych z adresowaniem, indeksowaniem lub
   zliczaniem obrotów pętli („W tej pętli sumującej u ywane elementy akumulato-
   rem jest EDX”). 3. W odniesieniu do tzw. maszyn bezadresowych, w których
   podstawowe znaczenie odgrywały operacje stosowe, określenie „akumulator” u y-
   wane było niekiedy jako synonim stosu.

alfa cząstki
     patrz rozpad bitowy

aliasowania błąd
     Subtelny błąd programowania związany z dynamicznym przydziałem pamięci
     (dokonywanym m.in. przez funkcje New i GetMem w Pascalu lub malloc w C).
10   all-elbows


           W sytuacji, gdy na przydzielony obszar pamięci wskazuje kilka wskaźników
           („aliasów”), zwolnienie tego obszaru za pomocą jednego z nich powoduje, e
           pozostałe stają się tzw. wiszącymi wskaźnikami, czyli wskaźnikami o niepopraw-
           nej zawartości. Istotą błędu aliasowania jest właśnie odwoływanie się do tych e
           wiszących wskaźników.
           Receptą na błąd aliasowania jest przede wszystkim unikanie tworzenia wielu
           wskaźników do jednego obszaru (nie zawsze jest to mo liwe); błąd ten nie wy-
           stępuje w systemach zwalniających nieu ywaną pamięć w sposób automatyczny
           (patrz odśmiecanie), na przykład w językach Lisp i Java.

     all-elbows
           (ang. „rozpychanie się łokciami”) Określenie programu rezydentnego (TSR —
           Terminate and Stay Resident), korzystającego z zasobów systemowych w sposób
           egoistyczny, bez respektowania obecności innych programów rezydentnych. Je eli
           w systemie istnieje program rezydentny przechwytujący przerwania klawiatury,
           obecność innego „egoistycznego” programu rezydentnego mo e spowodować
           zablokowanie klawiatury.

     ALT
           1. Klawisz na klawiaturze komputerów PC i kompatybilnych. 2. Klawisz polecenia
           na komputerach Macintosh. 3. Alternatywna nazwa klawisza ESC (kod ASCII 27)
           na terminalu komputera PDP-10.

     alt-bit
          patrz metabit

     Aluminiowa Księga
           artobliwe określenie podręcznika Common Lisp: The Language, autorstwa G. L.
         Steele’a (wyd. Digital Press 1984, 1990). W rezultacie korekty edytorskiej, niektóre
         fragmenty tekstu w drugim wydaniu wydrukowane zostały w kolorze przypomi-
         nającą metaliczną zieleń (yucky green wg określenia autora); patrz tak e Błękitna
         księga, Księga Kopciuszka, Księga Diabelska, Księga Smoka, Zielona księga,
         Pomarańczowa księga, Księga ró owej koszulki, Purpurowa księga, Czerwona
         księga, Srebrna księga, Biała księga, Księga czarodzieja, biblia.

     ameba
        Humorystyczne określenie komputera osobistego Commodore Amiga.

     Amoeba
        1. Rozproszony, heterogeniczny system operacyjny opracowany w latach 1981 – 1983
        na Uniwersytecie Vrije w Amsterdamie pod kierunkiem A. Tanenbauma. 2. Patrz
        ameba.

     amp off
        Synonim uruchomienia procesu w tle; nazwa pochodzi od uniksowego operatora &
        (ampersand).

     amper
        Skrótowe określenie ampersanda.
AOS          11


ampersand
   &, znak ASCII o kodzie 38.

AOS
      1. (przestarzałe) Synonim inkrementacji (zwiększenia) czegokolwiek, w analogii
      do rozkazu inkrementacji komputera PDP-10 (Add One and do not Skip — „Dodaj
      jedynkę i nie przeskakuj”); „zwiększenie” mo e być rozumiane w szerszym sensie,
      np. doło enie drewna do ogniska. Dlaczego litera „S” symbolizować ma tu frazę
      don not Skip, choć intuicyjnie kojarzy się z czymś wręcz przeciwnym — Skip?
      Odpowiedzi na to pytanie nale y poszukiwać w folklorze związanym z PDP-10.
      W architekturze tego komputera istnieje osiem rozkazów łączących inkrementa-
      cję, jej wynik oraz ew. przeskok, w zale ności od wyniku, między innymi:
          AOSE — (Add One and then Skip next instruction if result is Equal to zero)
          Dodaj 1 i, je eli wynikiem dodawania jest zero, przeskocz następny rozkaz;
          AOSG — (Add One and then Skip next instruction if result is Greater than
          zero) Dodaj 1 i, je eli wynik dodawania jest dodatni, przeskocz następny
          rozkaz;
          AOSN — (Add One and then Skip next instruction if result is Not equal
          to zero) Dodaj 1 i, je eli wynikiem dodawania nie jest zero, przeskocz
          następny rozkaz;
          AOSA — (Add One and then Skip Always) Dodaj 1 i bezwarunkowo
          przeskocz następny rozkaz;
      itd. Czwarta litera skrótu mnemotechnicznego rozkazu określa zatem warunek,
      przy spełnieniu którego nale y przeskoczyć następny rozkaz. Je eli więc dany
      rozkaz nie ma w ogóle wykonywać przeskoku, jego mnemotechniczny skrót po-
      zbawiony jest czwartej litery.
      Analogicznie wygląda sprawa z rozkazem skoku AOJ (Add One and do not Jump —
      „Dodaj jedynkę i nie wykonuj skoku”).
      Oto inne dziwactwo PDP-10: rozkaz SKIPx, gdzie x oznacza jedną z ośmiu liter,
      jest rozkazem przeskoku następnej instrukcji w przypadku spełnienia warunku
      określonego przez tę piątą literę — na przykład SKIPA oznacza przeskok bezwa-
      runkowy. Rozkaz, który bezwarunkowo nie wykonuje przeskoku, powinien więc
      mieć mnemonikę SKIP — na przekór znaczeniu intuicyjnemu! Identycznie rozkaz
      skoku JUMP — JUMPA oznacza skok bezwarunkowy, zaś JUMP — brak skoku.
      Jedną z osobliwości architektury PDP-10 było równie to, e rozkaz wykonujący
      skok i odtwarzający wybrane znaczniki (JRST — Jump and ReSTore flag) wy-
      konywał się szybciej od rozkazu JUMPA; określenie pustego zbioru znaczników
      powodowało więc efekt identyczny ze skokiem bezwarunkowym, tyle e szybciej
      wykonywanym — z czego hakerzy skwapliwie korzystali.
      Wprawdzie komputery PDP-10 nale ą ju do gatunku wymarłego, warto jednak
      pamiętać, do jakich zawiłości doprowadzić mo e niefrasobliwie stosowana
      mnemotechnika.
      2. System operacyjny wywodzący się z systemu Multics, wspierany swego czasu
      przez firmę Data General. 3. Algebraic Operating System — określenie algebraicznej
12   aplikacja


           notacji wrostkowej, czyli takiej, w której operator znajduje się między operandami,
           dla odró nienia od notacji przyrostkowej (w której operator występuje po argu-
           mentach) i przedrostkowej (w której operator poprzedza argumenty). Określenie
           Operating System stanowi artobliwe nawiązanie do kalkulatorów, których więk-
           szość stosuje notację algebraiczną; patrz tak e notacja polska odwrotna.

     aplikacja
          patrz app

     app
           Skrót od aplikacji (programu u ytkowego), dla odró nienia od programu syste-
           mowego. Hakerzy przejawiają tendencję do innego klasyfikowania programów,
           zaliczając do oprogramowania systemowego kompilatory, systemy komunikatów,
           edytory, a nawet niektóre gry — mimo e „normalny” u ytkownik skłonny byłby
           uwa ać je za aplikacje.

     arc wars
         (z ang. „wojny archiwizerów”) Niekończące się kłótnie o to, który z archiwizerów
         jest lepszy, a dokładniej — spór o wy szości archiwizera arc (firmy SEA) i PKarc
         (firmy PKware). PKarc był nie tylko szybszy i dostarczał lepszej kompresji, lecz
         tak e umo liwiał zachowanie wstecznej kompatybilności formatu archiwum z arc.
         Aby uniknąć wysokich kosztów licencyjnych, firma PKware zmuszona była do
         zmiany nazwy swego archiwizera na PKpak. W miarę, jak na rynku zaczęły pojawiać
         się coraz lepsze archiwizery, wykorzystujące zaawansowane algorytmy kompresji,
         lecz niekompatybilne z arc, ten ostatni stracił całkowicie swe znaczenie.

     archiwizator
         Program tworzący archiwum z grupy plików; intencjonalnie archiwum ma mieć
         mniejszy rozmiar od sumarycznego rozmiaru archiwizowanych plików, choć (co
         mo na udowodnić matematycznie) dla ka dego archiwizatora istnieje taki plik (lub
         grupa plików), dla którego efekt archiwizacji będzie wręcz odwrotny. Pierwszym
         znanym archiwizatorem był DOS-owy arc firmy SEA (System Enhancement
         Associates). Obecnie do najpowszechniejszych nale ą ZIP i RAR.

     archiwum
         1. Efekt działania archiwizatora. 2. W popularnym znaczeniu — grupa plików
         dostępna do ściągnięcia na serwerze FTP.

     arena
         Obszar pamięci przydzielony do procesu uniksowego za pomocą brk(2) oraz
         sbrk(2) i u ywany przez malloc(3) jako pamięć dynamiczna.

     arg
           Skrót na oznaczenie parametru („argumentu”) funkcji, procedury lub makra.

     ASCII
        (American Standard Code for Information Interchange — amerykański standardowy
        kod wymiany informacji) Pierwowzór kodu u ywanego na potrzeby dzisiejszych
        komputerów. Oryginalnie kod ASCII zawierał 128 znaków, kodowanych na 7 bitach.
        W przeciwieństwie do wcześniejszych kodów, kod ASCII rozró niał małe i wielkie
atak siłowy       13


    litery, nie było w nim jednak miejsca na znaki „narodowe” charakterystyczne
    wyłącznie dla konkretnych języków. Z biegiem czasu znaki te znalazły swe
    miejsce w „górnej połówce” rozszerzonego, 8-bitowego kodu ASCII, co jednak
    nie przysporzyło mu cech „kodu uniwersalnego”, na przekór usiłowaniom nie-
    których producentów sprzętu i oprogramowania; patrz tak e EBCDIC.

ASCII art
   patrz Sztuka ASCII

atak siłowy
    (ang. brute force) Określenie prymitywnego stylu programowania, wykorzystują-
    cego raczej ogromną moc obliczeniową komputera ni inteligencję swego twórcy.
    Podejście takie zazwyczaj ignoruje skalę problemu, w wyniku czego metody
    przydatne do analizowania niewielkich problemów u ywane są do rozwiązywania
    (czy raczej próby rozwiązywania) problemów o nieporównywalnie większej skali.
    Jeden z przykładów ataku siłowego związany jest z tzw. problemem komiwoja era
    (ang. TSP — Travelling Salesman Problem) stanowiącym przykład problemu
    NP-trudnego. Komiwoja er wyrusza z pewnego miasta w celu odwiedzenia N
    wybranych miast i następnie powrotu do punktu wyjścia; sumaryczna długość
    przebytej trasy ma być jak najmniejsza. „Siłowe” podejście do problemu polega na
    generowaniu wszystkich mo liwych tras i sprawdzaniu ich długości. Jedyną zaletą
    takiego algorytmu jest łatwość jego zaprogramowania; oprócz generowania naj-
    bardziej nawet absurdalnych tras (wszak sprawdzane są wszystkie) algorytm ten
    ma podstawową wadę, jaką jest jego zło oność, proporcjonalna do N! („N sil-
    nia”) — dla N równego 15 liczba tras równa jest 1 307 674 368 000; dla
    N = 1000 jest ona niewyobra alna.
    Innym, prostszym koncepcyjnie przykładem „programowania siłowego” jest sor-
    towanie listy (za pomocą istniejącej procedury sortującej) w celu znalezienia jej
    najmniejszej liczby.
    To, czy „programowanie siłowe” zasługuje na ignorancję, czy te jest praktyką
    godną polecenia, zale y od konkretnego przypadku. W przypadku niewielkich
    problemów nawet kilka godzin dodatkowego czasu komputera nie jest czasem stra-
    conym, je eli oznacza oszczędność kilku dni (czy tygodni) czasu programisty,
    który ten musiałby poświęcić na stworzenie algorytmu rozwiązującego problem
    w ciągu minuty. Ten „bardziej” inteligentny algorytm prawdopodobnie byłby algo-
    rytmem bardziej zło onym, a więc stwarzającym większe ryzyko popełnienia
    błędu w porównaniu z mało efektywnym, lecz prostszym algorytmem „siłowym”.
    Ken Thompson, współtwórca systemu UNIX, jest autorem słynnego powiedzenia:
    „W razie wątpliwości zastosuj brute force”. Mimo na pozór artobliwego charakteru
    tego stwierdzenia, nie sposób nie dojrzeć tkwiącego w nim głębszego sensu —
    algorytm „siłowy”, jako prostszy, jest raczej bezbłędny, a więc daje wiarygodne
    wyniki. Nie mo na tak e zapominać, i to właśnie prostota, solidność i przenośność
    systemu UNIX przyczyniły się głównie do jego popularności. Wśród wielu kom-
    promisów, na jakie nieustannie skazywani są twórcy oprogramowania, wybór
    między algorytmem „siłowym” a algorytmem bardziej „inteligentnym” uwarun-
    kowany jest wieloma czynnikami natury technicznej, ekonomicznej i estetycznej.
14   attoparsek


     attoparsek
         W układzie jednostek SI przedrostek atto oznacza jedną trylionową (10–18), parsek
         jest natomiast jednostką długości równą ok. 3,26 roku świetlnego. Będący iloczynem
         tych wielkości attoparsek równy jest ok. 3.1 cm, tak więc attoparsek/microfortnight
         to prędkość ok. 1 cala na sekundę. Jednostka ta u ywana jest oficjalnie (choć mo e
         nie do końca powa nie) przez hakerów w Wielkiej Brytanii.

     avatar
         Alternatywna do root nazwa superu ytkownika na niektórych komputerach z syste-
         mem UNIX. Jej autorstwo przypisuje się jednemu z hakerów, który przeszedł z firmy
         CMU do Tektronixa.

     awk
           1. Interpretowany język do obróbki danych tekstowych, wynaleziony przez Alfreda
           Aho, Petera Weinbergera i Briana Kernighana (nazwa języka pochodzi od pierw-
           szych liter ich nazwisk). Charakteryzuje się składnią zbli oną do języka C, swobodą
           u ywania zmiennych (bez konieczności ich deklarowania) i tablic skojarzenio-
           wych oraz zorientowanym na pola przetwarzaniem tekstu; patrz tak e Perl. 2.
           Skrót od ang. awkward („niezgrabny”) u ywany zwłaszcza w odniesieniu do wy-
           ra eń z trudem poddających się przetwarzaniu na podstawie wyra eń regular-
           nych (np. wyra eń zawierających znaki nowego wiersza).

     azbest
         Środki lub działania chroniące przed płomieniami. Obecnie najczęściej mają one
         formę działań piętnujących, polegających na przyznawaniu kompromitujących
         nagród (asbestos cork award — nagroda azbestowego korka) lub obdarowywaniu
         szczególnymi detalami odzie owymi (asbestos longjohn).

     backdoor
         (ang. dosł. „tylne drzwi”) Luka w mechanizmach bezpieczeństwa systemu, pozo-
         stawiona przez twórców lub administratorów. Luka taka nie zawsze jest wyni-
         kiem zaniedbania i nie zawsze stanowi zagro enie dla bezpieczeństwa; niekiedy jest
         ona konieczna dla zapewnienia właściwego nadzoru ze strony personelu serwi-
         sowego lub wsparcia technicznego dostawcy. Luki takie mają jednak to do siebie,
          e administratorzy zwyczajnie o nich zapominają, dzięki czemu pozostają one
         w systemach dłu ej, ni ktokolwiek by się spodziewał. Niesławnej pamięci robak
         RTM, który jesienią 1988 roku wyrządził niemałe szkody w komputerach z sys-
         temem UNIX BSD, wykorzystywał lukę zabezpieczenia w programie sendmail.
           Artykuł Kena Thompsona na łamach czasopisma Communications of the ACM
           27, 8 z sierpnia 1984 roku opisuje powa ną lukę we wczesnych wersjach UNIX-a,
           którą mo na uznać za jedno z najbardziej spektakularnych zaniedbań pod względem
           bezpieczeństwa. Kompilator języka C zawierał mianowicie kod rozpoznający,
           w którym miejscu znajduje się procedura logowania i wprowadzał kod wra liwy
           na hasło wybrane przez Thompsona; dawało to Thompsonowi mo liwości „wejścia”
           do systemu nawet wówczas, gdy nie miał on w tym systemie swego konta.
           Luka tego rodzaju powinna być naprawiona poprzez usunięcie niebezpiecznego
           fragmentu z kodu źródłowego kompilatora i jego ponowne skompilowanie. To
           jednak prowadziło do powstania błędnego koła, bowiem „spreparowana” wersja
bajt      15


                 kompilatora zawsze wstawiała kwestionowany kod do produkowanych binariów,
                 które nadal pozostawały „spreparowane”. W efekcie rzeczona luka nadal pozosta-
                 wała w kodzie binarnym, choć nie było ju jej śladu w kodzie źródłowym!

          backgammon
              patrz Bignum, moby, pseudopierwsza liczba

          backspace and overstrike
              (ang. dosł. „cofnij i przekreśl”) Sygnał, i pewna wypowiedź jest błędna i nale y
              ją zweryfikować.

          backward compatability
              (zniekształcenie od backward compatibility — „kompatybilność wstecz”) Nie-
              zgodność nowej wersji sprzętu lub oprogramowania z protokołami, formatami
              czy geometrią złącz, z którymi zgodne były poprzednie wersje; zarzucenie obsługi
              starszych mechanizmów (koncepcji) na rzecz nowszych i bardziej efektywnych;
              patrz tak e dzień flagowy.

          BAD
                 (ang. broken as designed — „marny zgodnie z projektem”) Określenie programu,
                 którego nieprzydatność, bezu yteczność, niefunkcjonalność nie jest wynikiem
                 błędów, lecz złego zaprojektowania.

          bag on the side
              (ang. w wolnym tłumaczeniu „torba na ramieniu”) Modyfikacja oryginalnego
              produktu, która w zało eniu miała mu przydać funkcjonalności, lecz wydaje się
              bardziej kłopotliwa ni u yteczna („C++? To tylko baga ramionach C”).

          bagbiter
              1. Cokolwiek — na przykład program lub komputer — co charakteryzuje się
              częstymi awariami lub funkcjonuje w sposób dziwaczny (na przykład edytor tekstu
              ograniczający długość linii do 80 znaków). 2. Osoba, która — umyślnie lub nie —
              przyczyniła się do czyichś kłopotów, na przykład wskutek dostarczenia błędnego
              programu.
                 Najstarszym — i jak na razie jedynym znanym — programem, który celowo
                 miał opisane cechy był program Lexiphage w laboratorium AI instytutu MIT.
                 Program ten na wybranym terminalu produkował (stylizowanymi literami) napis
                 „THE BAG” w otoczeniu po erających go szczęk.

          bajt
                 Jednostka pamięci lub danych, o rozmiarze umo liwiającym reprezentowanie
                 jednego znaku alfabetycznego. We współczesnych komputerach bajt ma zwykle
                 8-bitów (to wyraz dą enia do nadawania rzeczom rozmiarów będących potęgą
                 liczby 2), lecz np. w maszynie z 36-bitowym słowem bajty są z reguły 9-bitowe1.
                 Komputer PDP-10 zapewnia obsługę bajtów, które są w istocie polami bitowymi
                 o długości od 1 do 36.
1
    W popularnych niegdyś maszynach serii ODRA-1300 w 24-bitowym słowie mo na było pomieścić
    4 znaki 6-bitowe, a repertuar rozkazów maszyny zawierał kilka instrukcji umo liwiających dostęp
    do poszczególnych znaków — przyp. tłum.
16   bamf


           Określenie powstało w 1956 roku, we wczesnej fazie projektu komputera IBM
           Stretch i oznaczało jednostkę 6-bitową (ówczesne urządzenia wejścia-wyjścia
           posługiwały się 6-bitowymi porcjami transmisji). Bajty ośmiobitowe ukształto-
           wały się ostatecznie w projekcie komputera IBM/360 w końcu roku 1956; patrz
           tak e półbajt.

     bamf
        1. Charakterystyczny dźwięk wydawany przez teleportowany obiekt lub postać
        w grze komputerowej, szczególnie w ramach rzeczywistości wirtualnej. 2. Dźwięk
        towarzyszący magicznym transformacjom w grach rzeczywistości wirtualnej. 3.
        Akronim od Bad-Ass Mother F***er, u ywany na określenie jednego z populacji
        nieprzyjemnych potworków w grach LPMUD (i podobnych).

     bananowa etykieta
         Określenie etykiet przylepianych na bokach szpulki taśmy magnetycznej; kształt
         ka dej z tych etykiet przypomina tępo zakończony banan.

     bananowe zjawisko
         patrz HAKMEM, nr 176

     bananowy problem
         Problem z właściwym określeniem warunku zatrzymania iteracji (przez analogię
         do małej dziewczynki, która stwierdziła „Umiem ju wymawiać słowo banana,
         tylko nie wiem, kiedy skończyć”); patrz tak e błąd ogrodzenia, Dissociated Press,
         HAKMEM (nr 176).

     banner
         1. Strona tytułowa dodawana do wydruku przez program obsługi kolejki wydru-
         kowej (spooler), zawierająca zwykle nazwę i identyfikator u ytkownika, wypi-
         sane stylizowanymi, powiększonymi znakami (stworzonymi w grafice znakowej —
         patrz sztuka ASCII). Zwana tak e stroną rozdzielającą, łatwo bowiem wskazuje
         miejsce oddzielenia wydruków nale ących do ró nych u ytkowników. 2. Podobna
         strona tytułowa, drukowana na kilku sąsiednich stronach „składanki” przez wy-
         specjalizowany program, np. UNIX-owy program banner(1,6). 3. Pierwszy ekran
         wyświetlany przez program interaktywny, zawierający zwykle logo autora i infor-
         mację na temat praw autorskich.

     bar
           Druga pod względem popularności nazwa (po foo, przed baz) na liście nazw
           zmiennych metasyntaktycznych („Załó my, e mamy dwie funkcje: FOO i BAR;
           FOO wywołuje BAR…”). 2. Często łączone z foo, co daje w wyniku foobar.

     BartleMUD
         Ka da z gier mających swój pierwowzór w oryginalnej grze MUD Richarda
         Bartle’a. Ka dy z BartleMUD-ów charakteryzuje się niekonwencjonalnym humo-
         rem, surową, lecz przyjazną dla u ytkownika, składnią poleceń i brakiem przy-
         miotników w opisach obiektów. Niektórzy zwolennicy MUD-ów wolą unikać
         konotacji z nazwiskiem Bartle’a, lansując w zamian nazwę „MUD-1”.

More Related Content

PDF
Hakerzy atakują. Jak podbić kontynent
PDF
Hakerzy atakują. Jak przejąć kontrolę nad siecią
PDF
Prezentacja1
PDF
Prezentacja sprawozdanie
PPTX
Dzikie zwierzęta w mieście
XLS
Uzasadnienie Inwestycje Dzielnic Ver Z2
DOCX
9611 Dobrana Ekipa
PPTX
Rzeźby w kamieniu i drewnie - Rafał Namiota
Hakerzy atakują. Jak podbić kontynent
Hakerzy atakują. Jak przejąć kontrolę nad siecią
Prezentacja1
Prezentacja sprawozdanie
Dzikie zwierzęta w mieście
Uzasadnienie Inwestycje Dzielnic Ver Z2
9611 Dobrana Ekipa
Rzeźby w kamieniu i drewnie - Rafał Namiota

Similar to Leksykon hackingu (13)

PDF
Pamiętniki hakerów
PDF
Hakerzy i malarze. Wielkie idee ery komputerów
PDF
Hack I.T. Testy bezpieczeństwa danych
PDF
W obronie wolności
PDF
Tajemnice internetu, hackingu i bezpieczeństwa
PDF
ABC ochrony komputera przed atakami hakera
PDF
To tylko awaria, czyli katastrofy i wpadki z pecetem
PDF
Nomadzi cyberprzestrzeni
PDF
Antymatrix - Edwin Bendyk - ebook
PPTX
Wyscig o czynnik ludzki
PDF
Hacking. Sztuka penetracji. Wydanie II
PPT
Haker 1
PDF
Linux. Bezpieczeństwo. Receptury
Pamiętniki hakerów
Hakerzy i malarze. Wielkie idee ery komputerów
Hack I.T. Testy bezpieczeństwa danych
W obronie wolności
Tajemnice internetu, hackingu i bezpieczeństwa
ABC ochrony komputera przed atakami hakera
To tylko awaria, czyli katastrofy i wpadki z pecetem
Nomadzi cyberprzestrzeni
Antymatrix - Edwin Bendyk - ebook
Wyscig o czynnik ludzki
Hacking. Sztuka penetracji. Wydanie II
Haker 1
Linux. Bezpieczeństwo. Receptury

More from Wydawnictwo Helion (20)

PDF
Tworzenie filmów w Windows XP. Projekty
PDF
Blog, więcej niż internetowy pamiętnik
PDF
Access w biurze i nie tylko
PDF
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
PDF
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
PDF
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
PDF
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
PDF
Makrofotografia. Magia szczegółu
PDF
Windows PowerShell. Podstawy
PDF
Java. Efektywne programowanie. Wydanie II
PDF
JavaScript. Pierwsze starcie
PDF
Ajax, JavaScript i PHP. Intensywny trening
PDF
PowerPoint 2007 PL. Seria praktyk
PDF
Excel 2007 PL. Seria praktyk
PDF
Access 2007 PL. Seria praktyk
PDF
Word 2007 PL. Seria praktyk
PDF
Serwisy społecznościowe. Budowa, administracja i moderacja
PDF
AutoCAD 2008 i 2008 PL
PDF
Bazy danych. Pierwsze starcie
PDF
Inventor. Pierwsze kroki
Tworzenie filmów w Windows XP. Projekty
Blog, więcej niż internetowy pamiętnik
Access w biurze i nie tylko
Pozycjonowanie i optymalizacja stron WWW. Ćwiczenia praktyczne
E-wizerunek. Internet jako narzędzie kreowania image'u w biznesie
Microsoft Visual C++ 2008. Tworzenie aplikacji dla Windows
Co potrafi Twój iPhone? Podręcznik użytkownika. Wydanie II
Makrofotografia. Magia szczegółu
Windows PowerShell. Podstawy
Java. Efektywne programowanie. Wydanie II
JavaScript. Pierwsze starcie
Ajax, JavaScript i PHP. Intensywny trening
PowerPoint 2007 PL. Seria praktyk
Excel 2007 PL. Seria praktyk
Access 2007 PL. Seria praktyk
Word 2007 PL. Seria praktyk
Serwisy społecznościowe. Budowa, administracja i moderacja
AutoCAD 2008 i 2008 PL
Bazy danych. Pierwsze starcie
Inventor. Pierwsze kroki

Leksykon hackingu

  • 1. IDZ DO PRZYK£ADOWY ROZDZIA£ SPIS TRE CI Leksykon hackingu KATALOG KSI¥¯EK Autor: John Chirillo T³umaczenie: Andrzej Gra¿yñski KATALOG ONLINE ISBN: 83-7361-283-1 Tytu³ orygina³u: Hack Attacks Encyclopedia ZAMÓW DRUKOWANY KATALOG Format: B5, stron: 192 TWÓJ KOSZYK DODAJ DO KOSZYKA Hakerzy pojawili siê, gdy tylko pierwsze komputery trafi³y na uczelnie. W przeciwieñstwie do rasowych informatyków, którzy w³a ciwie nie potrzebowali komputerów do swoich teoretycznych rozwa¿añ, hakerzy starali siê wykorzystaæ sprzêt CENNIK I INFORMACJE praktycznie. Wkrótce stali siê prawdziwymi czarodziejami, znaj¹cymi od podszewki zasady dzia³ania maszyn, na których pracowali. Niewielka czê æ z nich zajê³a siê ZAMÓW INFORMACJE w³amaniami do systemów, wiêkszo æ po wiêci³a siê po¿ytecznym zajêciom, dziêki O NOWO CIACH którym powsta³o wiele cennych i u¿ywanych do dzi programów, a nawet jêzyków programowania. ZAMÓW CENNIK Hakerzy tworzyli i tworz¹ rozproszon¹ spo³eczno æ, która wykszta³ci³a w³asne zwyczaje, a tak¿e swój w³asny, tajemniczy i trudny do zg³êbienia dla profanów jêzyk. Jemu w³a nie po wiêcona jest ta ksi¹¿ka. Dziêki niej poznasz slang, którym pos³uguj¹ CZYTELNIA siê hakerzy. Wiele z ukutych przez nich terminów wysz³a poza w¹skie rodowisko hakerskie i u¿ywana jest dzisiaj przez szerokie grono osób, czêsto w nieco zmienionym FRAGMENTY KSI¥¯EK ONLINE znaczeniu. Dziêki tej ksi¹¿ce poznasz, co znaczy³y one oryginalnie i prze¿yjesz pasjonuj¹c¹ podró¿ po wiecie hakerów. Setki skrótów i okre leñ, w których zawarta jest historia komputerów i internetu, czeka na Ciebie. Nie wiesz, co to jest „p³eæ bajtowa”? Siêgnij po tê ksi¹¿kê, a wszystko stanie siê ³atwe. • Poznasz jêzyk hakerów, • Szczegó³owe wyja nienia setek skrótów i terminów, • Pasjonuj¹ca wyprawa po tajemniczej spo³eczno ci komputerowych czarodziejów. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl
  • 2. Spis treści Wstęp ............................................................................................... 5 Leksykon hackingu ............................................................................ 7
  • 3. Leksykon hackingu 20x patrz TOPS-20 abbrev Skrót od wyrazu abbreviation — „skrót”. ABEND (ABnormal END) Nienormalne zakończenie programu; crash, lossage. Oryginalnie nazwa makra systemów operacyjnych OS i DOS komputerów IBM/360 i IBM/370 z lat 1960 – 1980, powodującego natychmiastowe zakończenie wykonywanego programu z inicjatywy systemu operacyjnego lub u ytkownika. Z reguły pisane w całości wielkimi literami (ABEND — jak we wspomnianych systemach), spoty- kane tak e w postaci abend. Nieświadomi etymologii tego słowa hakerzy kojarzą go z niemieckim określeniem wieczoru (niem. abend) — ma ono nazywać czynności operatorów systemu, którzy późnym piątkowym popołudniem wprowadzają system operacyjny w stan tzw. pracy bezobsługowej na czas weekendu. ACK 1. Skrót oznaczający potwierdzenie (ang. acknowledge); mnemoniczne określenie znaku ASCII(6) u ywanego (w telegrafii) w charakterze kodu potwierdzającego transmisję. U ywany tak e w odniesieniu do reakcji programu interakcyjnego (np. ping) na zapytanie u ytkownika. 2. Uprzejme potwierdzenie tego, i zrozumiało się punkt widzenia dyskutanta („Ack. Ack. Ack. Teraz ju wiem” — rzadko sto- sowane w komunikacji polskojęzycznej). 3. Prośba o potwierdzenie obecności partnera („Jesteś tam?”) przy komputerze podczas rozmowy w trybie terminalowym (jak w programie talk). 4. Symboliczne ponowienie zapytania zawartego w po- przednio wysłanym e-mailu, który pozostał bez odpowiedzi; zobacz tak e NAK. Ada Wywodzący się z Pascala język programowania, który stanowi podstawę dla projektów informatycznych w Departamencie Obrony USA. Według zgodnej opinii hakerów język ten jest koronnym przykładem tego, czego dokonać mo e rozbudowana biurokracja: stworzony został przez specjalny komitet, jest niespójny koncepcyjnie, trudny w u ytkowaniu, a jego stworzenie kosztowało miliardy
  • 4. 8 adger dolarów (z tego względu określany bywa artobliwie jako „język PL/I lat osiem- dziesiątych”). Szczególnie wyśmiewany jest sposób obsługi wyjątków oraz komuni- kacja między procesami. Nazwa języka kojarzona jest z imieniem córki Lorda Byrona, Ady Lovelace; jej korespondencja z Charlesem Babbage’em w połowie XIX wieku mo e być (ze względu na treść i charakter) uwa ana za pierwszy, historycznie udokumentowany przykład programowania maszyny, oczywiście w rozumieniu ówczesnych, dziewiętnastowiecznych realiów — „program” był wówczas niczym innym, jak tylko odpowiednim sprzę eniem niezliczonych kół zębatych, zapadek itp. Najbardziej elegancka analogia, jaką sformułowano pod adresem języka Ada, to „słoniątko”; patrz tak e słoniowe programy — mały, poczciwy język, który a prosi się, by „wypuścić go na wolność”. adger Czasownik uknuty w kręgach Uniwersytetu Kalifornijskiego w Los Angeles okre- ślający czynności o daleko idących negatywnych konsekwencjach (jak na przykład nieodwracalne wykasowanie wa nych plików), którym mo na było zapobiec przy odrobinie rozsądku. ad-hackery, ad-hockery, ad-hocity 1. Nieuzasadnione pochlebstwo w stosunku do programu (np. systemu eksperc- kiego), który przejawia co prawda pozory inteligentnego zachowania, lecz wynika ono z zastosowania bardzo prostych mechanizmów; na przykład program kwe- stionujący te z wprowadzanych słów, które nie znajdują się w jego słowniku mo e być (przez nieświadomego u ytkownika) podejrzewany o „zdolność” rozumienia języka naturalnego. 2. Specjalny rodzaj kodu, przeznaczony do obsługi („wygła- dzania”) pewnych nietypowych danych wejściowych, które „normalnie” dopro- wadziłyby do załamania się programu; patrz tak e efekt ELIZY. admin Skrót często u ywany (zwłaszcza w korespondencji online) na oznaczenie osoby sprawującej opiekę nad systemem („administratora”). Skrótami pokrewnymi są: sysadmin (określający osobę odpowiedzialną za konfigurację systemu operacyjnego), siteadmin (na określenie administratora witryny www) i newsadmin (na określenie moderatora grup dyskusyjnych); zobacz tak e postmaster, sysop, system mangler. ADVENT Prototyp komputerowej gry przygodowej, zaimplementowany pierwotnie przez Willa Crowthera na komputerze PDP-10 (jako próba „zaprogramowania” fantazji i wyobraźni) i rozwinięty przez Dona Woodsa do postaci gry-układanki (puzzle). Obecnie gra ta znana jest bardziej pod nazwą Adventure; zobacz tak e vadding. Definiuje ona zwięzły, by nie powiedzieć oschły, nieco naiwny styl charaktery- styczny dla gier tekstowych („Dziki, zielony wą właśnie przepełznął Ci drogę”, „Nie widzę tu…”, „Jesteś właśnie w labiryncie, którego wszystkie zakręty są iden- tyczne”). Pewne „magiczne słowa” w rodzaju xyzzy, plugh itd. mają prawdopo- dobnie swe źródło w opisywanej grze. Przy okazji, Crowther uczestniczył w eksploracji systemu jaskiń Mamooth & Flint Ridge; „posiada” on obecnie jaskinie Colosal Cave i Bedquilt („kołdra”) oraz Y2 — to ostatnie oznacza w argonie speleologów „tylne wejście”.
  • 5. aliasowania błąd 9 AIDS Akronim utworzony od ang. A Infected Disk Syndrome — syndrom zainfekowa- nego dysku, przy czym litera „A” kojarzona jest często z komputerami Apple. Analogia do znanego medycznego zespołu nabytych niedoborów immunologicznych (Acuired Immune Deficiency Syndrome) ma akcentować zagro enie ze strony nierozwa nej wymiany danych między komputerami, porównywalnej z niebez- piecznym seksem; patrz tak e wirus, robak, trojan, system dziewiczy AI-zupełne problemy Termin stworzony w MIT, u ywany na określenie (przez analogię do problemów NP-zupełnych) problemów (oraz podproblemów) ściśle związanych ze sztuczną inteligencją (AI), dla rozwiązania których niezbędny jest dość spory zasób inteligen- cji właściwej istotom rozumnym; innymi słowy, problemy AI-zupełne są zbyt trudne, by mo na je było całkowicie rozwiązać wyłącznie za pomocą komputera. Przykładami problemów AI-zupełnych są: mechaniczne postrzeganie i interpretacja obrazów w sposób właściwy człowiekowi oraz rozumienie języka naturalnego. akronimy rekursywne Wywodząca się z MIT hakerska koncepcja tworzenia akronimów odwołujących się do samych siebie bądź grupy akronimów odwołujących się do siebie nawzajem. Najbardziej znane akronimy tego rodzaju związane są z edytorami u ywanymi w MIT (EINE — Eine Is Not Emacs, ZWEI — Zwei Was Eine Initially). Istnieje tak e kompilator języka Scheme, zwany LIAR (Liar Imitates Apply Recursively); patrz te GNU (w znaczeniu 1.) — GNU’s Not Unix. Nazwę firmy CYGNUS objaśnia się natomiast jako Cygnus, Your GNU Support; patrz tak e EMACS. aktywne oczekiwanie patrz zajęty czekaniem akumulator 1. Archaiczne określenie jednego z rejestrów uniwersalnych procesora, traktowa- nego przez niektóre rozkazy w sposób specjalny. W procesorach firmy Intel reje- strami takimi są: AL, AX i EAX. W dawnych komputerach akumulator był w zasadzie jedynym rejestrem (w dzisiejszym znaczeniu tego słowa); w stosunku do obecnych procesorów ich rejestry określane są za pomocą oznaczeń symbolicznych, a słowo „akumulator” nie jest w ogóle u ywane. 2. Rzadko ju u ywane określenie słu ące odró nieniu rejestru u ywanego (przez program) na potrzeby operacji arytmetycz- nych i logicznych od rejestrów związanych z adresowaniem, indeksowaniem lub zliczaniem obrotów pętli („W tej pętli sumującej u ywane elementy akumulato- rem jest EDX”). 3. W odniesieniu do tzw. maszyn bezadresowych, w których podstawowe znaczenie odgrywały operacje stosowe, określenie „akumulator” u y- wane było niekiedy jako synonim stosu. alfa cząstki patrz rozpad bitowy aliasowania błąd Subtelny błąd programowania związany z dynamicznym przydziałem pamięci (dokonywanym m.in. przez funkcje New i GetMem w Pascalu lub malloc w C).
  • 6. 10 all-elbows W sytuacji, gdy na przydzielony obszar pamięci wskazuje kilka wskaźników („aliasów”), zwolnienie tego obszaru za pomocą jednego z nich powoduje, e pozostałe stają się tzw. wiszącymi wskaźnikami, czyli wskaźnikami o niepopraw- nej zawartości. Istotą błędu aliasowania jest właśnie odwoływanie się do tych e wiszących wskaźników. Receptą na błąd aliasowania jest przede wszystkim unikanie tworzenia wielu wskaźników do jednego obszaru (nie zawsze jest to mo liwe); błąd ten nie wy- stępuje w systemach zwalniających nieu ywaną pamięć w sposób automatyczny (patrz odśmiecanie), na przykład w językach Lisp i Java. all-elbows (ang. „rozpychanie się łokciami”) Określenie programu rezydentnego (TSR — Terminate and Stay Resident), korzystającego z zasobów systemowych w sposób egoistyczny, bez respektowania obecności innych programów rezydentnych. Je eli w systemie istnieje program rezydentny przechwytujący przerwania klawiatury, obecność innego „egoistycznego” programu rezydentnego mo e spowodować zablokowanie klawiatury. ALT 1. Klawisz na klawiaturze komputerów PC i kompatybilnych. 2. Klawisz polecenia na komputerach Macintosh. 3. Alternatywna nazwa klawisza ESC (kod ASCII 27) na terminalu komputera PDP-10. alt-bit patrz metabit Aluminiowa Księga artobliwe określenie podręcznika Common Lisp: The Language, autorstwa G. L. Steele’a (wyd. Digital Press 1984, 1990). W rezultacie korekty edytorskiej, niektóre fragmenty tekstu w drugim wydaniu wydrukowane zostały w kolorze przypomi- nającą metaliczną zieleń (yucky green wg określenia autora); patrz tak e Błękitna księga, Księga Kopciuszka, Księga Diabelska, Księga Smoka, Zielona księga, Pomarańczowa księga, Księga ró owej koszulki, Purpurowa księga, Czerwona księga, Srebrna księga, Biała księga, Księga czarodzieja, biblia. ameba Humorystyczne określenie komputera osobistego Commodore Amiga. Amoeba 1. Rozproszony, heterogeniczny system operacyjny opracowany w latach 1981 – 1983 na Uniwersytecie Vrije w Amsterdamie pod kierunkiem A. Tanenbauma. 2. Patrz ameba. amp off Synonim uruchomienia procesu w tle; nazwa pochodzi od uniksowego operatora & (ampersand). amper Skrótowe określenie ampersanda.
  • 7. AOS 11 ampersand &, znak ASCII o kodzie 38. AOS 1. (przestarzałe) Synonim inkrementacji (zwiększenia) czegokolwiek, w analogii do rozkazu inkrementacji komputera PDP-10 (Add One and do not Skip — „Dodaj jedynkę i nie przeskakuj”); „zwiększenie” mo e być rozumiane w szerszym sensie, np. doło enie drewna do ogniska. Dlaczego litera „S” symbolizować ma tu frazę don not Skip, choć intuicyjnie kojarzy się z czymś wręcz przeciwnym — Skip? Odpowiedzi na to pytanie nale y poszukiwać w folklorze związanym z PDP-10. W architekturze tego komputera istnieje osiem rozkazów łączących inkrementa- cję, jej wynik oraz ew. przeskok, w zale ności od wyniku, między innymi: AOSE — (Add One and then Skip next instruction if result is Equal to zero) Dodaj 1 i, je eli wynikiem dodawania jest zero, przeskocz następny rozkaz; AOSG — (Add One and then Skip next instruction if result is Greater than zero) Dodaj 1 i, je eli wynik dodawania jest dodatni, przeskocz następny rozkaz; AOSN — (Add One and then Skip next instruction if result is Not equal to zero) Dodaj 1 i, je eli wynikiem dodawania nie jest zero, przeskocz następny rozkaz; AOSA — (Add One and then Skip Always) Dodaj 1 i bezwarunkowo przeskocz następny rozkaz; itd. Czwarta litera skrótu mnemotechnicznego rozkazu określa zatem warunek, przy spełnieniu którego nale y przeskoczyć następny rozkaz. Je eli więc dany rozkaz nie ma w ogóle wykonywać przeskoku, jego mnemotechniczny skrót po- zbawiony jest czwartej litery. Analogicznie wygląda sprawa z rozkazem skoku AOJ (Add One and do not Jump — „Dodaj jedynkę i nie wykonuj skoku”). Oto inne dziwactwo PDP-10: rozkaz SKIPx, gdzie x oznacza jedną z ośmiu liter, jest rozkazem przeskoku następnej instrukcji w przypadku spełnienia warunku określonego przez tę piątą literę — na przykład SKIPA oznacza przeskok bezwa- runkowy. Rozkaz, który bezwarunkowo nie wykonuje przeskoku, powinien więc mieć mnemonikę SKIP — na przekór znaczeniu intuicyjnemu! Identycznie rozkaz skoku JUMP — JUMPA oznacza skok bezwarunkowy, zaś JUMP — brak skoku. Jedną z osobliwości architektury PDP-10 było równie to, e rozkaz wykonujący skok i odtwarzający wybrane znaczniki (JRST — Jump and ReSTore flag) wy- konywał się szybciej od rozkazu JUMPA; określenie pustego zbioru znaczników powodowało więc efekt identyczny ze skokiem bezwarunkowym, tyle e szybciej wykonywanym — z czego hakerzy skwapliwie korzystali. Wprawdzie komputery PDP-10 nale ą ju do gatunku wymarłego, warto jednak pamiętać, do jakich zawiłości doprowadzić mo e niefrasobliwie stosowana mnemotechnika. 2. System operacyjny wywodzący się z systemu Multics, wspierany swego czasu przez firmę Data General. 3. Algebraic Operating System — określenie algebraicznej
  • 8. 12 aplikacja notacji wrostkowej, czyli takiej, w której operator znajduje się między operandami, dla odró nienia od notacji przyrostkowej (w której operator występuje po argu- mentach) i przedrostkowej (w której operator poprzedza argumenty). Określenie Operating System stanowi artobliwe nawiązanie do kalkulatorów, których więk- szość stosuje notację algebraiczną; patrz tak e notacja polska odwrotna. aplikacja patrz app app Skrót od aplikacji (programu u ytkowego), dla odró nienia od programu syste- mowego. Hakerzy przejawiają tendencję do innego klasyfikowania programów, zaliczając do oprogramowania systemowego kompilatory, systemy komunikatów, edytory, a nawet niektóre gry — mimo e „normalny” u ytkownik skłonny byłby uwa ać je za aplikacje. arc wars (z ang. „wojny archiwizerów”) Niekończące się kłótnie o to, który z archiwizerów jest lepszy, a dokładniej — spór o wy szości archiwizera arc (firmy SEA) i PKarc (firmy PKware). PKarc był nie tylko szybszy i dostarczał lepszej kompresji, lecz tak e umo liwiał zachowanie wstecznej kompatybilności formatu archiwum z arc. Aby uniknąć wysokich kosztów licencyjnych, firma PKware zmuszona była do zmiany nazwy swego archiwizera na PKpak. W miarę, jak na rynku zaczęły pojawiać się coraz lepsze archiwizery, wykorzystujące zaawansowane algorytmy kompresji, lecz niekompatybilne z arc, ten ostatni stracił całkowicie swe znaczenie. archiwizator Program tworzący archiwum z grupy plików; intencjonalnie archiwum ma mieć mniejszy rozmiar od sumarycznego rozmiaru archiwizowanych plików, choć (co mo na udowodnić matematycznie) dla ka dego archiwizatora istnieje taki plik (lub grupa plików), dla którego efekt archiwizacji będzie wręcz odwrotny. Pierwszym znanym archiwizatorem był DOS-owy arc firmy SEA (System Enhancement Associates). Obecnie do najpowszechniejszych nale ą ZIP i RAR. archiwum 1. Efekt działania archiwizatora. 2. W popularnym znaczeniu — grupa plików dostępna do ściągnięcia na serwerze FTP. arena Obszar pamięci przydzielony do procesu uniksowego za pomocą brk(2) oraz sbrk(2) i u ywany przez malloc(3) jako pamięć dynamiczna. arg Skrót na oznaczenie parametru („argumentu”) funkcji, procedury lub makra. ASCII (American Standard Code for Information Interchange — amerykański standardowy kod wymiany informacji) Pierwowzór kodu u ywanego na potrzeby dzisiejszych komputerów. Oryginalnie kod ASCII zawierał 128 znaków, kodowanych na 7 bitach. W przeciwieństwie do wcześniejszych kodów, kod ASCII rozró niał małe i wielkie
  • 9. atak siłowy 13 litery, nie było w nim jednak miejsca na znaki „narodowe” charakterystyczne wyłącznie dla konkretnych języków. Z biegiem czasu znaki te znalazły swe miejsce w „górnej połówce” rozszerzonego, 8-bitowego kodu ASCII, co jednak nie przysporzyło mu cech „kodu uniwersalnego”, na przekór usiłowaniom nie- których producentów sprzętu i oprogramowania; patrz tak e EBCDIC. ASCII art patrz Sztuka ASCII atak siłowy (ang. brute force) Określenie prymitywnego stylu programowania, wykorzystują- cego raczej ogromną moc obliczeniową komputera ni inteligencję swego twórcy. Podejście takie zazwyczaj ignoruje skalę problemu, w wyniku czego metody przydatne do analizowania niewielkich problemów u ywane są do rozwiązywania (czy raczej próby rozwiązywania) problemów o nieporównywalnie większej skali. Jeden z przykładów ataku siłowego związany jest z tzw. problemem komiwoja era (ang. TSP — Travelling Salesman Problem) stanowiącym przykład problemu NP-trudnego. Komiwoja er wyrusza z pewnego miasta w celu odwiedzenia N wybranych miast i następnie powrotu do punktu wyjścia; sumaryczna długość przebytej trasy ma być jak najmniejsza. „Siłowe” podejście do problemu polega na generowaniu wszystkich mo liwych tras i sprawdzaniu ich długości. Jedyną zaletą takiego algorytmu jest łatwość jego zaprogramowania; oprócz generowania naj- bardziej nawet absurdalnych tras (wszak sprawdzane są wszystkie) algorytm ten ma podstawową wadę, jaką jest jego zło oność, proporcjonalna do N! („N sil- nia”) — dla N równego 15 liczba tras równa jest 1 307 674 368 000; dla N = 1000 jest ona niewyobra alna. Innym, prostszym koncepcyjnie przykładem „programowania siłowego” jest sor- towanie listy (za pomocą istniejącej procedury sortującej) w celu znalezienia jej najmniejszej liczby. To, czy „programowanie siłowe” zasługuje na ignorancję, czy te jest praktyką godną polecenia, zale y od konkretnego przypadku. W przypadku niewielkich problemów nawet kilka godzin dodatkowego czasu komputera nie jest czasem stra- conym, je eli oznacza oszczędność kilku dni (czy tygodni) czasu programisty, który ten musiałby poświęcić na stworzenie algorytmu rozwiązującego problem w ciągu minuty. Ten „bardziej” inteligentny algorytm prawdopodobnie byłby algo- rytmem bardziej zło onym, a więc stwarzającym większe ryzyko popełnienia błędu w porównaniu z mało efektywnym, lecz prostszym algorytmem „siłowym”. Ken Thompson, współtwórca systemu UNIX, jest autorem słynnego powiedzenia: „W razie wątpliwości zastosuj brute force”. Mimo na pozór artobliwego charakteru tego stwierdzenia, nie sposób nie dojrzeć tkwiącego w nim głębszego sensu — algorytm „siłowy”, jako prostszy, jest raczej bezbłędny, a więc daje wiarygodne wyniki. Nie mo na tak e zapominać, i to właśnie prostota, solidność i przenośność systemu UNIX przyczyniły się głównie do jego popularności. Wśród wielu kom- promisów, na jakie nieustannie skazywani są twórcy oprogramowania, wybór między algorytmem „siłowym” a algorytmem bardziej „inteligentnym” uwarun- kowany jest wieloma czynnikami natury technicznej, ekonomicznej i estetycznej.
  • 10. 14 attoparsek attoparsek W układzie jednostek SI przedrostek atto oznacza jedną trylionową (10–18), parsek jest natomiast jednostką długości równą ok. 3,26 roku świetlnego. Będący iloczynem tych wielkości attoparsek równy jest ok. 3.1 cm, tak więc attoparsek/microfortnight to prędkość ok. 1 cala na sekundę. Jednostka ta u ywana jest oficjalnie (choć mo e nie do końca powa nie) przez hakerów w Wielkiej Brytanii. avatar Alternatywna do root nazwa superu ytkownika na niektórych komputerach z syste- mem UNIX. Jej autorstwo przypisuje się jednemu z hakerów, który przeszedł z firmy CMU do Tektronixa. awk 1. Interpretowany język do obróbki danych tekstowych, wynaleziony przez Alfreda Aho, Petera Weinbergera i Briana Kernighana (nazwa języka pochodzi od pierw- szych liter ich nazwisk). Charakteryzuje się składnią zbli oną do języka C, swobodą u ywania zmiennych (bez konieczności ich deklarowania) i tablic skojarzenio- wych oraz zorientowanym na pola przetwarzaniem tekstu; patrz tak e Perl. 2. Skrót od ang. awkward („niezgrabny”) u ywany zwłaszcza w odniesieniu do wy- ra eń z trudem poddających się przetwarzaniu na podstawie wyra eń regular- nych (np. wyra eń zawierających znaki nowego wiersza). azbest Środki lub działania chroniące przed płomieniami. Obecnie najczęściej mają one formę działań piętnujących, polegających na przyznawaniu kompromitujących nagród (asbestos cork award — nagroda azbestowego korka) lub obdarowywaniu szczególnymi detalami odzie owymi (asbestos longjohn). backdoor (ang. dosł. „tylne drzwi”) Luka w mechanizmach bezpieczeństwa systemu, pozo- stawiona przez twórców lub administratorów. Luka taka nie zawsze jest wyni- kiem zaniedbania i nie zawsze stanowi zagro enie dla bezpieczeństwa; niekiedy jest ona konieczna dla zapewnienia właściwego nadzoru ze strony personelu serwi- sowego lub wsparcia technicznego dostawcy. Luki takie mają jednak to do siebie, e administratorzy zwyczajnie o nich zapominają, dzięki czemu pozostają one w systemach dłu ej, ni ktokolwiek by się spodziewał. Niesławnej pamięci robak RTM, który jesienią 1988 roku wyrządził niemałe szkody w komputerach z sys- temem UNIX BSD, wykorzystywał lukę zabezpieczenia w programie sendmail. Artykuł Kena Thompsona na łamach czasopisma Communications of the ACM 27, 8 z sierpnia 1984 roku opisuje powa ną lukę we wczesnych wersjach UNIX-a, którą mo na uznać za jedno z najbardziej spektakularnych zaniedbań pod względem bezpieczeństwa. Kompilator języka C zawierał mianowicie kod rozpoznający, w którym miejscu znajduje się procedura logowania i wprowadzał kod wra liwy na hasło wybrane przez Thompsona; dawało to Thompsonowi mo liwości „wejścia” do systemu nawet wówczas, gdy nie miał on w tym systemie swego konta. Luka tego rodzaju powinna być naprawiona poprzez usunięcie niebezpiecznego fragmentu z kodu źródłowego kompilatora i jego ponowne skompilowanie. To jednak prowadziło do powstania błędnego koła, bowiem „spreparowana” wersja
  • 11. bajt 15 kompilatora zawsze wstawiała kwestionowany kod do produkowanych binariów, które nadal pozostawały „spreparowane”. W efekcie rzeczona luka nadal pozosta- wała w kodzie binarnym, choć nie było ju jej śladu w kodzie źródłowym! backgammon patrz Bignum, moby, pseudopierwsza liczba backspace and overstrike (ang. dosł. „cofnij i przekreśl”) Sygnał, i pewna wypowiedź jest błędna i nale y ją zweryfikować. backward compatability (zniekształcenie od backward compatibility — „kompatybilność wstecz”) Nie- zgodność nowej wersji sprzętu lub oprogramowania z protokołami, formatami czy geometrią złącz, z którymi zgodne były poprzednie wersje; zarzucenie obsługi starszych mechanizmów (koncepcji) na rzecz nowszych i bardziej efektywnych; patrz tak e dzień flagowy. BAD (ang. broken as designed — „marny zgodnie z projektem”) Określenie programu, którego nieprzydatność, bezu yteczność, niefunkcjonalność nie jest wynikiem błędów, lecz złego zaprojektowania. bag on the side (ang. w wolnym tłumaczeniu „torba na ramieniu”) Modyfikacja oryginalnego produktu, która w zało eniu miała mu przydać funkcjonalności, lecz wydaje się bardziej kłopotliwa ni u yteczna („C++? To tylko baga ramionach C”). bagbiter 1. Cokolwiek — na przykład program lub komputer — co charakteryzuje się częstymi awariami lub funkcjonuje w sposób dziwaczny (na przykład edytor tekstu ograniczający długość linii do 80 znaków). 2. Osoba, która — umyślnie lub nie — przyczyniła się do czyichś kłopotów, na przykład wskutek dostarczenia błędnego programu. Najstarszym — i jak na razie jedynym znanym — programem, który celowo miał opisane cechy był program Lexiphage w laboratorium AI instytutu MIT. Program ten na wybranym terminalu produkował (stylizowanymi literami) napis „THE BAG” w otoczeniu po erających go szczęk. bajt Jednostka pamięci lub danych, o rozmiarze umo liwiającym reprezentowanie jednego znaku alfabetycznego. We współczesnych komputerach bajt ma zwykle 8-bitów (to wyraz dą enia do nadawania rzeczom rozmiarów będących potęgą liczby 2), lecz np. w maszynie z 36-bitowym słowem bajty są z reguły 9-bitowe1. Komputer PDP-10 zapewnia obsługę bajtów, które są w istocie polami bitowymi o długości od 1 do 36. 1 W popularnych niegdyś maszynach serii ODRA-1300 w 24-bitowym słowie mo na było pomieścić 4 znaki 6-bitowe, a repertuar rozkazów maszyny zawierał kilka instrukcji umo liwiających dostęp do poszczególnych znaków — przyp. tłum.
  • 12. 16 bamf Określenie powstało w 1956 roku, we wczesnej fazie projektu komputera IBM Stretch i oznaczało jednostkę 6-bitową (ówczesne urządzenia wejścia-wyjścia posługiwały się 6-bitowymi porcjami transmisji). Bajty ośmiobitowe ukształto- wały się ostatecznie w projekcie komputera IBM/360 w końcu roku 1956; patrz tak e półbajt. bamf 1. Charakterystyczny dźwięk wydawany przez teleportowany obiekt lub postać w grze komputerowej, szczególnie w ramach rzeczywistości wirtualnej. 2. Dźwięk towarzyszący magicznym transformacjom w grach rzeczywistości wirtualnej. 3. Akronim od Bad-Ass Mother F***er, u ywany na określenie jednego z populacji nieprzyjemnych potworków w grach LPMUD (i podobnych). bananowa etykieta Określenie etykiet przylepianych na bokach szpulki taśmy magnetycznej; kształt ka dej z tych etykiet przypomina tępo zakończony banan. bananowe zjawisko patrz HAKMEM, nr 176 bananowy problem Problem z właściwym określeniem warunku zatrzymania iteracji (przez analogię do małej dziewczynki, która stwierdziła „Umiem ju wymawiać słowo banana, tylko nie wiem, kiedy skończyć”); patrz tak e błąd ogrodzenia, Dissociated Press, HAKMEM (nr 176). banner 1. Strona tytułowa dodawana do wydruku przez program obsługi kolejki wydru- kowej (spooler), zawierająca zwykle nazwę i identyfikator u ytkownika, wypi- sane stylizowanymi, powiększonymi znakami (stworzonymi w grafice znakowej — patrz sztuka ASCII). Zwana tak e stroną rozdzielającą, łatwo bowiem wskazuje miejsce oddzielenia wydruków nale ących do ró nych u ytkowników. 2. Podobna strona tytułowa, drukowana na kilku sąsiednich stronach „składanki” przez wy- specjalizowany program, np. UNIX-owy program banner(1,6). 3. Pierwszy ekran wyświetlany przez program interaktywny, zawierający zwykle logo autora i infor- mację na temat praw autorskich. bar Druga pod względem popularności nazwa (po foo, przed baz) na liście nazw zmiennych metasyntaktycznych („Załó my, e mamy dwie funkcje: FOO i BAR; FOO wywołuje BAR…”). 2. Często łączone z foo, co daje w wyniku foobar. BartleMUD Ka da z gier mających swój pierwowzór w oryginalnej grze MUD Richarda Bartle’a. Ka dy z BartleMUD-ów charakteryzuje się niekonwencjonalnym humo- rem, surową, lecz przyjazną dla u ytkownika, składnią poleceń i brakiem przy- miotników w opisach obiektów. Niektórzy zwolennicy MUD-ów wolą unikać konotacji z nazwiskiem Bartle’a, lansując w zamian nazwę „MUD-1”.