Videos schützen

Anfängerfragen zum Programmieren mit PureBasic.
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

Videos schützen

Beitrag 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.
PB 4.6 / 32 Bit / 64 Bit
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag 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)
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Geht das nicht aus meinem Code hervor?
Und wozu gibt es GetTemporaryDirectory()? :wink:


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")
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag 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.
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag 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.
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
smateja
Beiträge: 250
Registriert: 25.11.2004 19:51
Computerausstattung: Alienware Aurora / Intel Core i7 CPU @ 2.8 GHz / 64 Bit OS

Beitrag 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.
PB 4.6 / 32 Bit / 64 Bit
Benutzeravatar
jear
Beiträge: 288
Registriert: 17.10.2004 01:59
Wohnort: Ammerland

Beitrag 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.
Man ist nie zu alt zum lernen, auch wenn man dabei manchmal alt aussieht!
Antworten