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: 5, Insightful) by Tork on Friday June 05 2015, @07:44PM

    by Tork (3914) Subscriber Badge on Friday June 05 2015, @07:44PM (#192652)
    I don't really have any particular opinion on copy-catting. Frankly, my naive view is that you should be happy for the free marketing. But I do want to chat about copy restriction of games:

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

    Is it a real problem in the sense that you see your revenue go down after the pirated version is available, or is it a problem because you see people who have played it and haven't paid for it? If it's the latter, then don't spend any resources on this. Spend your time making the game fun. When people have fun they pay. Seriously. Now you may not believe me, and that's okay, but please consider this: Every complication you add brings the potential for tech support down the road. Every second you spend responding to an email or fixing a bug is your profit margins shrinking. This is why I do not understand why companies like EA try to control activation of games. They're paying staff at their call centers long after the software purchase has been made. Dumb, just dumb. Every time somebody has to make that call the less likely they are to purchase a new game down the road.

    I'm not just talking to you from the point of view of a consumer, but also as someone who has has been on your side of the fence. A few years ago I partnered with somebody to create some software that we later sold on-line. He was desperately worried that everybody was out to get our product for free. Since it cost over $150, I sort of understand his anxiety. But I started thinking about what it'd take to actually 'protect' this software from unauthorized use and I just felt like I was going to create several land-mines that would require tons of tech support. Worse, I've used software that was too restrictive and ended up just finding ways to not need it. I stood my ground on that and he reluctantly agreed.

    I wrote the software with a fairly modest user-name + serial number unlock system. Sales were good. Eventually a cracked copy was released, but if you looked at our sales charts you wouldn't find where in the cycle that actually happened. And you know what? I had exactly zero bug reports about the unlock system. This was back in 2005, today we're out of business, but every single customer who has purchased our software can still use it. If we ever go back into that again, an idea that we've flirted around with, I believe we'll still have the good will of our customers.

    I don't know what to tell you about copy-catters using your assets. But I do want to warn you against stepping over a dollar to pick up a nickel. Basically what you've described means more development time that doesn't go towards making your customers happy. It's not worth it.

    --
    🏳️‍🌈 Proud Ally 🏳️‍🌈
    Starting Score:    1  point
    Moderation   +4  
       Insightful=3, Informative=1, Total=4
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5