CN102272738B - 分离地执行软件的方法、装置和计算机可读记录介质 - Google Patents

分离地执行软件的方法、装置和计算机可读记录介质 Download PDF

Info

Publication number
CN102272738B
CN102272738B CN2009801533458A CN200980153345A CN102272738B CN 102272738 B CN102272738 B CN 102272738B CN 2009801533458 A CN2009801533458 A CN 2009801533458A CN 200980153345 A CN200980153345 A CN 200980153345A CN 102272738 B CN102272738 B CN 102272738B
Authority
CN
China
Prior art keywords
software
attribute information
module
carrying
scoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009801533458A
Other languages
English (en)
Other versions
CN102272738A (zh
Inventor
权五絪
南基善
金玟锡
金星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sk Planti Co Ltd
Original Assignee
SK Planet Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Planet Co Ltd filed Critical SK Planet Co Ltd
Publication of CN102272738A publication Critical patent/CN102272738A/zh
Application granted granted Critical
Publication of CN102272738B publication Critical patent/CN102272738B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及分离地执行软件的方法以及装置。本发明提供了一种可以分离地执行软件的方法,该方法包括以下步骤:通过静态二进制分析或运行时评测(即,动态分析)分析控制流、数据流、和模块结构,以从特定软件中区分出重要模块;从软件的主体中分离出该模块;将该模块储存在具有安全执行环境的智能卡中;将其中所述模块已由接口代码取代的经过修改的软件的主体存储在用户终端中;并在使用软件时共同处理用户终端和智能卡,从而只在智能卡已与用户终端耦接时才执行软件。本发明还提供了一种装置。本发明有效地减轻了软件开发公司有关于引入复制保护工具的负担。

Description

分离地执行软件的方法、装置和计算机可读记录介质
技术领域
本公开涉及软件共享执行的方法、系统和计算机可读记录介质。更具体地,本公开涉及这样的软件共享执行的方法、系统和计算机可读介质,其包括:通过静态二进制分析和运行时评测(即,动态分析)来对软件控制流、数据流、和模块结构进行分析以标识特定软件的主要模块,将所述模块从软件主体分离,以将其储存在智能卡的安全环境中,并且在用户终端中存储其中删除了已被标识的模块并用接口代码取代已被标识的模块的主体,由此,在用户侧利用同该用户终端相接合的智能卡共同处理软件,从而排他性地允许软件的执行。
背景技术
软件一般是直接以包括CD-ROM和DVD-ROM的介质离线销售,或消费者通过软件制造商的网络渠道付费下载。为了使软件的购买者/用户安装该产品并使用它,需要在个人终端输入一个被提供的软件认证CD密钥,借此软件制造商合法授权使用该产品。
然而,由于CD密钥以一般文本的形式裸露,因此它们不由自主地随着CD-ROM内容,通过不受约束的服务一次又一次复制给了非法的第三方。无需费心寻找CD密钥,他们能够采用额外的非法CD密钥生成程序或破解方法进入CD密钥认证程序本身来最终破解合法复制认证过程,甚至通过P2P网站无法控制地在人群中散布,从而对许多保护软件版权的努力造成了致命打击。
有一种防范措施,在CD-ROM或DVD-ROM特定轨道上提供认证信息,该认证信息用来专门地允许所存储程序的操作,其在用户终端中有效地引入了合法介质的物理存在,但已找到了一种破解方法能从软件主体内删除有关认证的部分,有力地打击了这种保护。
对此,提供了一种附装到打印机端口或USB端口的额外的硬件设备,使得检查其存在性或安排该设备来存储加密/解密密钥值和算法,直至加密代码在软件执行中被解码。然而,在执行的软件加载到终端存储器中之前即被解码的结构局限,使得经常可以绕过保护机制将软件破解,并且提供了一个开放的机会,即使是非专业的一般公众也可使用可获得的自动破解工具来实际上做出对复制保护技术的侵害,软件愈受欢迎,这种侵害愈加严重。此外,虚拟机被用来试图阻挠逆向工程尝试和保护软件认证密钥的识别逻辑,但历史表明了自动破解工具实际能进行破解并且已得到散播。
发明内容
技术问题
本公开旨在通过提供用于软件共享执行的方法、系统和计算机可读介质来防止非法复制软件,该用于软件共享执行的方法、系统和计算机可读介质仅当智能卡同用户终端的接合时才允许运行软件。
技术方案
为了实现该目的,本公开提供了一种用于软件共享执行的系统,该系统包括:分析器,其识别所述软件的控制流、数据流、和模块结构中的一项;评测器(profiler),其为所述软件的各个模块标记所述软件的执行状态和属性信息;评估器,其基于所述属性信息和用户反馈为经评测的功能模块评分;提取器,其从所述软件的主体中分离出在所述评估器中评分最高的模块;以及接口,其插入输入/输出接口代码以将从所述软件的主体中分离出的模块与用户终端二进制代码连接起来。
本公开的另一实施方式提供了一种用于软件共享执行的方法,该方法包括以下步骤:识别步骤,识别所述软件的控制流、数据流、和模块结构中的一项;标记步骤,为所述软件的各个模块标记所述软件的执行状态和属性信息;评分步骤,基于所述属性信息和用户反馈为经评测的功能模块评分;分离步骤,从所述软件的主体中分离出在所述评分步骤中评分最高的模块;以及插入步骤,插入输入/输出接口代码以将从所述软件的主体中分离出的模块与用户终端二进制代码连接起来。
本公开的又一实施方式提供了一种用于软件共享执行的计算机可读记录介质,该计算机可读记录介质编码有在计算机上实现了上述软件共享执行的方法的各个步骤的计算机程序。
有益效果
根据上述的本公开,与现有的软件防复制技术形成了鲜明的对比,其代码是被物理上更安全的智能卡格式所保护的,排除了被逆向工程破解成未经授权的软件的可能性。此外,本公开实现了在智能卡和用户终端之间的客户-服务器类型的共同处理方案中的防复制,因此避免了必须依赖受制于可能具有不确定的效用且导致了复杂性的系统架构或某些编码/解码方法的反调试技术,由此向软件产业提供了一种更简便易行的抗破解技术。而且,本公开解决了与出于用加密狗(dongle)或光学介质来保护数据通信和检测逆向工程工具等目的而安装的额外功能相关的故障。
附图说明
图1是根据本公开的一个实施方式的用于软件共享执行的系统的示意性框图;和
图2是示出根据本公开一个实施方式的用于软件共享执行的方法的流程图。
具体实施方式
下文中将参照附图描述本公开的示例性实施方式。在下面的描述中,相同的要素将由相同的附图标记表示,虽然它们在不同的附图中出现。此外,在以下对本公开的描述中,当这里所引入的关于已知的功能和构造的详细描述可能使本公开的主题相当不明确的时候,它们会被省略。
此外,在描述本公开的组件时,可能会使用一些诸如第一、第二、A、B、(a)、和(b)之类的术语。这些仅是为了将组件彼此区分开,而不是暗示或暗含组件的实质、顺序或序列。如果一个组件被描述为“连接”、“耦接”、或“链接”到另一个组件,它可能意味着该组件不仅直接地“连接”、“耦接”、或“链接”,还可以间接地经由第三个组件“连接”、“耦接”、或“链接”。
现参照图1,其示出了根据本公开的实施方式的用于软件共享执行的系统100的示意性框图。
软件共享执行系统100可包括:分析器110、评测器120、评估器130、提取器140、接口150、转换器160和验证器170。
在此实施方式中,分析器110、评测器120、评估器130、提取器140、接口150、转换器160、和验证器170被具体描述为构成软件共享执行系统100,虽然其组件或组成可根据不同的应用而改变和改进。
分析器110利用通过语义分析或具有在反汇编的目标代码中或其源文件状态中建立的二进制文件的解释器进行的抽象操作(近似于输入数据和控制流的执行)(简言之,通过语义分析)、或通过在注入和实际执行用于跟踪处于其源状态或为二进制代码的对象软件的功能模块的跟踪代码的过程中建立日志(简言之,通过动态分析),来调查对象软件产品的控制流、数据流、和模块结构。为了监视软件运行或通过预测来对软件进行分析,分析器110使用通过动态代码注入或源的变化、运行时调试器、虚拟机、和抽象执行解释器实现的至少一个仪器来预测执行状态。同时,本公开的分析器110可在不背离本公开的本质特征的情况下通过仪器实现。该仪器可通过执行检索软件的二进制代码、然后注入用于跟踪功能模块的跟踪代码的功能来实现。
评测器120用于为软件的各个模块生成软件的执行状态和属性信息标签。评测器120可在不背离本公开的本质特征的情况下通过执行生成跟踪日志信息的功能来实现,其中通过运行软件并在软件的各个过程中为每个日志创建一个标签而生成跟踪日志信息。
评估器130基于属性信息和用户反馈执行对经评测的功能模块的评分。评估器130执行根据输入/输出动态属性信息、达到特定的进展状态所必需的元素是否存在的属性信息、堆栈使用、存储器引用次数属性信息、架构特定指令是否被使用的属性信息、使用频率属性信息、使用时间点属性信息、执行负荷属性信息、控制流属性信息、模块中的独立变量的数量的属性信息、和在共享执行中的执行延迟时间的属性信息中的至少一项来计算评分的功能。评估器130可在不背离本公开的本质特征的情况下通过执行将基于特定属性信息计算的评分分配给经评测的功能模块的功能来实现。此外,评估器130可以通过根据输入/输出动态属性信息、代码运行时负荷属性信息、达到特定的进展状态所必需的元素是否存在的属性信息、存储器引用次数属性信息、架构特定指令是否被使用的属性信息、和使用频率属性信息中的至少一项计算评分来实现。
提取器140的功能是从软件主体中分离出在评估器130中评分最高的模块。在这一分离过程中,提取器140不分离架构特定指令使用信息和系统调用的组件。当阻止分离架构特定指令使用信息和系统调用的组件时,可在不背离本公开的本质特征的情况下通过整体分离评估器130中评分最高的功能模块来实现提取器140。
接口150通过智能卡将诸如堆栈压入/弹出、寄存器变量等的代码模块间输入/输出替换为远程过程调用。这里,用户终端指的是配备了包括用于计算、控制、和存储软件的存储器和用于执行程序以进行计算和控制的微处理器的装置的终端,并且其可以是个人计算机(PC)、膝上型或笔记本式计算机、个人数字助理(PDA)、和移动通信终端之一。接口150可在不背离本公开的本质特征的情况下通过执行插入用于将整体分离的功能模块和用户终端的二进制代码连接起来的输入/输出接口代码的功能而实现。此外,接口150可被实现为将通过堆栈压入/弹出的输入/输出替换为USB输入/输出。
转换器160用于利用根据智能卡的架构插入的接口代码来转换功能模块的指令集。在这里,智能卡可指的是安装有IC芯片的塑料卡,以通过提供的包括微处理器、卡操作系统、安全模块、和存储器的装置而处理具体任务。验证器170执行验证在转换器160中转换的代码以验证该转换器正常工作的功能。
同时,用于软件共享执行的系统100可额外包括用于虚拟地操作异构架构的仿真器。
现在参照图2,流程图例示了根据一个实施方式的用于软件共享执行的方法。
在步骤S210,该分析器110分析对象软件产品的控制流、数据流、和模块结构。如果分析器110在不背离本公开的本质特征的情况下由仪器单元来实现,则该仪器可检索软件的二进制代码而后注入用于跟踪功能模块的跟踪代码。
在步骤S220,评测器120用于为软件的各个模块生成软件的执行状态和属性信息标签。评测器120可在不背离本公开的本质特征的情况下通过执行生成跟踪日志信息的功能来实现,其中通过运行软件并在软件的各个过程中为每个日志创建一个标签来生成跟踪日志信息。接下来,在步骤S230,评估器130执行根据输入/输出动态属性信息、达到特定的进展状态所必需的元素是否存在的属性信息、堆栈使用、存储器引用次数属性信息、架构特定指令是否被使用的属性信息、模块中的独立变量的数量属性信息、执行时间属性信息、计算量属性信息、和使用频率属性信息中的至少一项来计算评分的功能。此外,评估器130可以通过根据输入/输出动态属性信息、代码运行时负荷属性信息、达到特定的进展状态所必需的元素是否存在的属性信息、存储器引用次数属性信息、架构特定指令是否被使用的属性信息、和使用频率属性信息中的至少一项计算评分来实现。
在步骤S240,提取器140用于从软件主体中分离出在评估器130中评分最高的模块。在这一分离过程中,提取器140不分离架构特定指令使用信息和系统调用的组件。
在步骤S250,接口150插入用于将整体分离的功能模块和用户终端的二进制代码连接起来的输入/输出接口代码。例如,接口150将诸如堆栈压入/弹出、寄存器变量等模块间的输入/输出替换为远程过程调用。接口150可在不背离本公开的本质特征的情况下通过插入用于将整体分离的功能模块和用户终端的二进制代码连接起来的输入/输出接口代码来实现。即,接口150可以用USB输入/输出代替通过堆栈压入/弹出的输入/输出。
在步骤S260,转换器160利用根据智能卡架构插入的接口代码来转换功能模块的指令集。最后,在步骤S270中,验证器170通过与源代码同时执行在转换器160中转换的代码以验证在转换器160中转换的代码的正常工作来验证在转换器160中转换的代码。验证器170可在不背离本公开的本质特征的情况下通过执行在转换器160中转换的代码以验证其正常工作来实现。
尽管图2通过按数字顺序从S210至S270的步骤例示了软件共享执行的方法,但是这仅说明了该实施方式的技术思路,并且本领域技术人员将会理解,在本实施方式的本质特征的范围内,软件共享执行的方法可以执行由图2的例示改进而来的步骤顺序,或者同时地或不将图2限制于连续顺序地执行从S210至S270中选择的一个或更多个步骤。
如上所述,所公开的实施方式中的软件共享执行的方法可在计算机程序上实现并在计算机可读记录介质中提供。
对实现了软件共享执行的方法的各个步骤的计算机程序进行编码的计算机可读记录介质可包括任何类型的用于记录计算机可读数据的记录设备。
计算机可读记录介质的示例包括ROM、RAM、CD-ROM、磁带、软盘、和光学数据存储器,并且还包括以载波来实现(例如通过互联网传送)。此外,计算机可读记录介质可以被提供于分布式处理系统中,在该分布式处理系统中计算机系统联网以在分布的位置存储并执行计算机可读代码。
此外,熟悉本领域的程序员可容易地推导出实现实施方式的功能程序、代码和代码段。
在上面的描述中,虽然本公开的实施方式的所有组件可能都已被解释为组装成或可操作地连接为一个单元,但是本公开不是意图将其自身限制为这种实施方式。而是,在本公开的目标范围内,各个组件可以是有选择及可操作地以任意数量组合。而且,每一个组件本身均可以以硬件实现,而同时各组件可以被选择性地组合为部分或整体,并且在具有用于执行硬件等同功能的程序模块的计算机程序中实现。本领域技术人员可以容易地推导出构成这样的程序的代码或代码段。计算机程序可以存储在计算机可读介质中,该计算机可读介质在操作中可以实现本公开的实施方式。候选计算机可读介质包括磁记录介质、光学记录介质、和载波介质。
而且,除非特别定义为相反的含义,像“包括”、“包含”、和“具有”之类的术语应被默认解释为包容的或开放的而非排他的或封闭的。除非另有定义,所有技术的、科学或其他方面的术语与本领域技术人员所理解的含义一致。除非本公开明确地对术语进行定义,它们在词典找到中的常用术语应在相关技术文献上下文范围内进行解释,而不要太理想化或不切实际地进行解释。
虽然出于说明的目的已经对本公开的示例性实施方式进行了描述,但是本领域技术人员将会意识到在不背离本公开的范围和精神的情况下可以进行各种修改、补充和替换。因此,对本公开的示例性实施方式进行的描述并非出于限制目的。因此,本公开的范围不受以上的实施方式限制,而是由其权利要求及其等同物限定。
工业实用性
本公开在可专门由智能卡附件执行的各种应用中是有用的,尤其是,对于以在诸如PC之类的开放的计算环境和诸如智能卡之类的封闭的计算环境之间共享执行的方式运行软件有用。
相关申请的交叉引用
本申请基于35U.S.C§119(a)要求有关在韩国于2008年12月29日提交的编号为10-2008-0135308的专利申请的优先权,其全部内容以引证的方式合并于此。此外,这个非临时申请基于该韩国专利申请以相同理由要求除了美国外的其他国家的优先权,其全部内容以引证的方式合并于此。

Claims (6)

1.一种用于软件共享执行的系统,该系统包括:
分析器,其识别所述软件的控制流、数据流、和模块结构中的一项;
评测器,其为所述软件的各个模块标记所述软件的执行状态和属性信息;
评估器,其基于所述属性信息和用户反馈为经评测的功能模块评分;
提取器,其从所述软件的主体中分离出在所述评估器中评分最高的模块;以及
接口,其插入输入/输出接口代码以将从所述软件的主体中分离出的模块与用户终端二进制代码连接起来。
2.根据权利要求1所述的用于软件共享执行的系统,该系统还包括:转换器,该转换器利用根据智能卡的架构插入的接口代码来转换所述功能模块的指令集;以及仿真器,该仿真器虚拟地操作异构架构。
3.根据权利要求1所述的用于软件共享执行的系统,其中,所述评估器基于输入/输出动态属性信息、达到特定的进展状态所必需的元素是否存在的属性信息、堆栈使用、存储器引用次数属性信息、架构特定指令是否被使用的属性信息、使用频率属性信息、使用时间点属性信息、执行负荷属性信息、控制流属性信息、模块中的独立变量的数量的属性信息、和在共享执行中的执行延迟时间的属性信息中的至少一项来执行评分。
4.根据权利要求1所述的用于软件共享执行的系统,其中,所述提取器在从所述软件中分离出评分最高的功能模块的过程中,不分离架构特定指令使用信息和系统调用的组件。
5.根据权利要求1所述的用于软件共享执行的系统,其中,为了预测执行状态,所述软件包括通过动态代码注入、运行时调试器、虚拟机、和抽象执行解释器实现的至少一个仪器的软件。
6.一种用于软件共享执行的方法,该方法包括以下步骤:
识别步骤,识别所述软件的控制流、数据流、和模块结构中的一项;
标记步骤,为所述软件的各个模块标记所述软件的执行状态和属性信息;
评分步骤,基于所述属性信息和用户反馈为经评测的功能模块评分;
分离步骤,从所述软件的主体中分离出在所述评分步骤中评分最高的模块;以及
插入步骤,插入输入/输出接口代码以将从所述软件的主体中分离出的模块与用户终端二进制代码连接起来。
CN2009801533458A 2008-12-29 2009-12-21 分离地执行软件的方法、装置和计算机可读记录介质 Expired - Fee Related CN102272738B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2008-0135308 2008-12-29
KR1020080135308A KR101049718B1 (ko) 2008-12-29 2008-12-29 소프트웨어 분리 실행 방법, 장치 및 컴퓨터로 읽을 수 있는 기록매체
PCT/KR2009/007648 WO2010077000A2 (ko) 2008-12-29 2009-12-21 소프트웨어 분리 실행 방법, 장치 및 컴퓨터로 읽을 수 있는 기록매체

Publications (2)

Publication Number Publication Date
CN102272738A CN102272738A (zh) 2011-12-07
CN102272738B true CN102272738B (zh) 2013-11-13

Family

ID=42310327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801533458A Expired - Fee Related CN102272738B (zh) 2008-12-29 2009-12-21 分离地执行软件的方法、装置和计算机可读记录介质

Country Status (6)

Country Link
US (1) US9454456B2 (zh)
EP (1) EP2383653A2 (zh)
JP (1) JP5346386B2 (zh)
KR (1) KR101049718B1 (zh)
CN (1) CN102272738B (zh)
WO (1) WO2010077000A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2405958A (en) * 2003-08-20 2005-03-16 Macrovision Europ Ltd Code obfuscation and controlling a processor by emulation
US8752035B2 (en) 2011-05-31 2014-06-10 Microsoft Corporation Transforming dynamic source code based on semantic analysis
US8789018B2 (en) 2011-05-31 2014-07-22 Microsoft Corporation Statically derived symbolic references for dynamic languages
US9256401B2 (en) 2011-05-31 2016-02-09 Microsoft Technology Licensing, Llc Editor visualization of symbolic relationships
US8555250B2 (en) * 2011-05-31 2013-10-08 Microsoft Corporation Static semantic analysis of dynamic languages
US8543841B2 (en) * 2011-06-30 2013-09-24 Oracle International Corporation Secure hosted execution architecture
US9081588B2 (en) * 2012-01-31 2015-07-14 Mentor Graphics Corporation Execution time profiling for interpreted programming languages
US9542176B2 (en) * 2012-08-20 2017-01-10 Microsoft Technology Licensing, Llc Predicting software build errors
US8954939B2 (en) 2012-12-31 2015-02-10 Microsoft Corporation Extending a development environment
US9239710B2 (en) * 2013-03-15 2016-01-19 ArtinSoft Corporation Programming language transformations with abstract syntax tree extensions
WO2016122336A1 (en) * 2015-01-26 2016-08-04 Nord-Systems Sp. Z O.O. Method of storing and processing data with the use of artificial neural networks
CN106203002B (zh) * 2015-05-06 2019-09-03 朗新科技股份有限公司 软件产品保护方法
US11516234B1 (en) * 2019-07-08 2022-11-29 Cisco Technology, Inc. In-process correlation through class field injection
CN111163066A (zh) * 2019-12-16 2020-05-15 苏州哈度软件有限公司 一种基于云计算的网络安全软件系统
CN114858206A (zh) * 2022-03-01 2022-08-05 中国商用飞机有限责任公司北京民用飞机技术研究中心 航空电机检测方法、装置、计算机设备及存储介质
CN116320720B (zh) * 2023-05-08 2023-09-29 南京芯驰半导体科技有限公司 一种图像处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892307B1 (en) * 1999-08-05 2005-05-10 Sun Microsystems, Inc. Single sign-on framework with trust-level mapping to authentication requirements
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
CN100507797C (zh) * 1999-01-22 2009-07-01 太阳微系统公司 采用文本屏障在小型注脚设备上实施安全的技术

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO302388B1 (no) * 1995-07-13 1998-02-23 Sigurd Sigbjoernsen Fremgangsmåte og anordning for å beskytte programvare mot bruk uten tillatelse
PT885417E (pt) * 1996-02-09 2002-11-29 Digital Privacy Inc Sistema de controlo/criptografia de acesso
US6308270B1 (en) * 1998-02-13 2001-10-23 Schlumberger Technologies, Inc. Validating and certifying execution of a software program with a smart card
JP3449256B2 (ja) 1998-10-29 2003-09-22 日本電気株式会社 クライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体
US7200842B1 (en) 1999-02-02 2007-04-03 Sun Microsystems, Inc. Object-oriented instruction set for resource-constrained devices
US6609198B1 (en) 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
US6813693B2 (en) * 2000-12-11 2004-11-02 Microsoft Corporation System and method for the discovery and use of repetitively accessed data
US7313814B2 (en) * 2003-04-01 2007-12-25 Microsoft Corporation Scalable, error resilient DRM for scalable media
US7369982B2 (en) * 2003-06-04 2008-05-06 Stmicroelectronics, Inc. Multi-mode smart card emulator and related methods
ATE447285T1 (de) * 2004-02-03 2009-11-15 Sandisk Secure Content Solutio Schutz von digitalem dateninhalt
JP4664055B2 (ja) * 2004-12-10 2011-04-06 株式会社エヌ・ティ・ティ・ドコモ プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
JP4572121B2 (ja) 2005-01-31 2010-10-27 株式会社シーイーシー ソフトウェア開発支援装置およびソフトウェア開発支援用プログラム
US7942325B2 (en) * 2008-01-29 2011-05-17 Research In Motion Limited Optimized smart card driver performance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100507797C (zh) * 1999-01-22 2009-07-01 太阳微系统公司 采用文本屏障在小型注脚设备上实施安全的技术
US6892307B1 (en) * 1999-08-05 2005-05-10 Sun Microsystems, Inc. Single sign-on framework with trust-level mapping to authentication requirements
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法

Also Published As

Publication number Publication date
US20110271260A1 (en) 2011-11-03
CN102272738A (zh) 2011-12-07
WO2010077000A3 (ko) 2010-09-16
JP2012514267A (ja) 2012-06-21
US9454456B2 (en) 2016-09-27
WO2010077000A2 (ko) 2010-07-08
KR101049718B1 (ko) 2011-07-19
EP2383653A2 (en) 2011-11-02
JP5346386B2 (ja) 2013-11-20
KR20100077385A (ko) 2010-07-08

Similar Documents

Publication Publication Date Title
CN102272738B (zh) 分离地执行软件的方法、装置和计算机可读记录介质
Shafieinejad et al. On the robustness of backdoor-based watermarking in deep neural networks
Bonfante et al. Codisasm: Medium scale concatic disassembly of self-modifying binaries with overlapping instructions
Carmony et al. Extract Me If You Can: Abusing PDF Parsers in Malware Detectors.
Zhang et al. A first step towards algorithm plagiarism detection
Wang et al. Checksum-aware fuzzing combined with dynamic taint analysis and symbolic execution
Li et al. ModelDiff: Testing-based DNN similarity comparison for model reuse detection
Hachez A comparative study of software protection tools suited for e-commerce with contributions to software watermarking and smart cards
CN105683990A (zh) 用于保护动态库的方法和装置
CN101477610B (zh) 源码和目标码联合嵌入的软件水印方法
CN101568927A (zh) 混淆计算机程序代码
Tian et al. DKISB: Dynamic key instruction sequence birthmark for software plagiarism detection
CN107077540B (zh) 用于提供基于云的应用安全服务的方法和系统
Cimitile et al. Formal methods meet mobile code obfuscation identification of code reordering technique
CN100468431C (zh) 一种自动绑定移动设备的数字作品下载方法
WO2008144218A1 (en) Transformations for software obfuscation and individualization
CN103065072A (zh) 提高Java软件破解难度的方法及装置、版权验证方法
CN105653905A (zh) 一种基于api安全属性隐藏与攻击威胁监控的软件保护方法
CN102592080A (zh) flash恶意文件检测方法及装置
CN103577323A (zh) 基于动态关键指令序列胎记的软件抄袭检测方法
Rothbart et al. High level fault injection for attack simulation in smart cards
US20140123283A1 (en) Detection of heap spraying by flash with an actionscript emulator
CN108830049A (zh) 一种基于动态控制流图权重序列胎记的软件相似性检测方法
Alrahis et al. Embracing graph neural networks for hardware security
Zhang et al. Protecting function pointers in binary

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SK PLANET CO., LTD.

Free format text: FORMER OWNER: SK TELECOMMUNICATION CO., LTD.

Effective date: 20120627

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120627

Address after: Seoul, Korea

Applicant after: SK Planti Co., Ltd.

Address before: Seoul, South Kerean

Applicant before: SK Telecommunication Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131113

Termination date: 20201221