CN101414328A - 一种用于对文件进行脱壳的装置和方法 - Google Patents

一种用于对文件进行脱壳的装置和方法 Download PDF

Info

Publication number
CN101414328A
CN101414328A CNA2007101624375A CN200710162437A CN101414328A CN 101414328 A CN101414328 A CN 101414328A CN A2007101624375 A CNA2007101624375 A CN A2007101624375A CN 200710162437 A CN200710162437 A CN 200710162437A CN 101414328 A CN101414328 A CN 101414328A
Authority
CN
China
Prior art keywords
code
virtual machine
shelling
file
program
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.)
Granted
Application number
CNA2007101624375A
Other languages
English (en)
Other versions
CN101414328B (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 net an Technology Limited by Share Ltd
Original Assignee
Beijing Rising International Software 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 Rising International Software Co Ltd filed Critical Beijing Rising International Software Co Ltd
Priority to CN2007101624375A priority Critical patent/CN101414328B/zh
Publication of CN101414328A publication Critical patent/CN101414328A/zh
Priority to HK09107195A priority patent/HK1127423A1/xx
Application granted granted Critical
Publication of CN101414328B publication Critical patent/CN101414328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种,用于对文件进行脱壳的装置和方法,该装置包括:虚拟机,用于模拟真实计算机;控制器,用于检测所述文件的壳类型;以及,脱壳模块,用于基于所述检测的壳类型,确定所述文件的脱壳程序中需要在所述真实计算机中执行的代码,其中,所述虚拟机执行所述文件的脱壳程序中除了所述确定的代码之外的其余代码,以及所述脱壳模块在所述真实计算机中执行所述确定的代码。利用该装置和方法,能够对文件进行快速脱壳。

Description

一种用于对文件进行脱壳的装置和方法
技术领域
本发明涉及计算机病毒杀毒,尤其涉及一种用于对文件进行脱壳的装置和方法。
背景技术
计算机及网络技术的迅猛发展极大地促进了信息交互。与此同时,计算机病毒也伴随技术的发展而不断地演化更新,从初期的恶作剧游戏发展到今日,计算机病毒已经严重威胁到了人们对计算机的正常使用。由此,如何防范病毒侵袭已然成为人们关注的一个焦点。
防范病毒侵袭的一个重要步骤是在病毒运行之前识别出带有病毒的文件,即查毒,从而采取相应的措施遏制其侵害计算机系统。目前的杀毒软件普遍使用的查毒方法为匹配特征串方法。也就是说,利用从病毒样本中提取出来的特征串(一段或多段特定的二进制码流)在被查文件中进行匹配搜索。这种方法能够比较有效地识别出具有固定特征串的病毒,但是病毒作者为了躲避杀毒软件的查杀,除了自身的在代码上有所改进以外,更多的是利用对文件进行加壳处理。
加壳是利用特定压缩算法或加密算法,对病毒代码进行压缩和加密处理,改变病毒样本在静态状态下的二进制代码,从而躲避杀毒软件的静态扫描,实现免杀。
通过对100多万病毒文件的测试,结果表明,90%以上的病毒文件被加壳处理过。在被加壳处理的病毒文件中,又有50%以上的病毒文件是被多种加壳工具处理过的,这些经过加壳处理过的病毒文件给杀毒软件静态扫描病毒带来了巨大的困难。
为了解决加壳处理给查毒带来的困难,现在通常使用虚拟机来对加壳的文件进行脱壳处理,然后再对脱壳的文件进行查毒。
然而,常规的虚拟机在对已加壳的病毒文件进行脱壳时经常面临以下两大问题。
第一,一些病毒文件通常由复杂而执行费时的压缩算法或加密算法进行加壳处理,所以常规的虚拟机在对这样的已加壳病毒文件进行脱壳处理时,需要花费大量的时间来解压缩或解密数据,导致脱壳的执行时间较长,影响了整个查毒过程。以LZPack壳为例,由于其在加壳时使用压缩率比较大的LZMA算法来压缩文件,所以当虚拟机对加了LZPack壳的文件进行脱壳时,解压缩300K数据(解压缩以后大概是1MB左右)大约需要12-15秒的时间,这将会大大影响整个查毒过程。
第二,一些比较复杂的壳在其脱壳程序中经常插入一些诸如API断点检测、调试器检测和单步异常检测这样的检测调试器的代码。由于虚拟机本质上就是一个调试器,而虚拟机对加壳文件进行脱壳的过程实质上就是调试过程,所以当这样脱壳程序在执行过程中检测到是在虚拟机中脱壳时,其就会退出脱壳过程,这就增加了虚拟机脱壳的难度。
发明内容
考虑到上述问题,本发明的一个目的在于提供一种用于对文件进行脱壳的装置和方法,其能够对文件进行快速脱壳。
本发明的另一目的在于提供一种用于对文件进行脱壳的装置和方法,其能够在虚拟计算机中成功地对文件进行脱壳。
为了实现本发明的目的,按照本发明的一种用于对文件进行脱壳的装置,包括:
虚拟机,用于模拟真实计算机;
控制器,用于检测所述文件的壳类型;以及
脱壳模块,用于基于所述检测的壳类型,确定所述文件的脱壳程序中需要在所述真实计算机中执行的代码,
其中,所述虚拟机执行所述文件的脱壳程序中除了所述确定的代码之外的其余代码,以及所述脱壳模块在所述真实计算机中执行所述确定的代码。
为了实现本发明的目的,按照本发明的一种用于对文件进行脱壳的方法,包括:
(A)检测所述文件的壳类型;
(B)基于所述检测的壳类型,确定所述文件的脱壳程序中需要在真实计算机中执行的代码;以及
(C)在虚拟计算机中执行所述文件的脱壳程序中除了所述确定的代码之外的其余代码,而在所述真实计算机中执行所述确定的代码。
附图说明
图1示出了本发明一个实施例的用于对文件进行脱壳的装置的架构示意图。
图2示出了本发明一个实施例的虚拟机的架构示意图。
图3示出了本发明第一实施例的用于对文件进行脱壳的方法的流程示意图。
图4示出了本发明第二实施例的用于对文件进行脱壳的方法的流程示意图。
优选实施方式
本发明的核心思想是:首先检测已被加壳的文件的壳类型,然后根据所检测的壳类型,确定用于对该文件进行脱壳的脱壳程序中需要在真实计算机中执行的代码(例如,利用执行费时的压缩算法或加密算法来解压缩或解密数据的代码)、以及需要虚拟机跳过不执行的或者虚拟机执行但修改执行结果以表示该脱壳程序在真实计算机上执行的特定代码(例如,检测调试器的代码不支持的特性和功能等),最后,在真实计算机中执行该确定的需要在真实计算机中执行的代码和在虚拟计算机上执行该脱壳程序中除了该确定的需要在真实计算机中执行的代码之外的其余代码,以及,在虚拟机中跳过该脱壳程序中需要虚拟机跳过不执行的特定代码或者在虚拟机中执行该特定代码,然后修改该特定代码的执行结果以表示该脱壳程序在真实计算机上执行。
图1示出了本发明一个实施例的用于对文件进行脱壳的装置的架构示意图。如图1所示,脱壳装置1包括控制器10、虚拟机20和脱壳模块30,其中,控制器10检测已被加壳的文件的壳类型,脱壳模块30根据控制器10检测到的壳类型,确定该文件的脱壳程序中需要在真实计算机中执行的代码、以及需要虚拟机跳过不执行的或者虚拟机执行但修改执行结果以表示该脱壳程序在真实计算机上执行的特定代码,并且在真实计算机中执行该确定的需要在真实计算机中执行的代码,以及,虚拟机20是一个模拟真实计算机环境的虚拟计算机,其执行该脱壳程序中除了该确定的需要在真实计算机中执行的代码之外的其余代码,以及,跳过不需要执行的特定代码或者执行该特定代码,然后修改该特定代码的执行结果以表示该脱壳程序在真实计算机上执行。
本发明的用于对文件进行脱壳的装置通常用软件来实现,但是也可以硬件或软硬件结合的方式来实现。
图2示出了本发明一个实施例的虚拟机的架构示意图。如图2所示,虚拟机20包括虚拟CPU 201、虚拟机内存管理模块203、虚拟机环境管理模块205,其中,虚拟CPU 201模拟实现真实计算机中的CPU,虚拟机内存管理模块203管理虚拟机中的内存,虚拟机环境管理模块205模拟真实计算机的环境。
图3示出了本发明第一实施例的用于对文件进行脱壳的方法的流程示意图。其中,本实施例是以对加了LZPack壳的文件进行脱壳为例来说明的。
如图3所示,首先,控制器10向虚拟机20发送一个加载文件通知,以通知虚拟机20加载一个待脱壳的文件(步骤S10)。虚拟机20收到加载文件通知后,加载该文件(步骤S15)。然后,虚拟机20向控制器10发送表明文件加载成功的加载结果消息(步骤S20)。
接着,控制器10检测该文件的壳类型(步骤S25)。在本实施例中,该文件的壳类型为LZPack壳。
控制器10向脱壳模块30发送一个壳类型通知,以告知脱壳模块30该文件的壳类型(步骤S30)。
脱壳模块30收到该壳类型通知后,基于该壳类型通知所告知的壳类型,知道该文件的脱壳程序包括有利用复杂的压缩算法(即LZMA算法)来解压缩数据的代码,因此将这样的代码确定为需要在真实计算机中执行的代码(步骤S35)。
然后,脱壳模块30向控制器10发送一个断点设置通知,以通知控制器10在该文件的脱壳程序中利用LZMA算法来解压缩数据的代码处设置断点(步骤S40)。
控制器10从脱壳模块30中收到的该断点设置通知后,在虚拟机中设置该断点,并向虚拟机20发送一个运行指令,以通知虚拟机20执行到该文件的脱壳程序中利用LZMA算法来解压缩数据的代码处就停止(步骤S45)。
虚拟机20收到控制器10发送的运行指令后,执行该文件的脱壳程序直到该运行指令所指定的代码处(步骤S50)。
然后,虚拟机20将其当前状态信息发送给控制器10(步骤S55),其中,该当前状态信息主要包括虚拟机30中的虚拟CPU的寄存器信息。控制器10将收到的虚拟机20的状态信息转发给脱壳模块30(步骤S60)。
脱壳模块30收到控制器10转发的虚拟机20的状态信息后,根据该虚拟机20的状态信息所包括的寄存器信息,确定脱壳程序中利用LZMA算法来解压缩数据的代码将要处理的数据在虚拟机30的虚拟内存中的存储位置(步骤S65)。
接着,脱壳模块30向控制器10发送一个读虚拟机内存通知,以通知虚拟机20从其内存中读取该将要处理的数据(步骤S70)。控制器10将从脱壳模块30中收到的读虚拟机内存通知转发给虚拟机20(步骤S75)。
虚拟机20收到控制器10转发的读虚拟机内存通知后,通过其虚拟机内存管理模块203从其内存中所确定的存储位置处读出该将要处理的数据(步骤S80),然后将该读出的将要处理的数据发送给控制器10(步骤S85)。控制器10将从虚拟机20中收到的该将要处理的数据转发给脱壳模块30(步骤S90)。
脱壳模块30收到控制器10转发的该将要处理的数据后,在真实计算机上执行脱壳程序中利用LZMA算法来解压缩数据的代码,以对该收到的数据进行解压缩,得到已解压缩的数据(步骤S95)。
在得到解压缩的数据后,脱壳模块30基于在步骤S65中收到的虚拟机20状态信息所包括的寄存器信息,确定该解压缩的数据在虚拟机20的内存中的存储位置(步骤S100)。
然后,脱壳模块30向控制器10发送一个包括已解压缩的数据的写虚拟机内存通知,以告知虚拟机20将该已解压缩的数据写入其内存中(步骤S105)。控制器10将从脱壳模块30中收到的写虚拟机内存通知转发给虚拟机20(步骤S110)。
虚拟机20收到控制器10转发的写虚拟机内存通知后,将该写虚拟机内存通知中所包括的已解压缩的数据通过其虚拟机内存管理模块203写入到其内存中所确定的存储位置处(步骤S115),然后向控制器10发送一个表明写虚拟机内存成功的写虚拟机内存结果消息(步骤S120)。控制器10将从虚拟机20中收到的写虚拟机内存结果消息转发给脱壳模块30(步骤S125)。
脱壳模块30收到控制器10转发的写虚拟机内存结果消息后,确定出该文件的原始入口(步骤S155),然后向控制器10发送一个断点设置通知,以通知控制器10在该文件的原始入口处设置断点(步骤S160)。控制器10从脱壳模块30中收到断点设置通知后,在虚拟机中设置该断点,并向虚拟机20发送一个运行指令,以通知虚拟机20执行到该文件的原始入口处就停止(步骤S165)。
虚拟机20收到控制器10发送的运行指令后,执行脱壳程序直到该运行指令所指定代码处(步骤S175)。
然后,虚拟机20向控制器10发送其当前状态信息(步骤S180),其中,该当前状态信息主要包括虚拟机30中的虚拟CPU的寄存器信息,控制器10将从虚拟机20中收到的虚拟机20的状态信息转发给脱壳模块30(步骤S185)。
脱壳模块30收到控制器10转发的虚拟机20的状态信息后,知道脱壳程序已经执行所设定的断点,因此向控制器10发送脱壳完成通知(步骤S190),同时,虚拟机20也向控制器10发送脱壳完成通知(步骤S195)。
虽然在第一实施例中,以其脱壳程序中包含有利用LZMA算法来解压缩数据的代码的LZPack壳为例来说明本发明,然而本发明并不局限于此。事实上,本发明可以应用于其脱壳程序中包含有实现执行费时的功能的代码的任何壳,该执行费时的功能例如是利用复杂的压缩算法或加密算法来解压缩或解密数据。
此外,虽然在第一实施例中,由脱壳模块来控制虚拟机的执行过程,然而,本发明并不局限于此。事实上,在本发明中,也可以由脱壳模块告知虚拟机确定的需要在真实计算机上执行的代码,然后虚拟机自己监控脱壳程序的执行;当监控发现执行到该确定的代码时,虚拟机根据其CPU的寄存器信息主动将存储在内存中的该确定的代码将要处理的数据发送给脱壳模块;当脱壳模块在真实计算机上执行该确定的代码对该数据进行处理得到结果数据并返回给虚拟机后,虚拟机根据其CPU的寄存器信息确定该结果数据的存储位置并存储该结果数据,然后虚拟机继续执行该脱壳程序中在该确定的代码之后的代码。
图4示出了本发明第二实施例的用于对文件进行脱壳的方法的流程示意图。其中,本实施例是以对加了TeLock壳的文件进行脱壳为例来说明的。
如图4所示,首先,控制器10向虚拟机20发送一个加载文件通知,以通知虚拟机20加载一个待脱壳的文件(步骤S210)。虚拟机20收到加载文件通知后,加载该文件(步骤S215)。然后,虚拟机20向控制器10发送表明文件加载成功的加载结果消息(步骤S220)。
接着,控制器10检测该文件的壳类型(步骤S225)。在本实施例中,该文件的壳类型为TeLock壳。
控制器10向脱壳模块30发送一个壳类型通知,以告知脱壳模块30该文件的壳类型(步骤S230)。
脱壳模块30收到该壳类型通知后,基于该壳类型通知所告知的壳类型,确定该文件的脱壳程序中存在有API断点检测、调试器检测和/或单步异常检测的代码(步骤S235)。
然后,脱壳模块30向控制器10发送一个断点设置通知,以通知控制器10在该文件的脱壳程序中API断点检测、调试器检测和单步异常检测的代码处设置断点(步骤S240)。
控制器10从脱壳模块30中收到该断点设置通知后,在虚拟机中设置断点,并向虚拟机20发送一个运行指令,以通知虚拟机20执行到该文件的脱壳程序中API断点检测、调试器检测和单步异常检测的代码处就停止(步骤S245)。
虚拟机20收到控制器10转发的运行指令后,执行该文件的脱壳程序直到该运行指令所指定的代码处(步骤S250)。
然后,虚拟机20将其当前状态信息发送给控制器10(步骤S255),其中,该当前状态信息主要包括虚拟机30中的虚拟CPU的寄存器信息。控制器10将收到的虚拟机20的状态信息转发给脱壳模块30(步骤S260)。
脱壳模块30收到控制器10转发的虚拟机20的状态信息后,首先基于该收到的虚拟机20状态信息所包括的寄存器信息知道虚拟机20已经执行所设置的断点,因而,向控制器10发送一个特殊执行命令,以通知虚拟机20跳过接下来的API断点检测、调试器检测和单步异常检测的代码或者继续执行接下来的API断点检测、调试器检测和单步异常检测的代码但修改该代码的执行结果以表示此脱壳程序在真实计算机中执行(步骤S275)。
控制器10将从脱壳模块30中收到的特殊执行命令转发给虚拟机20(步骤S280)。
虚拟机20收到控制器10转发的特殊执行命令后,根据该收到的特殊执行命令,跳过接下来的API断点检测、调试器检测和单步异常检测的代码或者继续执行接下来的API断点检测、调试器检测和单步异常检测的代码但修改该代码的执行结果以表示此脱壳程序在真实计算机中执行(步骤S285)。然后,虚拟机20向控制器10发送一个执行成功的执行结果消息(步骤S290),控制器10将从虚拟机20中收到的结果消息转发给脱壳模块30(步骤S295)。
虚拟机20收到控制器10转发的执行结果消息后,确定出该文件的原始入口(步骤S300),然后向控制器10发送一个断点设置通知,以通知控制器10在该文件的原始入口处设置断点(步骤S305)。控制器10从脱壳模块30中收到断点设置通知后,在虚拟机中设置断点,并向虚拟机20发送一个运行指令,以通知虚拟机20执行到该文件的原始入口处就停止(步骤S310)。
虚拟机20收到控制器10发送的运行指令后,执行脱壳程序直到该运行指令所指定的代码处(步骤S320)。
然后,虚拟机20向控制器10发送其当前状态信息(步骤S330),控制器10将从虚拟机20中收到的虚拟机20的状态信息转发给脱壳模块30(步骤S335)。
脱壳模块30收到控制器10转发的虚拟机20的状态信息后,知道脱壳程序已经执行完毕,因此向控制器10发送脱壳完成通知(步骤S340),同时,虚拟机20也向控制器10发送脱壳完成通知(步骤S345)。
虽然在第二实施例中,以其脱壳程序中包含有API断点检测、调试器检测和单步异常检测的代码的TeLock壳为例来说明本发明,然而本发明并不局限于此。事实上,本发明可以应用于其脱壳程序中包含有检测调试器的任何代码的壳。
此外,虽然在第二实施例中,由脱壳模块来控制虚拟机的执行过程,然而,本发明并不局限于此。事实上,在本发明中,也可以由脱壳模块告知虚拟机确定的需跳过而不执行或需要修改其执行结果的代码,然后虚拟机自己监控脱壳程序的执行;当监控发现执行到该确定的代码时,虚拟机跳过该确定的代码并执行该脱壳程序中在该确定的代码之后的代码,或者执行该确定的代码得到执行结果,接着按照要求修改该执行结果,然后虚拟机继续执行该脱壳程序中在该确定的代码之后的代码。
此外,虽然在第一和第二实施例中,虚拟机20和脱壳模块30通过控制器10来交互信息和数据,但是本发明并不局限于此。事实上,在本发明的其他实施例中,虚拟机20和脱壳模块30可以不通过控制器10而直接交互信息和数据。
本领域技术人员应当理解,本发明所公开的用于对文件进行脱壳的装置和方法可以在不偏离本发明实质的情况下做出各种改变和变形,因此,本发明的保护范围由所附的权利要求书来限定。

Claims (12)

1、一种用于对文件进行脱壳的装置,包括:
虚拟机,用于模拟真实计算机;
控制器,用于检测所述文件的壳类型;以及
脱壳模块,用于基于所述检测的壳类型,确定所述文件的脱壳程序中需要在所述真实计算机中执行的代码,
其中,所述虚拟机执行所述文件的脱壳程序中除了所述确定的代码之外的其余代码,以及所述脱壳模块在所述真实计算机中执行所述确定的代码。
2、如权利要求1所述的脱壳装置,进一步包括:
所述虚拟机执行所述脱壳程序到所述确定的代码处即停止,然后向所述脱壳模块发送所述确定的代码将要处理的数据,
所述脱壳模块在真实计算机上执行所述确定的代码对所述数据进行处理,以得到结果数据并发送给所述虚拟机,以及
所述虚拟机将所述结果数据存储在内存中并执行所述脱壳程序中在所述确定的代码之后的代码。
3、如权利要求1或2所述的脱壳装置,其中,所述确定的代码
是实现执行费时的功能的代码。
4、如权利要求1所述的脱壳装置,其中,还包括:
所述脱壳模块基于所述检测的壳类型,确定所述文件的脱壳程序中需跳过不执行的代码,以及
当执行所述脱壳程序到所述确定的代码时,所述虚拟机跳过所述确定的代码以执行所述脱壳程序中在所述确定的代码之后的代码。
5、如权利要求1所述的脱壳装置,其中,还包括:
所述脱壳模块基于所述检测的壳类型,确定所述文件的脱壳程序中其执行结果需要修改的代码,以及
当执行所述脱壳程序到所述确定的代码时,所述虚拟机执行所述确定的代码得到执行结果并修改所述执行结果,然后执行所述脱壳程序中在所述确定的代码之后的代码。
6、如权利要求4或5所述的脱壳装置,其中,所述确定的代码是检测调试器的代码。
7、一种用于对文件进行脱壳的方法,包括:
(A)检测所述文件的壳类型;
(B)基于所述检测的壳类型,确定所述文件的脱壳程序中需要在真实计算机中执行的代码;以及
(C)在虚拟计算机中执行所述文件的脱壳程序中除了所述确定的代码之外的其余代码,而在所述真实计算机中执行所述确定的代码。
8、如权利要求1所述的方法,其中,所述步骤(C)进一步包括:
在所述虚拟计算机中执行所述脱壳程序到所述确定的代码处即停止;
将所述确定的代码将要处理的数据从所述虚拟计算机中发送给所述真实计算机;
在所述真实计算机中执行所述确定的代码对所述数据进行处理,以得到结果数据并发送给所述虚拟计算机;
在所述虚拟计算机的内存中存储所述结果数据;以及
在所述虚拟计算机中执行所述脱壳程序中在所述确定的代码之后的代码。
9、如权利要求7或8所述的方法,其中,所述确定的代码是实现执行费时的功能的代码。
10、如权利要求7所述的方法,其中,还包括步骤:
基于所述检测的壳类型,确定所述文件的脱壳程序中需跳过不执行的代码,以及
当在所述虚拟计算机中执行所述脱壳程序到所述确定的代码时,跳过所述确定的代码以执行所述脱壳程序中在所述确定的代码之后的代码。
11、如权利要求7所述的方法,其中,还包括步骤:
基于所述检测的壳类型,确定所述文件的脱壳程序中其执行结果需要修改的代码;
当在所述虚拟计算机中执行所述脱壳程序到所述确定的代码时,执行所述确定的代码得到执行结果;
修改所述执行结果;以及
执行所述脱壳程序中在所述确定的代码之后的代码。
12、如权利要求10或11所述的方法,其中,所述确定的代码是检测调试器的代码。
CN2007101624375A 2007-10-15 2007-10-15 一种用于对文件进行脱壳的装置和方法 Active CN101414328B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2007101624375A CN101414328B (zh) 2007-10-15 2007-10-15 一种用于对文件进行脱壳的装置和方法
HK09107195A HK1127423A1 (en) 2007-10-15 2009-08-05 Method and apparatus for unshelling file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101624375A CN101414328B (zh) 2007-10-15 2007-10-15 一种用于对文件进行脱壳的装置和方法

Publications (2)

Publication Number Publication Date
CN101414328A true CN101414328A (zh) 2009-04-22
CN101414328B CN101414328B (zh) 2012-07-18

Family

ID=40594861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101624375A Active CN101414328B (zh) 2007-10-15 2007-10-15 一种用于对文件进行脱壳的装置和方法

Country Status (2)

Country Link
CN (1) CN101414328B (zh)
HK (1) HK1127423A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184103A (zh) * 2011-05-12 2011-09-14 电子科技大学 软件保护壳的壳特征提取方法
CN102184363A (zh) * 2011-05-21 2011-09-14 电子科技大学 基于综合处理的软件壳自动脱壳方法
CN102314571A (zh) * 2011-09-27 2012-01-11 奇智软件(北京)有限公司 处理计算机病毒的方法及装置
CN103019740A (zh) * 2012-12-28 2013-04-03 北京神州绿盟信息安全科技股份有限公司 一种获取导入表和重定位表的方法及装置
CN103019828A (zh) * 2012-12-28 2013-04-03 北京神州绿盟信息安全科技股份有限公司 一种基于加壳程序的辅助脱壳方法及装置
CN103793649A (zh) * 2013-11-22 2014-05-14 北京奇虎科技有限公司 通过云安全扫描文件的方法和装置
CN108073814A (zh) * 2017-12-29 2018-05-25 哈尔滨安天科技股份有限公司 基于静态结构化脱壳参数的脱壳方法、系统及存储介质
CN112580035A (zh) * 2019-09-30 2021-03-30 奇安信安全技术(珠海)有限公司 程序脱壳方法及装置、存储介质、计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461197C (zh) * 2006-05-16 2009-02-11 北京启明星辰信息技术有限公司 一种恶意代码自动分析系统及方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184103A (zh) * 2011-05-12 2011-09-14 电子科技大学 软件保护壳的壳特征提取方法
CN102184363A (zh) * 2011-05-21 2011-09-14 电子科技大学 基于综合处理的软件壳自动脱壳方法
CN102184363B (zh) * 2011-05-21 2013-09-25 电子科技大学 基于综合处理的软件壳自动脱壳方法
CN102314571A (zh) * 2011-09-27 2012-01-11 奇智软件(北京)有限公司 处理计算机病毒的方法及装置
CN103019740B (zh) * 2012-12-28 2015-08-19 北京神州绿盟信息安全科技股份有限公司 一种获取导入表和重定位表的方法及装置
CN103019740A (zh) * 2012-12-28 2013-04-03 北京神州绿盟信息安全科技股份有限公司 一种获取导入表和重定位表的方法及装置
CN103019828A (zh) * 2012-12-28 2013-04-03 北京神州绿盟信息安全科技股份有限公司 一种基于加壳程序的辅助脱壳方法及装置
CN103019828B (zh) * 2012-12-28 2015-06-17 北京神州绿盟信息安全科技股份有限公司 一种基于加壳程序的辅助脱壳方法及装置
CN103793649A (zh) * 2013-11-22 2014-05-14 北京奇虎科技有限公司 通过云安全扫描文件的方法和装置
CN108073814A (zh) * 2017-12-29 2018-05-25 哈尔滨安天科技股份有限公司 基于静态结构化脱壳参数的脱壳方法、系统及存储介质
CN108073814B (zh) * 2017-12-29 2021-10-15 安天科技集团股份有限公司 基于静态结构化脱壳参数的脱壳方法、系统及存储介质
CN112580035A (zh) * 2019-09-30 2021-03-30 奇安信安全技术(珠海)有限公司 程序脱壳方法及装置、存储介质、计算机设备
CN112580035B (zh) * 2019-09-30 2024-02-06 奇安信安全技术(珠海)有限公司 程序脱壳方法及装置、存储介质、计算机设备

Also Published As

Publication number Publication date
CN101414328B (zh) 2012-07-18
HK1127423A1 (en) 2009-09-25

Similar Documents

Publication Publication Date Title
CN101414328B (zh) 一种用于对文件进行脱壳的装置和方法
Xue et al. Malton: Towards {On-Device}{Non-Invasive} Mobile Malware Analysis for {ART}
US8250543B2 (en) Software tracing
US11159541B2 (en) Program, information processing device, and information processing method
Shahriar et al. Testing of memory leak in android applications
US9438617B2 (en) Application security testing
US20080289042A1 (en) Method for Identifying Unknown Virus and Deleting It
US20240143739A1 (en) Intelligent obfuscation of mobile applications
CN110928777B (zh) 测试用例的处理方法、装置、设备及存储介质
CN113391874A (zh) 一种虚拟机检测对抗方法、装置、电子设备及存储介质
CN107315677B (zh) 判断应用程序发生异常的方法及装置
US20230101154A1 (en) Resumable instruction generation
CN107844703B (zh) 一种基于Android平台Unity3D游戏的客户端安全检测方法及装置
US7036045B2 (en) Method and system for isolating exception related errors in Java JVM
US20220335135A1 (en) Vulnerability analysis and reporting for embedded systems
CN113419960B (zh) 用于可信操作系统内核模糊测试的种子生成方法及系统
CN115202670A (zh) 应用批量发布方法、装置、电子设备及存储介质
CN115220859A (zh) 数据输入方式的监测方法、装置、电子设备和存储介质
WO2020065778A1 (ja) 情報処理装置、制御方法、及びプログラム
WO2008036665A2 (en) Methods, media, and systems for detecting attack on a digital processing device
Kumar et al. Android application memory leakage detection approach
CN113139190A (zh) 程序文件检测方法、装置、电子设备及存储介质
CN111259392A (zh) 一种基于内核模块的恶意软件拦截方法及装置
JP2005134995A (ja) セキュリティ管理システム及びセキュリティ管理方法ならびにセキュリティ管理プログラム
CN117112047B (zh) 一种usb设备的管控方法、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1127423

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: BEIJING RISING INTERNATIONAL TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING RISING INTERNATIONAL SOFTWARE CO., LTD.

Effective date: 20100413

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 ROOM 1305, ZHONGKE BUILDING, NO.22, ZHONGGUANCUN AVENUE, BEIJING CITY TO: 100190 ROOM 1301, ZHONGKE BUILDING, NO.22, ZHONGGUANCUN AVENUE, HAIDIAN DISTRICT, BEIJING CITY

TA01 Transfer of patent application right

Effective date of registration: 20100413

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Applicant after: Beijing Rising Information Technology Co., Ltd.

Address before: 100080, room 1305, Zhongke building, 22 Zhongguancun street, Beijing

Applicant before: Beijing Rising International Software Co., Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1127423

Country of ref document: HK

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee after: Beijing Rising Information Technology Co., Ltd

Address before: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee before: Beijing Rising Information Technology Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee after: Beijing net an Technology Limited by Share Ltd

Address before: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1301

Patentee before: Beijing Rising Information Technology Co., Ltd