Stories
Slash Boxes
Comments

SoylentNews is people

posted by CoolHand on Friday June 05 2015, @07:15PM   Printer-friendly

Game piracy is a real problem for independent game developers, especially on platforms like Android and Linux where reverse engineering games is quite easy.

To counter this, a simple method of using OpenGL to encrypt the assets such as images and data can be done by using the graphics card or GPU for performing the encryption/decryption work completely on the GPU, by using native OpenGL calls. This uses the already established General Purpose GPU (GPGPU) computing methodology to accomplish this task. A description of a proof-of-concept is available at Stealth Labs blog and the source code is available at github.

From stealthy.io:

Suppose you are an independent game developer. You are facing piracy and fake copies of your game, and you do not have the legal and economic power to handle this problem. You want to continue making games without getting discouraged by pirates, who most likely reside in other countries. What do you do ? How do you prevent or reduce the incentive to pirate your game through reverse engineering ? Maybe you could perform encryption of your game assets, like textures, shaders and images, to thwart the piracy and copy-cat efforts ? You could use standard encryption libraries like OpenSSL, but that still leaves the decrypted data open to access, in CPU memory, by anyone running a debugger on your software. What if you could use OpenGL to do the encryption and leave the data in the framebuffer object and render it from there using OpenGL itself ? Then you would never have to even extract the data from GPU memory into CPU memory ! Debugging tools for OpenGL are not good enough, and reverse engineering tools for OpenGL are non-existent.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 1) by rleigh on Saturday June 06 2015, @09:24AM

    by rleigh (4887) on Saturday June 06 2015, @09:24AM (#192825) Homepage

    I'm also unsure who this is intended to "protect" against. It certainly seems like snake oil at first glance.

    It doesn't help with game "piracy" by end users; they'll just copy the whole thing and it'll decrypt the stuff on the GPU, but the game will still play. Unless there's additional licence key verification or other steps to conditionally allow decryption

    The only people I can see it really attempting to stop are other game developers from nabbing the "assets" (textures and meshes) uploaded to the GPU. Frankly, this seems like a waste of time. Legitimate developers are surely going to not engage in such legally questionable activities? And if they did, they are the most technically savvy to circumvent the protection. Is this actually a problem in practice for real life development?

  • (Score: 0) by Anonymous Coward on Saturday June 06 2015, @05:44PM

    by Anonymous Coward on Saturday June 06 2015, @05:44PM (#192958)

    They just want to make the lives of modders harder so they don't need to compete against their own old products.