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: 2) by meisterister on Friday June 05 2015, @08:04PM

    by meisterister (949) on Friday June 05 2015, @08:04PM (#192663) Journal

    Before either someone develops the OpenGL debugging tools necessary or integrated GPUs become powerful enough that these games will be played on them anyway?

    The integrated GPU argument comes from the fact that HSA and other such things are increasingly bringing CPUs and GPUs into the same address space. So much so that I expect that such protections would be as useless as encrypting main memory for such purposes very soon.

    --
    (May or may not have been) Posted from my K6-2, Athlon XP, or Pentium I/II/III.
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2