How can certain sites and services block you from taking screenshots or sharing screens?

776 views

For example Netflix doesn’t allow to take screenshots, and in discord if you try to screen share the window is black.
I’m sure that other sites do it as well.

In: Technology

15 Answers

Anonymous 0 Comments

I can answer this for protected video playback (like Netflix) in the Edge browser on Windows. It’s actually part of my day job, I work on the team that makes the video rendering pipeline for the Edge browser.

Lots of people are mentioning events that notify the browser so it can hide the content or saying that DRM prevents you from capturing it, but that is not actually what is at play here!

The images that make up your video are just travelling down a different “pipe” than the one that the screenshotting software is looking at.

It might seem odd, but the screenshot isn’t actually taken from your screen. The image is captured earlier in the process, before all the different “pipes” containing image data have converged. In the Netflix case, the video is sent to the screen via Direct Composition (DCOMP). The way this works is that we define an area of the screen where the video should be shown and we put nothing there, this is why it shows up as black in your screenshot. Then we tell your GPU exactly where this blank area is, and give it the video data so that it can put the video on your screen directly.

This process skips sending the images to the OS’s compositor (the thing that stitches all the images from the different pipes together), which is where the screenshotting software is getting it’s image from. This gives us some other benefits besides preventing easy recording of protected content, like significantly increased battery life.

Anonymous 0 Comments

As someone who toys with various display outputs, the issue is likey HDCP. To have an HDCP compatible device the screen cannot be shared any way due to encryption. So in the unlikely event that you hook up a non HDCP device to a computer and play Netflix you will see a black screen. I have hooked up devices like TV input capture cards to play a computer through and get this problem.

Anonymous 0 Comments

There is a lot of wrong information in this thread… From an Android point of view, each application installed, is installed as it’s own user account with it’s own permissions.

By default Android restricts the permissions of the application user accounts unless the permissions are granted within the application source code. Previous versions of Android did not restrict these permissions. As an application developer, you can specify which permissions you want to allow and/or deny (ie. Screenshots).

As a user, you can decompile the Java (change the application back to source code), change the permissions and recompile the application. Note, some applications have a server side check for the application signature (the server managed by the application developers checks to see if the application had been altered). If it doesn’t match the server will return errors and the application will not work correctly. There are tools, if you are rooted, that allow you to change these permissions during run time (when the application is running) so you don’t have to modify the code. One such tool is called Xposed framework. The application will pass the signature test and run successfully. This is only one reason why rooted Androids are blocked from sensitive applications.

Anonymous 0 Comments

When building apps in Android at least, each screen (Activity) has different options, or flags, that can be set. One of those options is private mode, which the Android system (which manages when screenshots are requested) will check for and block the screenshot if it’s been set. So it’s a best practice to set that option on screens with sensitive data, like banking apps. But it doesn’t just apply to screenshots, it blocks recording as well which is why Netflix won’t allow you to just rip movies for sharing. Of course, there are ways around that but it’s very little effort for them to block 99.9% of cases.

Anonymous 0 Comments

Hi Everyone,

Just a reminder that rule 3 requires top level comments (replies to the post) to be explanations to the question.

So personal stories of sites where you have seen this do not work there but you are welcome to share them in child comments or below this.

Please let me know if you have any questions

Edit: same for ways to get around it