【技术实现步骤摘要】
【国外来华专利技术】用于阻止外部调试器应用分析软件程序的代码的方法
[0001]本公开总体上涉及用于防止软件盗版的系统和方法;并且更具体地涉及用于阻止外部调试器应用分析软件程序的代码的方法、系统和计算设备。
技术介绍
[0002]软件盗版以及未经授权地访问、修改和利用软件应用(诸如,计算机游戏、控制台游戏应用、模拟应用、编码和测试基于控制台的应用等)已经成为日益严重的问题。软件盗版可能会因未经授权地分发软件程序的盗版副本而导致收入损失。此外,除了由于分发盗版副本而造成的收入损失,软件盗版还构成了暴露可能体现在特定软件程序中的有价值的商业秘密的威胁。此外,软件盗版还对个人和/或公司可能寻求保护的知识产权构成威胁。特别地,软件程序公司可以通过未经授权地访问竞争对手的软件程序来获取显著的竞争优势。
[0003]通常,软件程序由电子文件或代码段组成,该电子文件或代码段以特定方式布置以便与已知的微处理器和操作系统兼容,从而使软件程序容易受到黑客或破解方的修改。通常,存在很多可用的软件安全机制可以用于限制对软件程序的未经授权的访问。大多数软件安全机 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于阻止外部调试器应用分析被安装在计算设备(202,300)上的软件程序(306)的代码的方法,所述方法包括:
‑
初始化包括应用程序(308)和内部调试器应用(310)的所述软件程序,其中所述软件程序在其初始化时指示所述内部调试器应用在所述内部调试器应用中加载所述应用程序,并且其中所述内部调试器应用被配置为利用所述计算设备的操作系统(204)的内核资源(312);
‑
执行所述内部调试器应用以在所述应用程序的所述代码中设置一个或多个断点,以针对所述应用程序的所述代码限定执行路径;
‑
按照针对所述应用程序的所述代码的所限定的所述执行路径来执行所述应用程序;
‑
在到达所述应用程序的所述代码中的所述一个或多个断点中的任何断点时停止所述应用程序的所述代码的执行;以及
‑
将控制移交给所述内部调试器应用以提供针对下一指令的地址,所述下一指令要在针对所述应用程序的所述代码的所限定的所述执行路径中被执行。2.根据权利要求1所述的方法,其中所述应用程序的所述代码包括多个代码块,其中所述一个或多个断点包括在一个代码块的执行之后从所述一个代码块移动到另一代码块的指令。3.根据权利要求1或2所述的方法,还包括:将控制移交给所述内部调试器应用以提供针对下一代码块的地址,所述下一代码块要在针对所述应用程序的所述代码的所限定的所述执行路径中被执行。4.根据前述权利要求中任一项所述的方法,其中所述一个或多个断点被设置在所述应用程序的所述代码中的一个或多个预定代码块的末尾处。5.根据前述权利要求中任一项所述的方法,其中所述一个或多个断点基于所述应用程序的所述代码中的一个或多个代码块的执行频率而被设置。6.根据前述权利要求中任一项所述的方法,其中所述一个或多个断点被随机地设置在所述应用程序的所述代码中的一个或多个代码块的末尾处。7.根据前述权利要求中任一项所述的方法,其中所述应用程序被配置为在由所述计算设备的用户启动所述应用程序时初始化所述内部调试器应用。8.根据前述权利要求中任一项所述的方法,其中所述内部调试器应用初始化所述应用程序的所述代码的所述执行。9.根据前述权利要求中任一项所述的方法,其中所述应用程序是游戏应用程序。10.一种被安装在计算设备(200)上的计算机程序产品,所述计算机程序产品包括非暂态机器可读数据存储介质,其上存储有软件程序的程序指令,所述软件程序在由与所述计算设备相关联的处理设备访问时,将使所述处理设备:
‑
初始化包括应用程序和内部调试器应用的所述软件程序,其中所述软件程序在其初始化时指示所述内部调试器应用在所述内部调试器应用中加载所述应用程序,并且其中所述内部调试器应用被配置为利用所述计算设备的操作系统的内核资源;
‑
执行所述内部调试器应用以在所述应用程序的所述代码中设置一个或多个断点,以针对所述应用程序的所述代码限定执行路径;
‑
按照针对所述应用程序的所述代码的所限定的所述执行路径来执行所述应用程序;
‑
在到达所述应用程序的所述代码中的所述一个或多个断点中的任何断点时停止所述应用程序的所述代码的执行;以及
‑
将控制移交给所述内部调试器应用以提供针对下一指令的地址,所述下一指令要在针对所述应用程序的所述代码的所限定的所述执行路径中被执行。11.根据权利要求10所述的计算机程序产品,其中所述应用程序的所述代码包括多个代码块,其中所述一个或多个断点包括用于在一个代码块的执行之后从所述一个代码块移动到另一代码块的指令。12.根据权利要求10或11所述的计算机程序产品,其中所述程序指令在由所述处理设备访问时将使所述处理设备将控制移交给所述内部调试器应用以提供针对下一代码块的地址,所述下一代码块要在针对所述应用程序的所述代码的所限定的所述执行路径中被执行。13.根据权利要求10至12中任一项所述的计算机程序产品,其中所述程序指令在由所述处理设备访问时将使所述处理设备在所述应用程序的所述代码中的一个或多个预定代码块的末尾处设置所述一个或多个断点。14.根据权利要求10至13中任一项所述的计算机程序产品,其中所述程序指令在由所述处理设备访问时将使所述处理设备基于所述应用程序的所述代码中的一个或多个代码块的执行频率来设置所述一个或多个断点。15.根据权利要求10至14中任一项所述的计算机程序产品,其中所述程序指令在由所述处理设备访问时将使所述处理设备在所述应用程序的所述代码中的一个或多个代码块的末尾处随机地设置所述一个或多个断点。16.根据权利要求10至15中任一项所述的计算机程序产品,其中所述程序指令在由所述处理设备访问时将使所述处理设备将所述应用程序配置为在由所述计算设备的用户启动所述应用程序时初始化所述内部调试器应用。17.根据权利要求10至16中任一项所述的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。