Application programming interface (API)



Podobné dokumenty
monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Základní informace. Operační systém (OS)

Co je grafický akcelerátor

Připravil: David Procházka. Základy OpenGL

Vzdálený přístup k počítačům

Základní typy struktur výpočetních systémů

ČÁST 1. Základy 32bitového programování ve Windows

Úvod do problematiky. Význam počítačové grafiky. Trochu z historie. Využití počítačové grafiky

Vektorové grafické formáty

Práce s obrazovým materiálem CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

Operační systémy: funkce

Úvod do problematiky. Význam počítačové grafiky. Trochu z historie. Využití počítačové grafiky

2 Grafický výstup s využitím knihovny

Návod k použití softwaru Solar Viewer 3D

Embedded vývoj v Clutteru a Mx

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

Úvod 13 O čem je tato kniha? Pro koho je tato kniha? Jak studovat tuto knihu? Poděkování 16 Zpětná vazba od čtenářů Zdrojové kódy ke knize Errata 17

OPERAČNÍ SYSTÉM. základní ovládání. Mgr. Jan Veverka Střední odborná škola sociální obor ošetřovatel

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

Hospodářská informatika

Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13

KAPITOLA 13. Grafika a zvuk. Linux a grafika

SOFTWARE - programové vybavení počítače (nemůžeme si na něj sáhnout) Bez SW nemůže PC fungovat. Schéma počítače:

Software pro grafické terminály TERM10 a TERM03

Technické vybavení počítače. (všechny části z nichž je počítač složen)

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Stručný obsah. Úvod 15. KAPITOLA 1 První kroky v systému Windows KAPITOLA 2 Hlavní panel a jeho možnosti 41. KAPITOLA 3 Soubory a složky 51

Fakulta informačních technologíı. IZG cvičení 6. - Zobrazování 3D scény a základy OpenGL 1 / 38

VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender

4 Microsoft Windows XP Jednoduše

IT ESS II. 1. Operating Systém Fundamentals

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Metody připojování periferií

Software programové vybavení. 1. část

Ukázka knihy z internetového knihkupectví

TÉMATICKÝ OKRUH Softwarové inženýrství

G R A F I C K É K A R T Y

Profilová část maturitní zkoušky 2017/2018

4x standardní vstupy

Kapitola 1: Úvod. 1.1 Obsah balení. 1.2 Požadavky na systém. Česky

Úloha 1. Text úlohy. Vyberte jednu z nabízených možností: NEPRAVDA. PRAVDA Úloha 2. Text úlohy

Informační Systém pro Psychiatrii HIPPO

úvod Historie operačních systémů

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

1.2 Operační systémy, aplikace

Obsah. Úvod 9 Komu je kniha určena 11 Konvence použité v knize 11

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

XNA Game Studio 3.1. Tomáš Herceg Microsoft Most Valuable Professional Microsoft Student Partner

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Windows a real-time. Windows Embedded

Telekomunikační koncová zařízení

Přídavné karty. Zvuková karta. Síťová karta

Matematika v programovacích

VirtualBox desktopová virtualizace. Zdeněk Merta

Principy operačních systémů. Lekce 1: Úvod

PINEL plus. Informace, doporučení a nutná nastavení pro zajištění správné funkce v operačních systémech MS Windows a Linux

Satori. Uživatelský manuál

Na různých druzích počítačů se používají různé operační systémy. V průběhu času

Zásady prezentace CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

Zobrazovací jednotky a monitory

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

1. Blok 1 Úvod do Systémů CAD

Implementace systémů HIPS: historie a současnost. Martin Dráb

TC-502L. Tenký klient

CYCLOPE PRINT MANAGEMENT SOFTWARE- UŽIVATELSKÁ PŘÍRUČKA

Obsah. Úvod do studia 11 Co byste měli předem znát 13. Úvod do obsluhy AutoCADu 23. Kapitola Kapitola 1 23

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

TESTOVÁNÍ UŽIVATELSKÉHO ROZHRANÍ VIDEO PŘEHRÁVAČE VLC

Návod k obsluze. GeoVision ViewLog SW verze Návod k obsluze GV-ViewLog Stránka 1

Procesory nvidia Tegra

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Pokročilé architektury počítačů

GRAFICKÉ ADAPTÉRY. Pracovní režimy grafické karty

Programové vybavení počítačů operační systémy

Úvod 13. Seznámení s PowerPointem 15. K čemu slouží PowerPoint a prezentace 16 Obvyklé využití prezentací 17 Možnosti publikování prezentací.

1. Úvod do obsluhy AutoCADu

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Pokročilé programování v jazyce C pro chemiky (C3220) 3D grafika v knihovně Qt

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

SOFTWARE. Programové vybavení počítače

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

Vytváříme dobré aplikace vykreslovače grafiky v programovém prostředí Control Web

Maturitní témata pro 1.KŠPA Kladno, s.r.o. Výpočetní technika

Controlweb. Úvod. Specifikace systému

Grafická karta nebo také videoadaptér je součást počítače, která se stará o grafický výstup na monitor, TV obrazovku či jinou zobrazovací jednotku.

Obsah. SEZNÁMENÍ S HRAMI V HTML Nové funkce HTML Nové funkce CSS

Multiplatformní GUI toolkity

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ

Vzdělávací obsah vyučovacího předmětu

Testovací protokol USB Token Cryptomate

PŘEDMĚT: INFORMATIKA A VÝPOČETNÍ TECHNIKA

4.6 Zpracování videa na počítači

File Transfer Protocol (FTP)

1. Webový server, instalace PHP a MySQL 13

Vývoj OS Windows Mobile. Ing. Jiří Šilhán

Transkript:

API A ZABEZPEČENÍ

Application programming interface (API) Rozhraní pro programování aplikací sbírka procedur, funkcí či tříd nějaké knihovny, programu nebo jádra OS programátor používá namísto toho, aby je sám naprogramoval definuje interface mezi zdrojovým kódem a knihovnami jak se funkce knihovny mají volat ze zdrojového kódu programu ABI (Application binary interface) využívá se po přeložení programu do binární podoby a během jeho běhu umožňuje již zkompilovanému souboru fungovat beze změn na systémech s kompatibilním ABI API závislá na programovacím jazyku respektují zvyklosti jazyka API nezávislá na programovacím jazyku nezávisí na jazyku, dostupné přes RPC mechanismus, jak z jednoho programu volat funkci umístěnou na vzdáleném systému Obvykle multiplatformní rozhraní

API příklady Grafická API OpenGL, DirectX standardizována, programátor je může v programu využít způsob vykonání záleží na počítači, na grafické kartě, případně může být vykreslování kompletně softwarově emulováno nějakou programovou knihovnou (např. Mesa) API operačních systémů Další POSIX Windows API (.NET Framework API) Advanced SCSI Programming Interface (ASPI) BIOS call interface Java Platform APIs IE API, Google Maps API YouTube API PlayStation 2 API

API operačních systémů API operačních systémů v současné době jsou nejrozšířenější dva standardy aplikačního programátorského rozhraní (API) OS POSIX (IEEE) Portable Operating System Interface, vychází ze systémů UNIX přenositelné rozhraní pro operační systémy standardizované jako IEEE 1003 a ISO/IEC 9945 určuje, jak mají POSIX-konformní systémy vypadat, co mají umět, co se jak dělá apod. Windows API (pův. Win32) Microsoft, pro komunikaci programů se systémem, pro definici vláken a plánování komunikují všechny programy Windows nezávisle na použitém programovacím jazyce

Komponenty Windows API Základní služby přístup k nezbytným zdrojům poskytnutým systémem Windows Pokročilé služby práce s registrem, vypnutí/restart, správa služeb a uživatelských účtů Grafické uživatelské rozhraní (GUI) funkce pro výstup grafického obsahu Uživatelské Rozhraní Knihovna běžných dialogových oken poskytuje aplikacím standardní dialogová okna Knihovna běžných prvků (Common Control Library) pokročilejší prvky stavové řádky, toolbary a záložky Windows Shell přístup k funkcím poskytovaných shellem Síťové služby přístup k sítím

Komponenty Windows API Základní služby poskytuje přístup k nezbytným zdrojům poskytnutým systémem souborový systém, periferie, procesy a vlákna, přístup do registrů a ošetření chyb 16b Windows: kernel.exe, krnl286.exe, krnl386.exe 32b Windows: kernel32.dll, advapi32.dll Pokročilé služby API pro práci s registrem, vypnutí/restart systému (nebo zrušení), spuštění/zastavení/vytvoření služeb systému Windows a správu uživatelských účtů advapi32.dll Grafické uživatelské rozhraní (GUI) funkce pro výstup grafického obsahu na monitory, tiskárny a jiná výstupní zařízení 16b Windows: gdi.exe 32b Windows: gdi32.dll

Komponenty Windows API GUI Uživatelské Rozhraní funkce pro tvorbu a řízení počítačových oken a dalších základních prvků (tlačítka a posuvníky), zpracovává vstup z klávesnice a myši apod. 16b Windows: user.exe 32b Windows: user32.dll Windows XP+: comctl32.dll (společně s Common Control Library) Knihovna běžných dialogových oken poskytuje aplikacím standardní dialogová okna pro otevření a ukládání souborů, volbu barvy a fontů, apod. 16b Windows: commdlg.dll 32b Windows: comdlg32.dll Knihovna běžných prvků (Common Control Library) poskytuje aplikaci přístup k pokročilejším prvkům operačního systému jako stavový řádek, zobrazení průběhu výpočtu, toolbary a záložky 16b Windows: commctrl.dll 32b Windows: comctl32.dll

Komponenty Windows API Windows Shell umožňuje aplikacím přístup k funkcím poskytovaných shellem Windows 16b Windows: shell.dll Windows 95: shell32.dll 32b Windows: shlwapi.dll patří do kategorie Uživatelské Rozhraní Síťové služby poskytuje přístup k počítačovým sítím zahrnuje také NetBIOS, Winsock, NetDDE, RPC a mnoho dalších funkcí

Nadstavbové knihovny Windows API umožňují aplikacím pracovat abstraktnějším způsobem Microsoft Foundation Class Library (MFC) nadstavba Windows API pro třídy v C++ usnadňuje objektově orientované programování zabaluje části API do ucelených C++ tříd Active Template Library (ATL) šablonově orientovaná nadstavba pro COM Windows Template Library (WTL) rozšíření pro ATL, zamýšlena jako odlehčená alternativa k MFC Další nadstavby vyvinuté jinými firmami (např. Borland) Object Windows Library (OWL), později Visual Component Library (VCL) konkurence k MFC a poskytuje podobnou objektově orientovanou nadstavbu. Většina aplikačních frameworků pro Windows je (alespoň částečně) nadstavbou nad Windows API.NET Framework, Java, ostatní programovací jazyky pod Windows obsahují nadstavbové knihovny (nebo jimi jsou)

DirectX Sada knihoven pro umožnění přímého ovládání moderního hardwaru nástroje pro tvorbu počítačových her, multimediálních aplikací, GUI (Aero) součást systému od Windows 95 OSR2 skládá se z několika částí (rozdělených podle účelu): DirectX Graphics DirectDraw 2D rastrová grafika Direct3D 3D vykreslování DirectInput podpora vstupních zařízení (myši, joysticky, gamepady ) DirectPlay podpora hry více hráčů po síti od verze 8

DirectX DirectSound (dříve též spolu s DirectMusic označováno souhrnným názvem DirectX Audio) podpora přehrávání a záznamu zvuků DirectMusic podpora přehrávání a zpracování hudby DirectX Media Objects podpora pro tvorbu multimediálních efektů, kodeků apod. DirectSetup jednoduchý nástroj umožňující instalaci knihovny DirectX na počítač DirectX Media DirectAnimation DirectShow podpora multimediálních aplikací, přehrávání a zpracování videa a zvuku (streaming)

DirectShow Součást DirectX Media Multimediální framework a API pro operace s multimediálními soubory a streamy nástupce Video for Windows (Win 95) Media Player, VidCap, VidEdit, BitEdit, PalEdit, WaveEdit obsaženo ve Windows Media Playeru přesunuto z DirectX do Microsoft Platform SDK; dnes nahrazováno Media Foundation (Vista) Přehrávání videa filtry Video Renderer obraz vykreslen s pomocí DirectDraw VMR Video Mixing Renderer 7 (Win XP) směšování streamů a grafiky (možnost vykreslovat grafiku a text přes video), podpora "windowless mode VMR-9 místo DirectDraw Direct3D součást DirectX 9

Media Foundation Multimediální framework pro Windows Vista náhrada DirectShow i VfW, podpora DRM kvalita přehrávání videa a audia, HDTV, ochrana obsahu a DRM integruje DirectX Video Acceleration (DXVA) idct, kompenzace pohybu, deinterlacing, korekce barev na GPU EVR Enhanced Video Renderer směšování až 16 simultánních streamů informace o průhlednosti každého pixelu v referenčním streamu specifikované z-order Podpora formátů standardní WMA, WMV, MP3; rozšiřitelné, nepodporováno MIDI Podpora aplikací Windows Protected Media Path (PMP) Windows Media Player ve Windows Vista a Windows 7 může být použito i DirectShow nebo Windows Media Format SDK DirectX Video Acceleration (DXVA) 2.0 ve Windows Vista

OpenGL Open Graphics Library průmyslový standard specifikující API pro tvorbu aplikací počítačové grafiky používá se při tvorbě počítačových her, CAD programů, aplikací virtuální reality, vědeckotechnické vizualizace apod. konsorcium ARB (Architecture Review Board) SGI, Microsoft, nvidia, ATI, Použití prakticky všechny počítačové platformy na kterých je možno vykreslovat grafiku Implementace vestavění v grafickém hardwaru akcelerované grafické karty nebo celé grafické subsystémy softwarové implementace umožňují používat OpenGL i na hardwaru, který ho nepodporuje např. open source knihovna Mesa 3D z lic. důvodů není implementace OpenGL, ale implementace API blízké OpenGL

OpenGL struktura vykreslování do obrazového rámce (framebufferu) základních primitiv v několika různých režimech body, úsečky, mnohoúhelníky a obdélníky veškerá činnost OpenGL se řídí vydáváním příkazů pomocí volání funkcí a procedur OpenGL definuje cca 250 nepoužívá se objektově orientované programování jednotlivá primitiva jsou definována pomocí vrcholů každý z nich definuje bod, koncový bod hrany nebo vrchol mnohoúhelníku každý vrchol má přiřazena data (souřadnice, barva, normála a texturovací souřadnice) Architektura klient-server program (klient) vydává příkazy, které grafický adaptér (server) vykonává je možné, aby program fyzicky běžel na jiném počítači a příkazy se předávaly prostřednictvím sítě

OpenGL Nezávislost na operačním systému, grafických ovladačích a správcích oken neobsahuje funkce pro práci s okny (otevírání, zrušení, změnu velikosti), pro vytváření GUI ani pro zpracování událostí lze zajistit voláním funkcí příslušného správce oken nebo použít některou z nadstaveb GLUT OpenGL Utility Toolkit vlastní primitivní datové typy např. GLbyte, GLint, GLdouble Podpora programovacích jazyků hlavičkový soubor pro C a C++ deklarovány datové typy, konstanty a funkce tvořící vlastní rozhraní podobné soubory s deklaracemi pro další programovací jazyky Fortran, Object Pascal, Java většinou automaticky vytvářeny z hlavičkových souborů C

OpenGL Stavový automat během zadávání příkazů lze měnit vlastnosti jednotlivých primitiv nebo celé scény barva, průhlednost; volba způsobu vykreslování, transformace nastavení zůstane zachováno, dokud ho nezměníme menší počet parametrů, jedním příkazem lze globálně změnit způsob vykreslení celé scény například volbu drátového zobrazení nebo pomocí vyplněných polygonů Vykreslování scény provádí se procedurálně voláním funkcí OpenGL je rastrový obrázek uložen je ve framebufferu každému pixelu přiřazena barva, hloubka, alfa složka příp. další z framebufferu lze získat barevnou informaci a tu možné zobrazit

OpenGL http://www.root.cz/serialy/graficka-knihovna-opengl/

OpenGL grafická primitiva Základní geometrické prvky bod, úsečka, trojúhelník, čtyřúhelník, plošný konvexní polygon, bitmapa (jednobarevný rastrový obraz) a pixmapa (barevný rastrový obraz) Funkce pro proudové vykreslování některých primitiv lze vykreslit např. polyčáru (line loop), pruh trojúhelníků (triangle strip), pruh čtyřúhelníků (quad strip) nebo trs trojúhelníků (triangle fan) Transformace vrcholů primitiv otočení, změna měřítka, posun, perspektivní projekce lze jednoduše vytvořit animace Osvětlení nebo pokrytí texturou vykreslovaná primitiva mohou být osvětlena nebo pokryta texturou možnost přidání dalších efektů (mlha )

GLUT OpenGL Utility Toolkit slouží k vytváření přenositelných grafických aplikací používajících pro vykreslování grafickou knihovnu OpenGL Definuje a implementuje aplikační rozhraní pro tvorbu oken a jednoduchého grafického uživatelského rozhraní přičemž je systémově nezávislá, tj. pro práci s okny se na všech systémech používají vždy stejné funkce se stejnými parametry přidány funkce pro vykreslování bitmapového a vektorového písma v několika základních řezech Nezávislost na OS i jazyku používají se pouze základní datové typy jazyka C

Příklad kódu #include <GL/glut.h> // hlavickovy soubor funkci GLUT int main(int argc, char **argv) { glutinit(&argc, argv); // inicializace knihovny GLUT glutcreatewindow("priklad na OpenGL cislo 1"); // vytvoreni okna pro kresleni glutreshapewindow(400, 400); // zmena velikosti okna glutpositionwindow(100, 100); // pozice leveho horniho rohu okna } // registrace funkci glutdisplayfunc(ondisplay); // pri prekreslovani okna glutreshapefunc(onresize); // pri zmene velikosti okna glutkeyboardfunc(onkeyboard); // pri stlaceni klavesy glutmainloop(); // nekonecna smycka, kde se volaji zaregistrovane funkce return 0; // navratova hodnota http://www.root.cz/serialy/graficka-knihovna-opengl/

Příklad kódu //--------------------------------------------------------------------- // Nastaveni souradneho systemu v zavislosti na velikosti okna //--------------------------------------------------------------------- void onresize(int w, int h) // w a h nova velikost okna { glviewport(0, 0, w, h); // viditelna oblast pres cele okno glmatrixmode(gl_projection); // zacatek modifikace projekcni matice } glloadidentity(); glortho(0, w, 0, h, -1, 1); // vymazani projekcni matice (identita) // mapovani abstraktnich souradnic do souradnic okna //--------------------------------------------------------------------- // Tato funkce je volana pri stlaceni ASCII klavesy //--------------------------------------------------------------------- void onkeyboard(unsigned char key, int x, int y) { if (key==27) exit(0); // pokud ESC, konec programu } http://www.root.cz/serialy/graficka-knihovna-opengl/

Příklad kódu //--------------------------------------------------------------------- // Tato funkce je volana pri kazdem prekresleni okna //--------------------------------------------------------------------- void ondisplay(void) { glclearcolor(0., 0., 0., 0.); // nastaveni mazaci barvy na cernou glclear(gl_color_buffer_bit); // vymazani bitovych rovin barvoveho bufferu glcolor3f(0.0f, 1.0f, 0.0f); // nastaveni zelene barvy pro kresleni glbegin(gl_triangles); // zacnou se vykreslovat trojuhelniky glvertex2i(200, 50); // souradnice prvniho vrcholu glvertex2i( 50, 250); // souradnice druheho vrcholu glvertex2i(350, 250); // souradnice tretiho vrcholu glend(); // konec vykreslovani trojuhelniku glflush(); // provedeni a vykresleni zmen } http://www.root.cz/serialy/graficka-knihovna-opengl/

GLUT http://www.root.cz/clanky/glut-9-vykreslovani-trojrozmernych-teles/

ZABEZPEČENÍ AUDIOVIZUÁLNÍCH DAT

Zabezpečení audiovizuálních dat Vývojová řešení pro distribuci a zabezpečení Microsoft (Windows media SDK, Direct show SDK) Real.com (RealSystem iq) Apple Mac (Quick time streaming server) Řešení Microsoft od Windows Media (Player) 7.1 účinná ochrana autorských práv vztahující se na nabízené audiovizuální snímky umožňuje vést registr všech autorizovaných uživatelů umožňuje zpoplatnění poskytnutí audiovizuálních digitálních dat jako služby Správce práv (Windows Media Rights Manager WMRM) umožňuje autorovi nebo vlastníku práv doručovat klientům hudbu, video a jiná média v komprimované a kryptované podobě Windows Media Packager WMP komprimační nástroj Windows Media License Manager licenční správce

DRM (Digital Right Managment) DRM (Digital Right Managment) metody, jejichž účelem je kontrolovat či omezovat používání obsahu digitálních médií DRM aplikace umožňuje komprimovat a kryptovat mediální soubory pomocí klíče uživatel pro přehrání pomocí standardního Windows Media Playeru potřebuje licenci, jejíž obsahem je klíč uložen separátně DRM kódování soubor je uložen v kódovaném formátu klíč jedinečný na každém PC zaslán zašifrovaně pro konkrétní počítač zjištění klíče by vyžadovalo několik dní pracující superpočítač možnost měnit klíč každý den

Kódovaný obsah Přehrávání obsahu chráněného DRM přehrání na starší verzi přehrávače přehrávač se automaticky snaží připojit a stáhnout upgrade přehrávač vždy kontroluje, zda má uživatel licenci k přehrání když nemá platnou licenci, je přesměrován na stránku s registrací poskytovatel může zprostředkování licence zpoplatnit po registraci (případně zaplacení) může uživatel přehrávat pokud je u licence specifikována doba platnosti po uplynutí této doby již není možné znovu přehrát uživatel může audiovizuální soubor volně šířit ale každý další se musí zaregistrovat a získat novou licenci

Potenciální narušitelé zabezpečení Naivní narušitel nesnaží se aktivně prolomit kopíruje soubory a instaluje přehrávače, které DRM obcházejí zabezpečení musí znemožnit Zkušený narušitel má znalosti, ale nemá komerční motivaci prolomit DRM systém zabezpečení musí zvýšit složitost a nákladnost prolomení Profesionální narušitel komerčně motivován k prolomení DRM systému může najímat další narušitele může používat metody a aplikace zpětného inženýrství zabezpečení musí snížit počet narušitelných míst na minimum a snížit možnosti komerčního zneužití přehrávače založené na Windows Media Format SDK musí být certifikovány firmou Microsoft

Způsoby zabezpečení Metody Windows Media Right Manager stornování, individualizace, Secure Audio Path schéma ochrany a distribuce http://www.elektrorevue.cz/clanky/02028/index.html

Způsoby zabezpečení Stornování proces, během kterého se identifikuje certifikát přehrávače v případě narušené aplikace správce práv neposkytne soubor přehrávači stornovací seznam na serveru zavedeny všechny narušené aplikace http://www.elektrorevue.cz/clanky/02028/index.html

Způsoby zabezpečení Individualizace proces, který vytváří jedinečnou instanci softwaru řízení práv ten je pak vždy odlišný na různých počítačích narušení zabezpečení DRM je pouze pro jednu instanci a ne globální unikátní soubor DLL, který je strukturálně zmatený, aby nebyl běžným způsobem čitelný http://www.elektrorevue.cz/clanky/02028/index.html

Způsoby zabezpečení Zabezpečená zvuková cesta zajišťuje, aby nešlo kopírovat data již přenesená na klienta, ale dosud nereprodukovaná pomocí zvukové karty zabezpečený kanál mezi přehrávačem a jádrem OS k signálu je během přenosu uvnitř PC přidán šum certifikované výstupní zařízení odstraní licence může zablokovat digitální výstup zvukové karty http://www.elektrorevue.cz/clanky/02028/index.html