Software piracy is one of the concerns in the IT sector. Pirates leverage the debugger tools to reverse engineer the logic that verifies the license keys or bypass the entire verification process. Anti-debugging techniques are used to defeat piracy using self-healing codes. However, anti-debugging methods can be defeated when the licensing protections are limited to CPU-based implementation by writing custom codes to deactivate the anti-debugging methods. In the paper, we demonstrate how GPU implementation can prevent pirates from deactivating the anti-debugging methods by using the limitations of debugging on GPU. Generally, GPUs do not support debugging directly on the hardware, and therefore all the debugging is limited to CPU-based emulation. Also, a process running on CPU generally does not have any visibility on codes running on GPU, which comes as an added benefit for our work. We provide an implementation on GPU to show the feasibility of our method. As GPUs are getting widespread with the raise in popularity of gaming software, our technique provides a method to protect against piracy. Our method thwarts any attempts to bypass the license verification step thus offering a better anti-piracy mechanism.
翻译:盗版软件是IT部门关注的问题之一。 海盗利用调试器工具来改变验证许可证钥匙或绕过整个核查进程的逻辑。 使用反调试技术来用自愈合代码击败盗版。 但是, 当许可证保护仅限于基于CPU的执行时, 反调试方法可以被击败, 方法是为禁用反调方法而编写定制代码。 在文件中, 我们演示GPU 执行GPU如何通过使用调试GPU的局限性来防止海盗破坏反调方法。 一般来说, GPU不支持直接调试硬件, 因此所有调试方法都仅限于基于CPU的模拟。 此外, 在CPU上运行的程序一般不会在 GPU 运行的代码上有任何可见性, 这会对我们的工作产生额外的好处。 我们在 GPU 实施GPU 以显示我们的方法的可行性。 随着调试软件的普及, GPUs正在变得广泛, 我们的技术提供了一种防止盗版的方法。 因此, 我们的方法可以阻止任何绕过许可证的核查机制。