【技术实现步骤摘要】
本专利技术涉及计算机软件分析系统、客户端计算机、控制客户端计算机的操作的方法以及用于操作客户端计算机的程序。
技术介绍
近年来,用于分析软件的技术已日趋成熟。例如,典型的技术涉及从源代码输出质量相关数据以及在提高质量的活动中利用该数据。这样的技术是普遍适用的,以及鉴于最近趋势走向是注重软件的内部质量,据预测,将开发各种各样这样的技术和服务。在软件分析技术中,对于软件分析本身需要大量的计算机资源,但是没有使这些资源关于特定软件持续操作。此外,在软件被传送的情况下,所传送的数据本身遵守源代码(文本数据),以及与图像数据和移动图像数据相比,所涉及的数据量很小。鉴于这些特征,软件分析非常有助于朝向云计算(基于网络的计算机资源的有效利用)的最近趋势。出于这个原因,所认为的是,使用基于云的软件分析系统来分析源代码的应用将在未来得到广泛使用。这样的软件分析包括一个布置,其中客户端将源代码传送给服务器,以及服务器执行分析并且将分析结果发送回客户端(参见专利文献I);以及另一个布置,其中客户端生成质量测量数据并且将该数据传送给服务器,以及服务器基于该质量测量数据来生成评估数据并且将该评估数据发送回客户端(参见专利文献2)。另一方面,混淆(obfuscation)被认为是维护源代码的安全性的手段。出于阻碍第三方软件分析的目的,混淆通常将加扰形式应用到软件代码到将不会改变其行为的程度。例如,反向利用易于理解的名称附加到源代码描述中的实践来用难以理解的名称替代这些名称,从而使分析复杂化(参见专利文献3)。此外,存在用于以下的技术阻止包括在程序中的技术保密的泄漏(参见专利文献4) ...
【技术保护点】
一种包括客户端计算机和服务器计算机的计算机软件分析系统,其中所述客户端计算机包括:计算机软件混淆设备,所述计算机软件混淆设备用于使计算机软件混淆以经受分析;以及混淆的计算机软件传送设备,所述混淆的计算机软件传送设备用于将已由所述计算机软件混淆设备混淆的所述计算机软件传送给所述服务器计算机;以及所述服务器计算机包括:计算机软件分析设备,所述计算机软件分析设备用于对已从所述客户端计算机的所述混淆的计算机软件传送设备传送的所述混淆的计算机软件进行分析,并且生成混淆的分析结果数据;以及分析结果数据传送设备,所述分析结果数据传送设备用于将已由所述计算机软件分析设备生成的所述混淆的分析结果数据传送给所述客户端计算机;所述客户端计算机进一步包括:恢复设备,所述恢复设备用于将已从所述服务器计算机的所述分析结果数据传送设备传送的所述混淆的分析结果数据的至少部分恢复成在混淆之前占优的分析结果数据。
【技术特征摘要】
2011.09.14 JP 2011-2003401.一种包括客户端计算机和服务器计算机的计算机软件分析系统,其中所述客户端计算机包括计算机软件混淆设备,所述计算机软件混淆设备用于使计算机软件混淆以经受分析;以及混淆的计算机软件传送设备,所述混淆的计算机软件传送设备用于将已由所述计算机软件混淆设备混淆的所述计算机软件传送给所述服务器计算机;以及所述服务器计算机包括计算机软件分析设备,所述计算机软件分析设备用于对已从所述客户端计算机的所述混淆的计算机软件传送设备传送的所述混淆的计算机软件进行分析,并且生成混淆的分析结果数据;以及分析结果数据传送设备,所述分析结果数据传送设备用于将已由所述计算机软件分析设备生成的所述混淆的分析结果数据传送给所述客户端计算机;所述客户端计算机进一步包括恢复设备,所述恢复设备用于将已从所述服务器计算机的所述分析结果数据传送设备传送的所述混淆的分析结果数据的至少部分恢复成在混淆之前占优的分析结果数据。2.根据权利要求1所述的系统,其中所述客户端计算机包括输出设备,所述输出设备用于输出已由所述计算机软件混淆设备混淆的所述计算机软件。3.根据权利要求1所述的系统,其中所述客户端计算机进一步包括分析控制数据传送设备,所述分析控制数据传送设备用于将分析控制数据传送给所述服务器计算机,所述分析控制数据控制在所述服务器计算机的所述计算机软件分析设备中对所述混淆的计算机软件的分析;以及所述服务器计算机的所述计算机软件分析设备通过利用从所述客户端计算机的所述分析控制数据传送设备传送的所述分析控制数据来对所述混淆的计算机软件进行分析。4.根据权利要求3所述的系统,其中所述客户端计算机进一步包括指派设备,所述指派设备用于在所述分析控制数据中指派需要混淆的分析控制数据;以及分析控制数据混淆设备,所述分析控制数据混淆设备用于使所述指派设备所指派的所述分析控制数据混淆;以及所述客户端计算机的所述分析控制数据传送设备将所述分析控制数据混淆设备混淆的所述分析控制数据和尚未被混淆的所述分析控制数据中的至少一个传送给所述服务器计算机。5.根据权利要求1所述的系统,进一步包括分析结果控制数据输入设备,所述分析结果控制数据输入设备用于输入控制所述客户端计算机所接收到的所述分析结果数据的分析结果控制数据;以及分析结果数据控制设备,所述分析结果数据控制设备用于基于已从所述分析结果控制数据输入设备输入的所述分析结果控制数据,来控制所述混淆的分析结果数据或所述恢复设备所恢复的分析结果数据。6.根据权利要求1所述的系统,其中所述客户端计算机进一步包括混淆方法选择设备,所述混淆方法选择设备用于从多个混淆方法之中选择一个混淆方法;以及所述客户端计算机的所述计算机软件混淆设备通过所述混淆方法选择设备所选择的所述混淆方法来使所述计算机软件混淆。7.根据权利要求1所述的系统,其中所述客户端计算机的所述计算机软件混淆设备删除所述计算机软件的一部分或混入无关软件,并且使所述计算机软件的剩余部分混淆。8.根据权利要求1所述的系统,其中所述客户端计算机进一步包括分析项指派设备,所述分析项指派设备用于指派将由所述服务器计算机的所述计算机软件分析设备分析的项;混淆方法决定设备,所述混淆方法决定设备用于从多个混淆方法之中决定与所述分析项指派设备所指派的分析项相对应的混淆方法;以及可移除部分决定设备,所述可移除部分决定设备用于在基于由所述混淆方法决定设备所决定的所述混淆方法的混淆被执行的情况下,决定所述计算机软件中的可移除部分;以及所述客户端计算机的所述计算机软件混淆设备从所述计算机软件删除所述可移除部分决定...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。