You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Maybe it is worth to mention that VLC player can read the
video from stdin and therefore can be used to directly play
encrypted videos without the need to first store an unencrypted
version of the video on the disk.
Here a small utility to do the en-/decryption for VLC.
Download it (source included) from:
http://onlib.de/pub/pfv/pfv.zip
or execute the batch code at the end of this posting to generate
the executable pfv.exe.
There is also a demo file:
http://onlib.de/pub/pfv/demo.pfv (33 MByte)
with a few small, encrypted videos embedded.
http://onlib.de/pub/pfv/demo.mp4 (33 MByte)
contains the same videos as demo.pfv but the first one
is not encrypted, so it can be played by just clicking
the link.
--------------------------------------------------------------
Here the readme.txt:
Privacy For Videos (aes256 encryption for videos)
This utility can be use to display encrypted videos in
combination with the VLC media player:
usage: pfv.exe number : password1 : password2 : inputfile >outputfile
password is a 43 character string with the characters A-Z a-z 0-9 / +
Any other character is ignored. If less characters are provided, the
string is padded with +. Therefore you should not use a password which
ends with a +, because, for example, the two passwords "abc" and "abc++++"
are both extended to "abc++++++++++++++++++++++++++++++++++++++++"
and therefore "abc++++" is not more secure than "abc". The binary
256 bit key for aes is generated by base64 decoding the given 43
character password.
To encrypt a video file "video1.mp4" with the password "hello world"
(note: the space in the password is ignored, so "helloworld" or
"hello_world" would be the same), use:
pfv.exe :: hello world : video1.mp4 >video1.pfv
The file size of the output file is increased to a multiple
of 1 MByte.
Note: if you repeat this command, you will get a different
binary, but it still is a valid encrypted version of the video.
To decrypt this encrypted video use:
pfv.exe : hello world :: video1.pfv >video2.mp4
video1.mp4 and video2.mp4 are then identical files.
To directly play an encrypted video use:
pfv.exe : hello world :: video1.pfv | C:\path_to_vlc\vlc.exe -
To re-encrypt a video with a different password without first
decrypting it (no decrypted version of the video is temporarily
stored on the disk), use:
pfv.exe : old password : new password : inputfile > outputfile
If you have more encrypted videos, for example:
video1.pfv (encrypted with password "pass1")
video2.pfv (encrypted with password "pass1")
video3.pfv (encrypted with password "pass2")
video4.pfv (encrypted with password "pass1")
you can copy them all into one big file (but there
is a 4 GByte limit for FAT filesystems):
copy /b video1.pfv + video2.pfv + video3.pfv + video4.pfv all.pfv
To play vidoe1 use:
pfv.exe : pass1 :: all.pfv | C:\path_to_vlc\vlc.exe -
To play vidoe2 use:
pfv.exe 2 : pass1 :: all.pfv | C:\path_to_vlc\vlc.exe -
To play vidoe3 use:
pfv.exe : pass2 :: all.pfv | C:\path_to_vlc\vlc.exe -
To play vidoe4 use:
pfv.exe 3 : pass1 :: all.pfv | C:\path_to_vlc\vlc.exe -
The number specifies which of the videos encrypted with
the given password should be decrypted. If the number
is 0 or omitted, 1 is used (video4 is the 3. video
encrypted with pass1 in the input file).
If you use ">outfile" instead of "|vlc -" you can
extract the video from the multi-video file (encrypted
or unencrypted depending on a given second password).
The program is pretty slow, but a standard PC should be
be able to decode at least Full HD videos.
If you put this batch on your desktop,
@echo off
set /p p=Password:
set p=&cls&pfv :%p%::%1|C:\path_to_vlc\vlc.exe -
you can use the mouse to drop a encrypted video on it.
It then asks for the password and plays the video.
If you use multi video files, use this batch:
@echo off
set /p p=Number:Password:
set p=&cls&pfv %p%::%1|D:\Programme\vlc\vlc.exe -
In this case you must enter the number and password
separated by a ":", for example: 3:mypassword
--------------------------------------------------------------------
The demo file demo.pfv contains 3 videos and a zip file:
video 1: a cat video
password "only cats no dogs"
video 2: a qr code video
password "hack me if you can"
video 3: a picture slide show video
password again "only cats no dogs"
zip file: a zip file with some original pictures of the slide show
password "who cares"
to play video 1 use:
pfv :only cats no dogs::demo.pfv| C:\path_to_vlc\vlc.exe -
to play video 2 use:
pfv :hack me if you can::demo.pfv| C:\path_to_vlc\vlc.exe -
to play video 3 use:
pfv 2:only cats no dogs::demo.pfv| C:\path_to_vlc\vlc.exe -
to extract the zip file use:
pfv :who cares::demo.pfv > cats.zip
If you decode the qr code video, you will get a zip file
with some pictures. The password for the pictures is:
"The quick brown fox jump"
--------------------------------------------------------------------
Here the binary of pfv.exe (just execute the batch below to
generate the binary):
@echo off
certutil -f -decode %~f0 pfv.exe>nul
goto :eof
-----BEGIN CERTIFICATE-----
TVpgAQEAAAAEAAAA//8AAGABAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAoAAAAA4fug4AtAnNIbgBTM0hTmljZSB0byBtZWV0IHNvbWVi
b2R5IHdobyBpcyBzdGlsbCB1c2luZyBET1MsDQpidXQgaGlzIHByb2dyYW0gcmVx
dWlyZXMgV2luMzIuDQokAFBFAABMAQEAUHmlNgAAAAAAAAAA4AAPAQsBBQwADAAA
AAAAAAAAAAD6EAAAABAAAAAwAQAAAEAAABAAAAACAAAEAAAAAAAAAAQAAAAAAAAA
ADABAAACAAAAAAAAAwAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAA
JBAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAkAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALnRleHQAAAAAEQEAABAAAAAMAAAAAgAA
AAAAAAAAAAAAAAAAIAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCEAAAlBAAAKIQAACyEAAA
wBAAANQQAADgEAAA7BAAAAAAAABaEAAAAAAAAAAAAABMEAAAABAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAS0VSTkVMMzIuZGxsAACCEAAAlBAAAKIQAACyEAAAwBAAANQQ
AADgEAAA7BAAAMAQAAAAAAAAAABHZXRDb21tYW5kTGluZUEAAABFeGl0UHJvY2Vz
cwAAAEdldFN0ZEhhbmRsZQAAAABDcmVhdGVGaWxlQQAAAFNldEZpbGVQb2ludGVy
RXgAAAAAUmVhZEZpbGUAAAAAV3JpdGVGaWxlAAAAQ2xvc2VIYW5kbGUA/xUAEEAA
icYx0qwIwHUKvuoTQADpzAMAADwidQL30gnSdec8IHXjMcAx0qwIwHUKvuoTQADp
qwMAADw6dA8sMHLpPAl35WvSCgHC696D6gGD0gGJFZwaQAC/tBpAAOguBgAAv6Qb
QADoJAYAAPYFgBpAAAN1Cr6EFEAA6WUDAACsPCB0+06J94n1rDwidPuqCMB19moA
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
-----END CERTIFICATE-----
The text was updated successfully, but these errors were encountered:
The text was updated successfully, but these errors were encountered: