一种防止软件被反调试的方法和系统与流程

文档序号:11156086阅读:474来源:国知局
一种防止软件被反调试的方法和系统与制造工艺

本发明涉及信息安全领域,尤其涉及一种防止软件被反调试的方法和系统。



背景技术:

随着计算机和入侵技术的不断发展,软件业在迅速壮大的同时面临的威胁也在与日俱增,软件开发者为了维护自身的利益,保护科研成果、技术和版权不被侵害,必须对软件进行防破解保护。同样,随着公民安全意识的全面提高,软件的使用者也越来越重视所购买的软件在使用过程中产生的涉及到自身的账户信息、交易数据和访问记录等敏感信息的安全性和软件反调试保护的有效性。

现有的软件反调试保护技术主要是通过本地硬件加密锁或加密锁虚拟机技术来实现程序保护,前者是一个具有程序处理和一定存储能力的硬件,使用成本高和便携性差使其应用场景受限,并且由于内置IC(Integrated Circuit,集成电路)指令不兼容X86指令,保护程序需要针对IC编译器单独设计,从而导致开发过程繁琐、可移植性差,对开发者要求也较高;而后者是通过对运行在X86系列计算机上的程序进行虚拟化映射转换来实现保护功能,但这些仍旧基于本地单机的保护方式对有联网通信要求的C/S(Client/Server,客户机/服务器)应用程序起到的保护非常有限。

图1示出了现有技术中实现防止软件反调试的架构的示意图。如图1所示,在单次运行生命周期内,其中,被保护软件进程101和加密锁虚拟机进程102位于客户端的User层(用户层),映射单元103和反映射单元104位于客户端的Kernel层(内核层)。被保护软件进程101将内存数据提交给映射单元103和反映射单元104,将加密 锁虚拟机进程102的output(输出)结果值返回给被保护软件进程101的过程中,由于缺少针对进程钩挂注入和进程寄存器及内存地址的反跟踪保护,导致仍旧可以被反调试工具跟踪调试和捕获、篡改内存数据。并且,由于加密锁虚拟机进程102生命周期小于等于被保护软件进程101,无法保留原始执行结果Hash特征值,导致无法进行再次校检和判定被保护软件进程101的内存是否存在被入侵和篡改的迹象、并且无法及时阻断入侵行为。同时,采用X86虚拟机保护方式导致执行效率降低和系统开销增大。

因此,需要更好的防止逆向调试和跟踪的技术,并不仅对客户端,而且还通过连接服务器的无缺性检查,以便提供更安全的运行环境。



技术实现要素:

本发明提供了一种防止软件被反调试的方法和系统,通过客户端和服务器联动来检测并阻止对软件进行入侵和破解的方法和系统,解决了如何判断客户端上运行的软件正在被调试,并能够阻止继续入侵的安全盲点,从而使攻击者动态反调试目标软件、试图破解其保护壳、篡改程序结构和执行数据的行为无法有效实施。

根据本发明的一个方面,提供了一种防止软件被反调试的方法,包括:

在服务器中的第一防止反调试模块与客户端中的第二防止反调试模块建立联动通道后,第一防止反调试模块通过联动通道周期性的向第二防止反调试模块发送反调试查询请求;

第二防止反调试模块根据反调试查询请求,查询是否存在调试行为,并将查询结果通过联动通道发送给第一防止反调试模块;

第一防止反调试模块根据查询结果,判断被保护软件的运行是否异常;

若判断被保护软件的运行异常,则第一防止反调试模块通过联动通道向第二防止反调试模块发送保护操作指示,以便第二防止反调试模块阻断任何调制行为,从而实现端到端联动安全保护。

在一个实施例中,服务器中的第一Hook拦截模块通过联动通道周期性的向客户端中的第二Hook拦截模块发送Hook查询请求;

第二Hook拦截模块根据Hook查询请求,查询是否存在与被保护软件相关联的Message Hook调用行为,并将查询结果通过联动通道发送给第一Hook拦截模块;

第一Hook拦截模块根据查询结果,判断被保护软件的运行是否异常;

若判断被保护软件的运行异常,则第一Hook拦截模块通过联动通道向第二Hook拦截模块发送保护操作指示,以便第二Hook拦截模块拦截与被保护软件相关联的Message Hook调用行为。

在一个实施例中,服务器中的第一内存入侵拦截模块通过联动通道周期性的向客户端中的第二内存入侵拦截模块发送内存入侵查询请求;

第二内存入侵拦截模块根据内存入侵查询请求,查询是否存在内存入侵行为,并将查询结果通过联动通道发送给第一内存入侵拦截模块;

第一内存入侵拦截模块根据查询结果,判断被保护软件的运行是否异常;

若判断被保护软件的运行异常,则第一内存入侵拦截模块通过联动通道向第二内存入侵拦截模块发送保护操作指示,以便第二内存入侵拦截模块对内存入侵行为进行拦截。

在一个实施例中,服务器中的第一防止文件篡改模块通过联动通道周期性的向客户端中的第二防止文件篡改模块发送文件篡改查询请求;

第二防止文件篡改模块根据文件篡改查询请求,查询与被保护软件相关的文件是否被篡改,并将查询结果通过联动通道发送给第一防止文件篡改模块;

第一防止文件篡改模块根据查询结果,判断被保护软件的运行是否异常;

若判断被保护软件的运行异常,则第一防止文件篡改模块通过联动通道向第二防止文件篡改模块发送保护操作指示,以便第二防止文件篡改模块锁定被篡改文件。

在一个实施例中,在联动通道中断时,第二防止文件篡改模块保存第二内存入侵拦截模块发送的查询结果,以便对被保护软件进行本地监护;

在联动通道重新建立后,第一防止反调试模块执行周期性地向第二防止反调试模块发送查询请求的步骤,以恢复端到端联动安全保护。

根据本发明的另一方面,提供了一种防止软件被反调试的装置,包括:服务器和客户端,服务器包括第一防止反调试模块,客户端包括第二防止反调试模块,其中:

第一防止反调试模块,用于在与第二防止反调试模块建立联动通道后,通过联动通道周期性的向第二防止反调试模块发送反调试查询请求;模块根据查询结果,判断被保护软件的运行是否异常;若判断被保护软件的运行异常,则通过联动通道向第二防止反调试模块发送保护操作指示;

第二防止反调试模块,用于根据反调试查询请求,查询是否存在调试行为,并将查询结果通过联动通道发送给第一防止反调试模块;根据保护操作指示阻断任何调制行为,从而实现端到端联动安全保护。

在一个实施例中,服务器还包括第一Hook拦截模块,客户端还包括第二Hook拦截模块,其中:

第一Hook拦截模块,用于通过联动通道周期性的向第二Hook拦截模块发送Hook查询请求;模块根据查询结果,判断被保护软件的运行是否异常;若判断被保护软件的运行异常,则通过联动通道向第二Hook拦截模块发送保护操作指示;

第二Hook拦截模块,用于根据Hook查询请求,查询是否存在与被保护软件相关联的Message Hook调用行为,并将查询结果通过 联动通道发送给第一Hook拦截模块;根据保护操作指示拦截与被保护软件相关联的Message Hook调用行为。

在一个实施例中,服务器还包括第一内存入侵拦截模块,客户端还包括第二内存入侵拦截模块,其中:

第一内存入侵拦截模块,用于通过联动通道周期性的向第二内存入侵拦截模块发送内存入侵查询请求;根据查询结果,判断被保护软件的运行是否异常;若判断被保护软件的运行异常,则通过联动通道向第二内存入侵拦截模块发送保护操作指示;

第二内存入侵拦截模块,用于根据内存入侵查询请求,查询是否存在内存入侵行为,并将查询结果通过联动通道发送给第一内存入侵拦截模块;根据保护操作指示对内存入侵行为进行拦截。

在一个实施例中,服务器还包括第一防止文件篡改模块,客户端还包括第二防止文件篡改模块,其中:

第一防止文件篡改模块,用于通过联动通道周期性的向第二防止文件篡改模块发送文件篡改查询请求;根据查询结果,判断被保护软件的运行是否异常;若判断被保护软件的运行异常,则通过联动通道向第二防止文件篡改模块发送保护操作指示;

第二防止文件篡改模块,用于根据文件篡改查询请求,查询与被保护软件相关的文件是否被篡改,并将查询结果通过联动通道发送给第一防止文件篡改模块;根据保护操作指示锁定被篡改文件。

在一个实施例中,第二防止文件篡改模块,还用于在联动通道中断时,保存第二内存入侵拦截模块发送的查询结果,以便对被保护软件进行本地监护;

第一防止反调试模块,还用于在联动通道重新建立后,执行周期性地向第二防止反调试模块发送查询请求的步骤,以恢复端到端联动安全保护。

本发明的一种防止软件被反调试的方法和系统,通过客户端和服务器联动来检测并阻止对软件进行入侵和破解的方法和系统,解决了如何判断客户端上运行的软件正在被调试,并能够阻止继续入侵的安 全盲点,从而使攻击者动态反调试目标软件、试图破解其保护壳、篡改程序结构和执行数据的行为无法有效实施。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中实现防止软件反调试的架构的示意图。

图2为本发明一种防止软件被反调试的方法的一个实施例的示意图。

图3为本发明一种防止软件被反调试的方法的另一个实施例的示意图。

图4为本发明一种防止软件被反调试的方法的又一个实施例的示意图。

图5为本发明一种防止软件被反调试的方法的一个实施例的示意图。

图6为本发明一种防止软件被反调试的系统的一个实施例的示意图。

图7为本发明一种防止软件被反调试的系统的另一个实施例的示意图。

图8为本发明的信息交互图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳 动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

图2为本发明一种防止软件被反调试的方法的一个实施例的示意图。优选的,本实施例的方法由本发明的防止软件被反调试的系统执行。如图2所示,本实施例的方法步骤如下:

步骤201,在服务器中的第一防止反调试模块与客户端中的第二防止反调试模块建立联动通道后,第一防止反调试模块通过联动通道周期性的向第二防止反调试模块发送反调试查询请求。

步骤202,第二防止反调试模块根据反调试查询请求,查询是否存在调试行为,并将查询结果通过联动通道发送给第一防止反调试模块。

步骤203,第一防止反调试模块根据查询结果,判断被保护软件的运行是否异常。

步骤204,若判断被保护软件的运行异常,则第一防止反调试模块通过联动通道向第二防止反调试模块发送保护操作指示,以便第二防止反调试模块阻断任何调制行为,从而实现端到端联动安全保护。

例如,当第一防止反调试模块查询出存在调试行为时,向第二防止反调试模块发送保护操作指示,第二防止反调试模块根据保护操作指示,触发Debug Interrupt Protection(调试中断保护)操作。

本发明的防止软件被反调试的方法通过客户端和服务器联动来检测并阻止对客户端软件的反调试,能够及时阻止入侵行为,有效保护软件。

图3为本发明一种防止软件被反调试的方法的另一个实施例的示意图。优选的,本实施例的方法由本发明的防止软件被反调试的系统执行。如图3所示,本实施例的方法步骤除上述步骤外,还包括:

步骤301,服务器中的第一Hook拦截模块通过联动通道周期性的向客户端中的第二Hook拦截模块发送Hook查询请求。

步骤302,第二Hook拦截模块根据Hook查询请求,查询是否 存在与被保护软件相关联的Message Hook调用行为,并将查询结果通过联动通道发送给第一Hook拦截模块。

步骤303,第一Hook拦截模块根据查询结果,判断被保护软件的运行是否异常。

步骤304,若判断被保护软件的运行异常,则第一Hook拦截模块通过联动通道向第二Hook拦截模块发送保护操作指示,以便第二Hook拦截模块拦截与被保护软件相关联的Message Hook调用行为。例如挂接OpenProcess,ReadProcessMemory,WriteProcessMemory等系统API,拦截对保护软件进程使用Windows的Message Hook功能。

可选的,在一个实施例中还包括图4所示的步骤,如下所示:

步骤401,服务器中的第一内存入侵拦截模块通过联动通道周期性的向客户端中的第二内存入侵拦截模块发送内存入侵查询请求。

步骤402,第二内存入侵拦截模块根据内存入侵查询请求,查询是否存在内存入侵行为,并将查询结果通过联动通道发送给第一内存入侵拦截模块。

步骤403,第一内存入侵拦截模块根据查询结果,判断被保护软件的运行是否异常。

步骤404,若判断被保护软件的运行异常,则第一内存入侵拦截模块通过联动通道向第二内存入侵拦截模块发送保护操作指示,以便第二内存入侵拦截模块对内存入侵行为进行拦截。

例如,第一内存入侵拦截模块和第二内存入侵拦截模块在服务器和客户端同步生成捕捉信息包,包含保留被保护软件进程的原始执行结果Hash(散列)特征值,内存堆栈和CPU(Central Processing Unit,中央处理器)寄存器信息,拦截在内核级别上直接跟踪内存、修改output(输出)结果值等非法入侵行为。当发生上述行为时,服务器的第一内存入侵拦截模块向第二内存入侵拦截模块发送保护操作指示,以便第二内存入侵拦截模块对内存入侵行为进行拦截。

可选的,在一个实施例中还包括图5所示的步骤,如下所示:

步骤501,服务器中的第一防止文件篡改模块通过联动通道周期性的向客户端中的第二防止文件篡改模块发送文件篡改查询请求。

步骤502,第二防止文件篡改模块根据文件篡改查询请求,查询与被保护软件相关的文件是否被篡改,并将查询结果通过联动通道发送给第一防止文件篡改模块。

步骤503,第一防止文件篡改模块根据查询结果,判断被保护软件的运行是否异常。

步骤504,若判断被保护软件的运行异常,则第一防止文件篡改模块通过联动通道向第二防止文件篡改模块发送保护操作指示,以便第二防止文件篡改模块锁定被篡改文件。

例如,第一防止文件篡改模块向第二防止文件篡改模块发送文件篡改查询请求,第二防止文件篡改模块根据文件篡改查询请求,监测客户端上所有保护程序文件是否被修改了内容或者文件命名,若发现则向客户端发送错误代码,并要求第二防止文件篡改模块锁定被篡改文件。

可选的,在联动通道中断时,第二防止文件篡改模块保存第二内存入侵拦截模块发送的查询结果,以便对被保护软件进行本地监护;在联动通道重新建立后,第一防止反调试模块执行周期性地向第二防止反调试模块发送查询请求的步骤,以恢复端到端联动安全保护。这样,即使在突发情况发生,联动通道中断时,客户端依然根据中断前接收的查询请求,查询被保护软件的运行情况,根据中断前的保护操作指示对被保护软件进行保护操作,以便对被保护软件进行本地监护。待联动通道恢复后,第一防止反调试模块恢复周期性的向第二防止反调试模块发送查询请求,恢复端到端联动安全保护。

上述实施例客户端中的第二防止反调试模块和第二Hook拦截模块位于客户端的Kernel层,第二内存入侵拦截模块和第二防止文件篡改模块位于User层,第二防止反调试模块和第二Hook拦截模块能够阻止攻击者通过Message Hook或者进程注入方式对被保护软件进程进行跟踪调试和篡改内存数据的入侵行为。

本发明的一种防止软件被反调试的方法,通过客户端和服务器联动来实时检测并阻止对软件进行入侵和破解的方法和系统,解决了如何判断客户端上运行的软件正在被调试,并能够阻止继续入侵的安全盲点,从而使攻击者动态反调试目标软件、试图破解其保护壳、篡改程序结构和执行数据的行为无法有效实施,同时显著降低了X86架构计算机使用防止软件被反调试的系统的难度。

图6为本发明一种防止软件被反调试的系统的一个实施例的示意图。包括:服务器601和客户端602,服务器601包括第一防止反调试模块6011,客户端602包括第二防止反调试模块6021,其中:

第一防止反调试模块6011用于在与第二防止反调试模块6021建立联动通道后,通过联动通道周期性的向第二防止反调试模块6021发送反调试查询请求;模块根据查询结果,判断被保护软件的运行是否异常;若判断被保护软件的运行异常,则通过联动通道向第二防止反调试模块6021发送保护操作指示;

第二防止反调试模块6021用于根据反调试查询请求,查询是否存在调试行为,并将查询结果通过联动通道发送给第一防止反调试模块6011;根据保护操作指示阻断任何调制行为,从而实现端到端联动安全保护。

例如,当第一防止反调试模块6011查询出存在调试行为时,向第二防止反调试模块6021发送保护操作指示,第二防止反调试模块6021根据保护操作指示,触发Debug Interrupt Protection操作。

本发明通过客户端和服务器联动来检测并阻止对客户端软件的反调试,有效保护软件不被恶意攻击者逆向分析与破解

图7为本发明的防止软件被反调试的系统的另一个实施例的示意图。如图7所示,包括服务器701中的第一防止反调试模块7011和客户端702中的第二防止反调试模块7021,分别与图6所示的服务器601中的第一防止反调试模块6011和客户端602中的第二防止反调试模块6021相同或类似。

可选的,服务器701还包括第一Hook拦截模块7012,客户端 702还包括第二Hook拦截模块7022,其中:

第一Hook拦截模块7012用于通过联动通道周期性的向第二Hook拦截模块7022发送Hook查询请求;模块根据查询结果,判断被保护软件的运行是否异常;若判断被保护软件的运行异常,则通过联动通道向第二Hook拦截模块7022发送保护操作指示;

第二Hook拦截模块7022用于根据Hook查询请求,查询是否存在与被保护软件相关联的Message Hook调用行为,并将查询结果通过联动通道发送给第一Hook拦截模块7012;根据保护操作指示拦截与被保护软件相关联的Message Hook调用行为。例如挂接OpenProcess,ReadProcessMemory,WriteProcessMemory等系统API,拦截对保护软件进程使用Windows的Message Hook功能。

可选的,服务器701还包括第一内存入侵拦截模块7013,客户端702还包括第二内存入侵拦截模块7023,其中:

第一内存入侵拦截模块7013用于通过联动通道周期性的向第二内存入侵拦截模块7023发送内存入侵查询请求;根据查询结果,判断被保护软件的运行是否异常;若判断被保护软件的运行异常,则通过联动通道向第二内存入侵拦截模块7023发送保护操作指示;

第二内存入侵拦截模块7023用于根据内存入侵查询请求,查询是否存在内存入侵行为,并将查询结果通过联动通道发送给第一内存入侵拦截模块7013;根据保护操作指示对内存入侵行为进行拦截。

例如,第一内存入侵拦截模块7013和第二内存入侵拦截模块7023在服务器701和客户端702同步生成捕捉信息包,包含保留被保护软件进程的原始执行结果Hash特征值,内存堆栈和CPU寄存器信息,拦截在内核级别上直接跟踪内存、修改output结果值等非法入侵行为。当发生上述行为时,第一内存入侵拦截模块7013向第二内存入侵拦截模块7023发送保护操作指示,以便第二内存入侵拦截模块7023对内存入侵行为进行拦截。

可选的,服务器701还包括第一防止文件篡改模块7014,客户端702还包括第二防止文件篡改模块7024,其中:

第一防止文件篡改模块7014用于通过联动通道周期性的向第二防止文件篡改模块7024发送文件篡改查询请求;根据查询结果,判断被保护软件的运行是否异常;若判断被保护软件的运行异常,则通过联动通道向第二防止文件篡改模块7024发送保护操作指示;

第二防止文件篡改模块7024用于根据文件篡改查询请求,查询与被保护软件相关的文件是否被篡改,并将查询结果通过联动通道发送给第一防止文件篡改模块7014;根据保护操作指示锁定被篡改文件。

例如,第一防止文件篡改模块7014向第二防止文件篡改模块7024发送文件篡改查询请求,第二防止文件篡改模块7024根据文件篡改查询请求,监测客户端702上所有保护程序文件是否被修改了内容或者文件命名,若发现存在上述行为,则向第二防止文件篡改模块7024发送错误代码,并要求第二防止文件篡改模块7024锁定被篡改文件。

可选的,第二防止文件篡改模块7024还用于在联动通道中断时,保存第二内存入侵拦截模块7023发送的查询结果,以便对被保护软件进行本地监护;第一防止反调试模块7011还用于在联动通道重新建立后,执行周期性地向第二防止反调试模块7021发送查询请求的步骤,以恢复端到端联动安全保护。这样,即使在突发情况发生,联动通道中断时,客户端702依然根据中断前接收的查询请求,查询被保护软件的运行情况,根据中断前的保护操作指示对被保护软件进行保护操作,以便对被保护软件进行本地监护。待联动通道恢复后,第一防止反调试模块7011恢复周期性的向第二防止反调试模块7021发送查询请求,恢复端到端联动安全保护。

上述实施例客户端中的第二防止反调试模块7021和第二Hook拦截模块7022位于客户端的Kernel层,第二内存入侵拦截模块7023和第二防止文件篡改模块7024位于User层,第二防止反调试模块7021和第二Hook拦截模块7022能够阻止攻击者通过Message Hook或者进程注入方式对被保护软件进程进行跟踪调试和篡改内存数据 的入侵行为。

本发明的一种防止软件被反调试的系统,通过客户端和服务器联动来实时检测并阻止对软件进行入侵和破解的方法和系统,解决了如何判断客户端上运行的软件正在被调试,并能够阻止继续入侵的安全盲点,从而使攻击者动态反调试目标软件、试图破解其保护壳、篡改程序结构和执行数据的行为无法有效实施,同时显著降低了X86架构计算机使用防止软件被反调试的系统的难度。

图8为本发明的信息交互图,如图8所示,并结合图2-图7,包括:

步骤801,服务器中的第一防止反调试模块与客户端中的第二防止反调试模块建立联动通道。例如,将第一防止反调试模块和第二防止反调试模块初始化,对于第一防止反调试模块,通过_CreateServerObject函数生成_SERVER_HANDLE用于建立联动通道。_SERVER_HANDLE将维持到进程监护的整个生命周期结束。对于第二防止反调试模块,将_CreateClientObject函数与Server Handle作为参数来生成_CLIENT_HANDLE。这个Handle(句柄)将维持到客户端与网络断开为止。

步骤802,服务器的向客户端发送查询请求。为了保证客户端被保护软件进程防破解的有效性,服务器中如图7所示的各模块发送相应的查询请求至客户端中对应的模块。查询请求将使用_MakeRequest函数来生成,并将Client Handle作为参数。

步骤803,客户端的如图7所示的各模块查询被保护软件的运行情况。

步骤804,客户端的各模块将查询结果发送给服务器相应的模块。其中,客户端中各模块响应服务器中相应模块的查询请求做出相应的应答,将查询结果通过_MakeResponse函数生成应答消息。

步骤805,服务器的各模块根据查询结果判断被保护软件的运行是否异常。例如,服务器可以首先通过_VerifyResponse函数来检查客户端的应答消息是否有效。然后在_VerifyResponse函数中发生除 _AntiDPCltStatus=x009(代表进程执行正常结束)以外的值时都判断为存在异常情况,即条件为真。

步骤806,若服务器中存在模块判断被保护软件的运行异常,则向客户端的相应模块发送保护操作指示。例如服务器中的第一防止反调试模块根据_AntiDPCltStatus的值,做出对应的_MakeRequest处理,即向客户端中的第二防止反调试模块发送保护操作指示。

步骤807,客户端的各模块根据保护操作指示进行保护操作。例如当发生内存入侵时,拦截在内核级别上直接跟踪内存、修改output(输出)结果值等非法入侵行为。当发生修改文件内容或文件名时,锁定被篡改文件。检测并阻断所有调试器的任何调试,当发现视图调试特征时,触发Debug Interrupt Protection操作。当发生与被保护软件相关联的Message Hook调用行为时,拦截对保护软件进程使用Windows的Message Hook功能。

本发明的一种防止软件被反调试的方法和系统,通过客户端和服务器端到端联动来实时检测并阻止对软件进行入侵和破解的方法和系统,解决了如何判断客户端上运行的软件正在被调试,并能够阻止继续入侵的安全盲点,从而使攻击者动态反调试目标软件、试图破解其保护壳、篡改程序结构和执行数据的行为无法有效实施,同时显著降低了X86架构计算机使用防止软件被反调试的系统的难度。本发明还能够使软件开发者自身的利益,科研成果、技术和版权不被侵害。对于软件的使用者在使用软件过程中产生的涉及到自身的账户信息、交易数据和访问记录等敏感信息,能够提供更好的防窃取保护,维护每位软件使用者享有公平、有序的资源使用机会的权利。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技 术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1