Sampling Skype Video

We have to recover the information encoded into video frames, without having access to Skype's source code. One way to do this is to take screenshots of the video call viewport. However, we would like for this window not to be presented in the regular display, since it is just there for enabling the covert channel.

To this end, Skype is run in a virtual display, from which we will recover the contents of the video call viewport.

#Run virtual frame buffer in DISPLAY 1, screen 0
Xvfb :1 -screen 0 1280x1024x24 &

#Run skype. Redirect graphical output to display 1
skype -display :1 &

To recover the contents of the call window, we may automate the discovery of that window and grab it. We need it to be fast. Among several utilitary tools, we found the X11 window dump tool (XWD) to be the fastest, since it keeps the data in a rather raw format, and we avoid unecessary compressions to other popular formats. DeltaShaper then interprets the xwd dump file and recovers the pixel data.

#Show info of windows in DISPLAY 1
DISPLAY=:1 xwininfo -tree -root    ----> Analyse output and extract Skype call WindowId

#Resize Skype Call screen to match the input frame dimensions
xdotool windowsize WindowId 640 480

#Take a screenshot of the selected window
DISPLAY=:1.0 xwd -id WindowId > screenshot