Seite 1 von 2
Videos schützen
Verfasst: 30.10.2006 13:49
von smateja
Hallo zusammen, bräuchte einen Tipp wie man am besten eine Video Datei schützen kann um diese nur aus dem eigenen PB Programm heraus zu benutzen, jemand ne idee? Ich dachte mir evtl schneide ich den Header raus und füge ihn dann zur laufzeit hinzu - allerdings hab ich hier mangels programmiererfahrung und dateizugriffe irgendwie noch keine guten ergebnisse erziehlen können

- vielleicht fällt jemanden ja was hierzu ein, merci schon mal im vorraus.
Verfasst: 30.10.2006 14:10
von vonTurnundTaxis
Verwende einfach ein PB-Paket:
So packst du den Film:
Code: Alles auswählen
CreatePack("dein_film.pkg")
AddPackFile("/pfad/zu/deinem/film.ogg")
ClosePack()
Und so verwendest du es im Programm:
Code: Alles auswählen
OpenPack("dein_film-pkg")
CreateFile(1, "tmp")
Memory = NextPackFile()
Size = PackFileSize()
WriteData(1, Memory , Size)
CloseFile(1)
Verfasst: 30.10.2006 14:24
von Kaeru Gaman
@vTuT
afaik gibt es kein CatchMovie(), er müsste es also nach dem von dir beschriebenen
vorgang wieder auf die platte schreiben, um es als Movie laden zu können.
Verfasst: 30.10.2006 14:44
von vonTurnundTaxis
Geht das nicht aus meinem Code hervor?
Und wozu gibt es GetTemporaryDirectory()?
Hier nochmal:
Code: Alles auswählen
OpenPack("dein_film-pkg")
CreateFile(1, GetTemporaryDirectory() + "tmp")
Memory = NextPackFile()
Size = PackFileSize()
WriteData(1, Memory , Size)
CloseFile(1)
OpenMovie(1, GetTemporaryDirectory() + "tmp")
;Film abspielen
FreeMovie(1)
DeleteFile(GetTemporaryDirectory() + "tmp")
Verfasst: 30.10.2006 15:14
von Kaeru Gaman
doch, aus dem zweiten snippet geht es hervor, sorry.
aber:
von sicherheit möchte ich in dem zusammenhang nicht sprechen.
ein bißchen mehr sicherheit gäbe es so:
Code: Alles auswählen
LoadMovie(1, GetTemporaryDirectory() + "tmp")
DeleteFile(GetTemporaryDirectory() + "tmp")
;Film abspielen
FreeMovie(1)
1) sofort nach dem entpacken laden
2) sofort nach dem laden löschen
dann hat man ne chance, dass der film kurz genug als normales
Moviefile auf der Platte ist, um nicht gerippt werden zu können.
Verfasst: 30.10.2006 17:02
von Fluid Byte
Code: Alles auswählen
LoadMovie(1, GetTemporaryDirectory() + "tmp")
DeleteFile(GetTemporaryDirectory() + "tmp")
;Film abspielen
FreeMovie(1)
Ist leider nutzlos da mit einem Debugger das Programm jeder Zeit anhalten kann und genau sieht wer, was, wie, wo auf der Pladde speichert. Einziger Schutz ist Verschlüsselung oder direkt aus dem Speicher zu lesen.
Verfasst: 30.10.2006 17:13
von vonTurnundTaxis
Es geht hier wohl eher darum , dass irgendwelche Filme von Otto Normal nicht angesehen werden können.
Otto Normal nimmt keine fremden Programme auseinander.
Verfasst: 30.10.2006 18:42
von Kaeru Gaman
ihr habt beide recht.
die grenze ist hier zu ziehen zwischen otto-normal-anwender und otto-normal-selberprogger.
gegenüber ersterem ist der schutz ausreichend, gegenüber letzterem nicht.
Verfasst: 31.10.2006 17:00
von smateja
Ganz genau - hier gehts um 0815 - User, vorallem in dem Sinne - Schulungsvideos zu schützen, dass nur der Kunde die entsprechenden Videos angucken kann - kombiniert auch noch in einzelne Lektionen die er einzeln Freischalten muß etc. - aber - merci für alle die sich beteiligt haben, hat mir sehr weitergeholfen.
Verfasst: 31.10.2006 17:14
von jear
Code: Alles auswählen
LoadMovie(1, GetTemporaryDirectory() + "tmp")
DeleteFile(GetTemporaryDirectory() + "tmp")
;Film abspielen
FreeMovie(1)
Bei LoadMovie() wird kein Movie in den Speicher geladen, sondern DirectShow wird beauftragt, das Video abzuspielen. Schaut Euch mal die Größen von Video-Dateien an...
Wenn aber DShow die Datei geöffnet hat, kann man sie nicht löschen oder aber das Abspielen geht schief.