CN110378084B - 应用程序保护方法、装置、计算机设备及存储介质 - Google Patents

应用程序保护方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110378084B
CN110378084B CN201910665074.XA CN201910665074A CN110378084B CN 110378084 B CN110378084 B CN 110378084B CN 201910665074 A CN201910665074 A CN 201910665074A CN 110378084 B CN110378084 B CN 110378084B
Authority
CN
China
Prior art keywords
function
application program
target application
functions
target
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.)
Active
Application number
CN201910665074.XA
Other languages
English (en)
Other versions
CN110378084A (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.)
Beijing Dingxiang Technology Co ltd
Original Assignee
Beijing Dingxiang Technology 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 Beijing Dingxiang Technology Co ltd filed Critical Beijing Dingxiang Technology Co ltd
Priority to CN201910665074.XA priority Critical patent/CN110378084B/zh
Publication of CN110378084A publication Critical patent/CN110378084A/zh
Application granted granted Critical
Publication of CN110378084B publication Critical patent/CN110378084B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种应用程序保护方法、装置、计算机设备及存储介质,涉及计算机应用程序保护技术领域。该方法包括:获取目标应用程序的函数集;从所述目标应用程序的函数集中确定启动函数;根据所述启动函数,确定所述目标应用程序的函数集中所述启动函数之外的其他函数为目标函数;对所述目标函数进行保护编译。在对应用程序进行保护时,通过将应用程序对应的启动函数之外的其他函数作为该应用程序的保护范围,有效避免了对应用程序的启动函数的保护,一方面有效的对应用程序进行了保护,提高了应用程序的保护准确度,提高了应用程序的性能;另一方面,也保证了应用程序的正常启动。

Description

应用程序保护方法、装置、计算机设备及存储介质
技术领域
本发明涉及计算机应用程序保护技术领域,具体而言,涉及一种应用程序保护方法、装置、计算机设备及存储介质。
背景技术
随着反逆向技术的发展,使用标准指令集运行程序很容易被逆向破解,因此出现了出现大量的基于自定义虚拟机执行方式,对原指令经行转换,成为自定义指令。然后以自定义解析器解析执行自定义指令,这样,由于指令是自定义的,要逆向一个应用,首先要逆向出解释器与指令,大大增大了逆向的难度,避免了程序被轻易破解。
由于上述自定义指令存在的复杂性,导致指令解析较慢,应用运行时存在明显的性能损失。因此大部分情况下无法做到整个应用全保护,而是采取挑选保护范围的方法进行应用的部分保护。现有技术中,通常是从应用程序中的函数中随机挑选函数作为目标保护函数。
但是,上述方法会使得对应用程序的函数保护不准确,从而影响应用程序的性能,用户体验较差。
发明内容
有鉴于此,本申请实施例的目的在于提供一种应用程序保护方法、装置、计算机设备及存储介质,用于解决现有技术中存在的应用程序中函数保护不准确的问题。
第一方面,本申请实施例提供了一种应用程序保护方法,该方法包括:
获取目标应用程序的函数集;
从所述目标应用程序的函数集中确定启动函数;
根据所述启动函数,确定所述目标应用程序的函数集中所述启动函数之外的其他函数为目标函数;
对所述目标函数进行保护编译。
可选地,所述确定目标应用程序的函数集,包括:
采用虚拟机对所述目标应用程序的执行指令进行解析,得到所述目标应用程序的函数集。
可选地,所述从所述目标应用程序的函数集中确定启动函数,包括:
采用所述虚拟机对所述目标应用程序的函数集中的函数进行运行,直至所述目标应用程序启动完成,以使得所述虚拟机收集所述目标应用程序在启动过程中的所述启动函数。
可选地,所述根据所述启动函数,确定所述目标应用程序的函数集中所述启动函数之外的其他函数为目标函数,包括:
对所述启动函数和所述目标应用程序的函数集进行差集处理,以确定所述其他函数;
将所述其他函数确定为所述目标函数。
第二方面,本申请实施例提供了一种应用程序保护装置,包括:获取模块、解析模块、计算模块、编译模块;
所述获取模块,用于获取目标应用程序的函数集;
所述解析模块,用于从所述目标应用程序的函数集中确定启动函数;
所述计算模块,用于根据所述启动函数,确定所述目标应用程序的函数集中所述启动函数之外的其他函数为目标函数;
所述编译模块,用于对所述目标函数进行保护编译。
可选地,所述获取模块,具体用于采用虚拟机对所述目标应用程序的执行指令进行解析,得到所述目标应用程序的函数集。
可选地,所述解析模块,具体用于采用所述虚拟机对所述目标应用程序的函数集中的函数进行运行,直至所述目标应用程序启动完成,以使得所述虚拟机收集所述目标应用程序在启动过程中的所述启动函数。
可选地,所述计算模块,具体用于对所述启动函数和所述目标应用程序的函数集进行差集处理,以确定所述其他函数;将所述其他函数确定为所述目标函数。
第三方面,本申请实施例提供了一种计算机设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的程序指令,当服务器运行时,处理器与存储介质之间通过总线通信,处理器执行程序指令,以执行时执行如第一方面中提供的应用程序保护方法的步骤。
第四方面,本申请实施例提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面提供的应用程序保护方法的步骤。
本申请实施例提供的应用程序保护方法,在对应用程序进行保护时,通过将应用程序对应的启动函数之外的其他函数作为该应用程序的保护范围,有效避免了对应用程序的启动函数的保护,一方面有效的对应用程序进行了保护,提高了应用程序的保护准确度,提高了应用程序的性能;另一方面,也保证了应用程序的正常启动。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种应用程序保护方法流程示意图;
图2为本申请实施例提供的另一种应用程序保护方法流程示意图;
图3为本申请实施例提供的一种应用程序保护装置的结构示意图;
图4为本申请实施例提供的另一种应用程序保护装置结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
需要说明的是,本申请提供的应用程序保护方法,主要用于解决在应用程序运行过程中,由于应用所包含的函数保护范围存在缺陷,导致应用启动变慢,应用使用性能较差的技术问题。现有技术中,在对应用程序中的函数的保护范围进行选择时,常用的方法包括:随机选择、或者自动分析某些敏感API(Application Programming Interface,应用程序编程接口)调用,例如http((HyperText Transfer Protocol,超文本传输协议),加密解密等,对使用到这些API的函数进行保护、又或者人工挑选,上述几种方法均存在一定的缺陷,导致对应用程序中函数的保护不够精确,应用性能降低。
其中,上述所提及的函数保护,也即为了防止应用程序被非法破解,而采用一定的方法对部分函数进行保护,例如:对函数进行加密、或者是编码等处理。
如下通过多个实例对本申请所提供的应用程序保护方法进行说明。
图1为本申请实施例提供的一种应用程序保护方法流程示意图,本实施例的执行主体可以是计算机、服务器等具有处理功能的设备,如图1所示,该方法包括:
S101、获取目标应用程序的函数集。
需要说明的是,目标应用程序可以为待保护的应用程序,该目标应用程序的函数集可包括目标应用程序中所有的函数,而目标应用程序的函数集也即目标应用程序的全保护范围。该目标应用程序的函数集包括:该目标应用程序的API函数,和私有实现函数等。通常,考虑到目标应用程序是使用安全性,会尽可能的将目标应用程序函数集中的所有函数进行保护编译,也即目标应用程序全保护。这样,将会对目标应用程序对应的启动函数也进行保护编译,在启动函数也被保护编译后,当用户需要启动某一应用,首先需要逆向出解析器,再通过解析器对启动函数进行解析,相比于直接进行函数解析,该过程相对较复杂,从而导致应用启动变慢,应用使用性能降低,用户体验较差。
S102、从目标应用程序的函数集中确定启动函数。
启动函数也即应用程序在启动过程中,需要运行解析的部分函数,其属于目标应用程序函数集中的一部分,当启动函数解析完成后,应用才能被用户真正使用。
S103、根据启动函数,确定目标应用程序的函数集中启动函数之外的其他函数为目标函数。
可选地,为了不影响目标应用程序的正常启动,保证较快的启动速度,可以不对目标应用程序对应的启动函数进行保护,而是将目标应用程序对应的启动函数之外的其他函数作为目标函数进行保护。
上述步骤S102中已经确定了目标应用程序对应的启动函数,故可以根据确定的启动函数及目标应用程序的函数集,确定出目标函数。
S104、对目标函数进行保护编译。
可选地,可以通过对目标函数进行虚拟化处理,通过虚拟化处理,将目标函数从标准指令转换为虚拟化指令,从而达到对目标函数的保护编译,又或是可以采用函数加密等操作,进行目标函数的保护编译,本实施例对此不做具体限制。
在一些实施例中,在上述确定出启动函数之外的其他函数为目标函数之后,可以将该部分目标函数作为目标应用程序真正的保护范围,也即,当对该目标应用程序进行保护时,只需对确定出的该目标函数进行保护,即可达到既对目标应用程序进行了保护,又不影响目标应用程序的正常启动。
综上,本申请实施例提供的应用程序保护方法,在对应用程序进行保护时,通过将应用程序对应的启动函数之外的其他函数作为该应用程序的保护范围,有效避免了对应用程序的启动函数的保护,一方面有效的对应用程序进行了保护,提高了应用程序的保护准确度,提高了应用程序的性能;另一方面,也保证了应用程序的正常启动。
进一步地,上述步骤S101中,确定目标应用程序的函数集,包括:
采用虚拟机对目标应用程序的执行指令进行解析,得到目标应用程序的函数集。
需要说明的是,为了防止应用程序被逆向破解,会先采用虚拟机执行应用程序,将应用程序中包含的函数指令转换为自定义指令,这样,在虚拟机执行该应用程序时,同样需要通过虚拟机中的解析器来执行,从而增加了逆向破解的难度。该虚拟机可以为预设的用于解析应用程序的虚拟机,该解析器也可以为该虚拟机中预设的函数解析器。
在一些实施例中,可以采用自定义虚拟机对目标应用程序进行解析,解析获取该目标应用程序包含的所有函数(执行指令),得到目标应用程序对应的函数集。该函数集包含的为目标应用程序的所有函数。
进一步地,上述步骤S102中,从目标应用程序的函数集中确定启动函数,包括:
采用虚拟机对目标应用程序的函数集中的函数进行运行,直至目标应用程序启动完成,以使得虚拟机收集目标应用程序在启动过程中的启动函数。
同样的,在一些实施例中,对于目标应用程序启动函数的获取,也可以采用虚拟机对目标应用程序函数集中的所有函数运行,当检测到应用程序启动完成时,关闭虚拟机,即停止虚拟机的运行。在上述虚拟机开始运行到关闭的过程中,虚拟机所运行的所有函数即为目标应用程序对应的启动函数,将该启动函数提取出来,保存至用户配置文件(profile)中。
图2为本申请实施例提供的另一种应用程序保护方法流程示意图,进一步地,如图2所示,上述步骤S103中,根据启动函数,确定目标应用程序的函数集中启动函数之外的其他函数为目标函数,可包括:
S201、对启动函数和目标应用程序的函数集进行差集处理,以确定其他函数。
可选地,通过上述虚拟机的解析以及虚拟机对目标应用程序的运行过程,已获取到目标应用程序的函数集、和目标应用程序对应的启动函数文件。本实施例中,可以采用对目标应用程序的函数集和目标应用程序对应的启动函数文件差集处理,也即,从目标应用程序的函数集中筛除掉目标应用程序对应的启动函数文件中包含的函数,获取不包含启动函数的函数集合,以保证在对应用程序进行保护时,将目标应用程序对应的启动函数排除,不影响目标应用程序的启动速度。
S202、将其他函数确定为目标函数。
可选地,根据上述获取的其他函数的集合,可以将该其他函数的集合作为目标函数,也即作为目标应用程序对应的函数保护范围。从而达到对目标应用程序中函数的精确保护。
综上,本申请实施例提供的应用程序保护方法,在对应用程序进行保护时,通过将应用程序对应的启动函数之外的其他函数作为该应用程序的保护范围,有效避免了对应用程序的启动函数的保护,一方面有效的对应用程序进行了保护,提高了应用程序的保护准确度,提高了应用程序的性能;另一方面,也保证了应用程序的正常启动。
另外,在一些实施例中,也可以不将目标应用程序对应的所有启动函数进行筛除,而可以只将目标应用程序对应的所有启动函数中,对应用程序启动影响较大的部分函数进行筛除,这样,也一定程度上能保证应用程序的正常启动。
图3为本申请实施例提供的一种应用程序保护装置的结构示意图,如图3所示,该装置包括:获取模块301、解析模块302、计算模块303、编译模块304;
获取模块301,用于获取目标应用程序的函数集;
解析模块302,用于从目标应用程序的函数集中确定启动函数;
计算模块303,用于根据启动函数,确定目标应用程序的函数集中启动函数之外的其他函数为目标函数;
编译模块304,用于对目标函数进行保护编译。
可选地,获取模块301,具体用于采用虚拟机对目标应用程序的执行指令进行解析,得到目标应用程序的函数集。
可选地,解析模块302,具体用于采用虚拟机对目标应用程序的函数集中的函数进行运行,直至目标应用程序启动完成,以使得虚拟机收集目标应用程序在启动过程中的启动函数。
可选地,计算模块303,具体用于对启动函数和目标应用程序的函数集进行差集处理,以确定其他函数;将其他函数确定为目标函数。
上述装置可用于执行上述方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。
图4为本申请实施例提供的另一种应用程序保护装置结构示意图,如图4所示,该装置包括:处理器401和存储器402,其中:存储器402用于存储程序指令,处理器401调用存储器402存储的程序指令,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
该装置可以为计算机设备或者集成在计算机设备上的芯片,该计算机设备可以为客户端的计算机设备,也可以为服务端的计算机设备如服务器。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种应用程序保护方法,其特征在于,包括:
获取目标应用程序的函数集;
从所述目标应用程序的函数集中确定启动函数;
根据所述启动函数,确定所述目标应用程序的函数集中所述启动函数之外的其他函数为目标函数;
对所述目标函数进行保护编译;
其中,所述从所述目标应用程序的函数集中确定启动函数,包括:
采用虚拟机对所述目标应用程序的函数集中的函数进行运行,直至所述目标应用程序启动完成,以使得所述虚拟机收集所述目标应用程序在启动过程中的启动函数。
2.根据权利要求1所述的方法,其特征在于,所述获取目标应用程序的函数集,包括:
采用虚拟机对所述目标应用程序的执行指令进行解析,得到所述目标应用程序的函数集。
3.根据权利要求1-2中任一所述的方法,其特征在于,所述根据所述启动函数,确定所述目标应用程序的函数集中所述启动函数之外的其他函数为目标函数,包括:
对所述启动函数和所述目标应用程序的函数集进行差集处理,以确定所述其他函数;
将所述其他函数确定为所述目标函数。
4.一种应用程序保护装置,其特征在于,包括:获取模块、解析模块、计算模块、编译模块;
所述获取模块,用于获取目标应用程序的函数集;
所述解析模块,用于从所述目标应用程序的函数集中确定启动函数;
所述计算模块,用于根据所述启动函数,确定所述目标应用程序的函数集中所述启动函数之外的其他函数为目标函数;
所述编译模块,用于对所述目标函数进行保护编译;
其中,所述解析模块,具体用于采用虚拟机对所述目标应用程序的函数集中的函数进行运行,直至所述目标应用程序启动完成,以使得所述虚拟机收集所述目标应用程序在启动过程中的启动函数。
5.根据权利要求4所述的装置,其特征在于,所述获取模块,具体用于采用虚拟机对所述目标应用程序的执行指令进行解析,得到所述目标应用程序的函数集。
6.根据权利要求4-5中任一所述的装置,其特征在于,所述计算模块,具体用于对所述启动函数和所述目标应用程序的函数集进行差集处理,以确定所述其他函数;将所述其他函数确定为所述目标函数。
7.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至3任一所述的应用程序保护方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至3任一所述的应用程序保护方法的步骤。
CN201910665074.XA 2019-07-22 2019-07-22 应用程序保护方法、装置、计算机设备及存储介质 Active CN110378084B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910665074.XA CN110378084B (zh) 2019-07-22 2019-07-22 应用程序保护方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910665074.XA CN110378084B (zh) 2019-07-22 2019-07-22 应用程序保护方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110378084A CN110378084A (zh) 2019-10-25
CN110378084B true CN110378084B (zh) 2021-06-08

Family

ID=68254981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910665074.XA Active CN110378084B (zh) 2019-07-22 2019-07-22 应用程序保护方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110378084B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673204A (zh) * 2009-08-13 2010-03-17 上海酷吧信息技术有限公司 一种基于arm的手机应用程序动态加载方法
CN107193748A (zh) * 2017-06-01 2017-09-22 网易(杭州)网络有限公司 程序文件执行方法、装置、存储介质和处理器
CN108416210A (zh) * 2018-03-09 2018-08-17 北京顶象技术有限公司 一种程序保护方法及装置
CN108985017A (zh) * 2018-09-26 2018-12-11 北京京东金融科技控股有限公司 应用程序的加固方法和装置
CN109189445A (zh) * 2018-10-12 2019-01-11 武汉微智创大科技有限公司 一种物联网设备程序升级的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2866451B1 (fr) * 2004-02-18 2008-02-29 Cit Alcatel Procede et dispositif de transformation d'un systeme d'exploitation en vue de la protection d'un programme informatique contre des intrusions exterieures
CA2809516C (en) * 2013-03-13 2016-11-08 Khalid Nawaf Alharbi Preventing stack buffer overflow attacks
CN108399084B (zh) * 2017-02-08 2021-02-12 中科创达软件股份有限公司 一种应用程序的运行方法及系统
CN108304230B (zh) * 2018-02-01 2021-04-13 腾讯科技(深圳)有限公司 调整应用属性的实现方法、装置及可读存储介质
CN109739579B (zh) * 2019-01-11 2022-02-08 武汉瓯越网视有限公司 基于反馈协议的应用启动方法、装置和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101673204A (zh) * 2009-08-13 2010-03-17 上海酷吧信息技术有限公司 一种基于arm的手机应用程序动态加载方法
CN107193748A (zh) * 2017-06-01 2017-09-22 网易(杭州)网络有限公司 程序文件执行方法、装置、存储介质和处理器
CN108416210A (zh) * 2018-03-09 2018-08-17 北京顶象技术有限公司 一种程序保护方法及装置
CN108985017A (zh) * 2018-09-26 2018-12-11 北京京东金融科技控股有限公司 应用程序的加固方法和装置
CN109189445A (zh) * 2018-10-12 2019-01-11 武汉微智创大科技有限公司 一种物联网设备程序升级的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RAD:a compile-time solution to buffer overflow attacks;Tzi-Cker Chiueh 等;《Proceedings 21st International Conference on Distributed Computing Systems》;20020807;全文 *
函数Native化的Android APP加固方法;宋言言 等;《浙江大学学报(工学版)》;20190304;第53卷(第3期);全文 *

Also Published As

Publication number Publication date
CN110378084A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
JP6494744B2 (ja) リターン指向プログラミング攻撃の透過的な検出及び抽出
JP6857598B2 (ja) カバレッジテスト支援装置およびカバレッジテスト支援方法
US10102373B2 (en) Method and apparatus for capturing operation in a container-based virtualization system
JP4732484B2 (ja) 仮想環境を利用した非実行ファイル内のエクスプロイトコード分析方法及び装置
KR102317833B1 (ko) 악성 코드 탐지 모델 학습 방법 및 이를 이용한 탐지 방법
CN109598122B (zh) 用于检测侧信道攻击的方法和装置
US20120167061A1 (en) Identifying factorable code
EP3264274B1 (en) Input discovery for unknown program binaries
JP2015130152A (ja) 情報処理装置及びプログラム
CN110597704B (zh) 应用程序的压力测试方法、装置、服务器和介质
US9552284B2 (en) Determining valid inputs for an unknown binary program
US20150220733A1 (en) Apparatus and method for detecting a malicious code based on collecting event information
CN110378084B (zh) 应用程序保护方法、装置、计算机设备及存储介质
US9772931B2 (en) Determining a valid input for an unknown binary module
CN109214179B (zh) 一种程序模块安全检测方法及装置
CN106095631B (zh) 一种基于有限状态机实现的多周期非流水线cpu动态调试方法
CN107402883B (zh) 一种数据测试处理方法和装置
CN109582378A (zh) 一种开机启动方法、装置、设备及存储介质
JP5549810B2 (ja) プログラム難読化装置、プログラム制御装置、プログラム難読化方法及びプログラム
CN109213526B (zh) 用于确定处理器操作的方法及装置
KR101721341B1 (ko) 이종 멀티코어 환경에서 사용되는 수행장치 결정 모듈 및 이를 이용한 수행장치 결정방법
CN111814120B (zh) 程序反混淆处理方法、装置、设备及存储介质
JP5389734B2 (ja) 抽出装置及び抽出方法
US10255166B2 (en) Determination of valid input sequences for an unknown binary program
KR20180120099A (ko) 데이터 수집 방법 및 이를 수행하기 위한 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant