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: 0) by Anonymous Coward on Friday June 05 2015, @07:57PM

    by Anonymous Coward on Friday June 05 2015, @07:57PM (#192657)

    It is easier in two respects.

    First is the obvious s/easier/cheaper/ Super-powerful tools exist for all platforms, but Linux, by the nature of the people who use it, has most of them available for free. Windows not so much, at least for well known ones (and maybe the scene has secret ones or can otherwise get around licensing for the expensive ones).

    Second is that with open source software and the like, it is easier to patch the kernel or otherwise know what is going on. Also, I believe that android uses some sort of intermediate bytecode, which requires even less work with common tools than to disassemble a compiled program.

  • (Score: 0) by Anonymous Coward on Saturday June 06 2015, @01:06AM

    by Anonymous Coward on Saturday June 06 2015, @01:06AM (#192735)

    But wait, isn't all FOSS simply a reimplementation of something that some hard working programmer or businessman designed, thus ripping off money from a working person? /sarcasm