Wpis z mikrobloga

Pamiętasz swój klucz do Windowsa? Kupując legalne oprogramowanie oprócz płyty otrzymywało się certyfikat autentyczności z wydrukowanymi kilkoma znakami. Ale skąd system wiedział, że ten kod jest prawidłowy? #od0dopentestera
Teoretycznie można umieścić wszystkie klucze w kodzie programu. Ale nikt tak nie robi. Bo co jeśli jest ich na przykład 100 000?
Wykorzystuje się algorytm, który na podstawie matematycznych operacji weryfikuje poprawność klucza. Wyobraź sobie, że kod produktu składa się z samych cyfr. Program liczy ich sumę. Jeśli jest równa 20 - serial jest prawidłowy. Istnieje sporo różnych kombinacji cyfr, których suma jest równa 20. A równocześnie jest mała szansa, że użytkownik losowo poda akurat takie dane, które spełnią nasze wymagania.
Tutaj znajdziesz film tłumaczący algorytm do Windowsa 95 a tu opis dla Half Life.
Programy typu shareware działają x dni a później wymagają aktywacji. Skąd wiedzą, kiedy zostały uruchomione po raz pierwszy? Zapisują to sobie. Na przykład w rejestrze. Albo w jakimś pliku tekstowym schowanym w katalogu C:\Windows\system32.
Narzędzie RunAsDate pozwala na uruchomienie dowolnego programu z dowolną datą (bez zmiany czasu systemowego). Wykorzystywane jest do omijania zabezpieczeń ale ma też legalne zastosowanie. Możesz dla przykładu sprawdzić jak program zachowa się w przyszłości.
Prawidłowy klucz zadziała na każdym komputerze. Zaczęto więc łączyć je z unikalnym identyfikatorem sprzętowym. Można dla przykładu pobrać numer seryjny dysku twardego lub wartość "MachineGuid", która jest generowana podczas instalacji Windowsa. Taki klucz nie zadziała już na innych komputerach bo jest powiązany z tą jedną, konkretną maszyną.
Windows XP działał przez 30 dni po instalacji. Później wymagał aktywacji. Microsoft chciał w ten sposób sprawdzić czy jeden klucz nie jest wykorzystywany na wielu komputerach. Teraz w czasach Internetu jest to proste. Wystarczy wysłać serial i sprawdzić go w bazie. Ale wtedy Internet nie był popularny.
Zastosowano mechanizm aktywacji przez telefon. Użytkownik dzwonił na specjalny numer i wciskał klawisze na klawiaturze. 9 grup po 6 cyfr. W tych cyfrach programiści „ukryli” numer produktu ale także informacje o komputerze.
Jak wspomina Dave (programista odpowiedzialny za ten mechanizm) z racji ograniczonego miejsca musiano iść na wiele kompromisów. Na przykład nie wysyłano ile konkretnie megabajtów ramu masz - ale informacje w stylu "mało, średnio, dużo i bardzo dużo".
WinRar jest słynny ze swojego 40 dniowego okresu próbnego. Ale całość działa nawet po przekroczeniu tego czasu. Wyświetlany jest tylko „nag screen” - okienko przypominające, że ten program nie jest darmowy i należy kupić licencję.
To nie jest błąd ale sprytna technika marketingowa. Pozwalamy klientom domowym używać za darmo naszego programu. Lubią go i znają. Więc pewno będą go chcieli używać również w pracy. Zarabia się więc na firmach a nie użytkownikach domowych.
Dawniej wykorzystywano również częściową weryfikację klucza. Nie sprawdzano poprawności całego ciągu - ale tylko wybranych fragmentów. W kolejnych aktualizacjach dodawano weryfikacje nowych części. Przez co generatory nielegalnych kluczy nie działały z nowszymi wersjami oprogramowania. Bo skąd programiści mieli wiedzieć jaki algorytm wykorzysta autor w przyszłości?
Droższe programy używają kluczy sprzętowych nazywanych donglami. Są to urządzenia USB. Wyobraź sobie, że tworzysz program rachunkowy. W kluczu programujesz wartość podatku VAT. Teraz gdy chcesz wykonać jakąś operację to musisz najpierw poprosić klucz o zwrócenie odpowiedniej wartości. Bez niej program nie zadziała bo tej wartości nie ma fizycznie w kodzie.
Nowsze generacje tych urządzeń działają jak mini komputery. Pozwalają na wykonywanie kodu programu wprost w kluczu. Czyli przenosi się część programu do zewnętrznego urządzenia. Ale znowu coś kosztem czegoś. Taka integracja wymaga więcej pracy od programisty. I zwiększa też koszt końcowy programu - bo każdy użytkownik oprócz licencji musi też otrzymać od nas klucz sprzętowy.

Więcej opowiadam w filmie: Skąd Windows wie, że jest legalny?

PS. Jeśli ten film Ci się spodobał - możesz go wykopać.

Interesujesz się bezpieczeństwem - sprawdź mój newsletter.

#gruparatowaniapoziomu #ciekawostki #ciekawostkihistoryczne #swiat #technologia #historia #programowanie #informatyka #komputery
KacperSzurek - Pamiętasz swój klucz do Windowsa? Kupując legalne oprogramowanie opróc...
  • 99
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Teraz sobie Windows zbiera żniwa sprzedając Windowsa za 550zł za licencję home na 1 urządzenie.


@LegendarnyKremDoSmarowaniaDupy: Zbierałby, gdyby nie to, że można było zaktualizować za friko z trzynastoletniej starszej edycji ;) A "podniesione" licencje dalej działają (legalnie!) z najnowszą wersją.

MS zarabia na usługach chmurowych (Azure, Office 365, OneDrive, GitHub), sprzęcie (Surface, Xbox, akcesoria). Podobny model zresztą przyjął Apple i to chwilę wcześniej - sam sprzęt bez ekosystemu (a więc
  • Odpowiedz
programu CleanSweep. Program ten monitorował całą aktywność instalatora i pierwszy raz uruchamianej aplikacji aby przy usuwaniu jej wyręczyć deinstalator dostarczany przez lubiących zostawiać na dysku swój syf autorów i samodzielnie po nim posprzątać. Do szczętu. Tak że programy aktywne czasowo nie miały pojęcia, że są instalowane ponownie. Oczywiście głównym


@Bartholomew: revouninstaller monitoruje aplikacje podczas instalacji,zmiany w rejestrze itp
  • Odpowiedz
@KacperSzurek: filmik jak zawsze fajny i wiedza jest rzeczowa.
co do formatu kanału - wolałem poprzedni, więcej grafik, obrazków czy animacji, bardziej pobudza to wyobraźnię. mniej twarzy, więcej materiału.
  • Odpowiedz