CN102999374A - 一种基于虚拟机的信息记录方法 - Google Patents
一种基于虚拟机的信息记录方法 Download PDFInfo
- Publication number
- CN102999374A CN102999374A CN2012105304856A CN201210530485A CN102999374A CN 102999374 A CN102999374 A CN 102999374A CN 2012105304856 A CN2012105304856 A CN 2012105304856A CN 201210530485 A CN201210530485 A CN 201210530485A CN 102999374 A CN102999374 A CN 102999374A
- Authority
- CN
- China
- Prior art keywords
- information
- virtual machine
- byte
- code block
- record
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于虚拟机的信息记录方法,该方法包括:虚拟机运行选定程序时,根据所述选定程序中的跳转指令分割所述选定程序,得到若干代码块;以及在执行代码块的过程中,所述虚拟机监控事件发生,并按照事件发生的先后顺序记录事件标识和事件信息,所述事件信息包括:创建的线程或进程信息、加载的模块信息、进程分配的堆信息、进程创建的栈信息、数据改写信息、代码块信息、循环次数信息、新栈顶的位置信息、函数调用信息、函数返回信息、以及中央处理器CPU异常信息中之一或组合。该方案中记录信息的方式大大提高了记录效率,并且记录文件非常小,节省了存储空间;能够为后续信息分析提供更好的帮助。
Description
技术领域
本发明涉及通信领域,尤指一种基于虚拟机的信息记录方法。
背景技术
目前,记录程序数据改写和代码块等信息的方式主要有两种:第一种是使用调试器记录程序运行的信息,常用的调试器有Safforn、PolyUnpack等等,这种方式记录效率比较高,但是程序可以通过反调试技术进行对抗,这样就会导致调试器崩溃或记录错误的信息;第二种是使用虚拟机记录程序运行的信息,虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,常用的虚拟机有Renovo、Malware Normalization、PandorasBochs等,这种方式可以避开大部分程序的反调试,但是这种方式需要在记录文件中记录执行每条指令的信息,无论该条指令信息对后续信息分析是否有用,都会在记录文件中记录,最终得到的记录文件非常大,这样就会导致记录效率低、占用存储空间多;并且这种方式记录的信息类型非常有限,这就会不利于后续进行信息分析。
发明内容
本发明实施例提供一种基于虚拟机的信息记录方法,用以解决现有技术中存在的使用虚拟机记录程序运行的信息时记录效率低、占用存储空间多且不利于后续进行信息分析的问题。
一种基于虚拟机的信息记录方法,包括:
虚拟机运行选定程序时,根据所述选定程序中的跳转指令分割所述选定程序,得到若干代码块;以及
在执行代码块的过程中,所述虚拟机监控事件发生,并按照事件发生的先后顺序记录事件标识和事件信息,所述事件信息包括:创建的线程或进程信息、加载的模块信息、进程分配的堆信息、进程创建的栈信息、数据改写信息、代码块信息、循环次数信息、新栈顶的位置信息、函数调用信息、函数返回信息、以及中央处理器CPU异常信息中之一或组合。
本发明有益效果如下:
本发明实施例提供了一种基于虚拟机的信息记录方法,该方案虚拟机运行选定程序时,根据所述选定程序中的跳转指令分割所述选定程序,得到若干代码块;以及在执行代码块的过程中,所述虚拟机监控事件发生,并按照事件发生的先后顺序记录事件标识和事件信息,所述事件信息包括:创建的线程或进程信息、加载的模块信息、进程分配的堆信息、进程创建的栈信息、数据改写信息、代码块信息、循环次数信息、新栈顶的位置信息、函数调用信息、函数返回信息、以及中央处理器CPU异常信息中之一或组合。该方案将选定程序分割为若干个代码块,程序运行过程中,以代码块为单位,记录代码块的执行信息,这种以代码块为单位进行信息记录的方式相对于现有技术中需要记录每条执行指令的信息的方式,大大提高了记录效率,并且记录文件非常小,节省了存储空间;并且,还记录了新栈顶的位置信息、数据改写信息、代码块的信息、函数调用标识、函数调用信息、函数返回标识、函数返回信息、循环次数信息、异常信息,这些信息能够为后续信息分析提供更好的帮助。
附图说明
图1为本发明实施例中的基于虚拟机的信息记录方法的流程图;
图2为本发明实施例中的虚拟机监控事件发生和记录事件信息的流程图。
具体实施方式
针对现有技术中存在的使用虚拟机记录程序运行的信息时记录效率低、占用存储空间多且不利于后续进行信息分析的问题,本发明实施例提供了一种基于虚拟机的信息记录方法,该方法的流程如图1所示,具体执行步骤如下:
S10:虚拟机运行选定程序时,根据选定程序中的跳转指令分割选定程序,得到若干代码块。
S11:虚拟机执行得到的代码块。
可以利用动态翻译技术来分割选定程序,S11中执行代码块的过程和S10中的分割代码块的过程是同时进行的,不用等到将程序全部解析完代码块后再运行,节省了时间。
S12:在执行代码块的过程中,虚拟机监控事件发生,并按照事件发生的先后顺序记录事件标识和事件信息。
事件信息包括:创建的线程或进程信息、加载的模块信息、进程分配的堆信息、进程创建的栈信息、数据改写信息、代码块信息、循环次数信息、新栈顶的位置信息、函数调用信息、函数返回信息、以及中央处理器CPU异常信息中之一或组合。
要记录的信息有很多种,为了便于区分各类信息,以及后续能快速解析序列化后的日记文件,可以在每个信息前添加用设定字节的事件标识,在标识后紧接事件信息。这些信息的顺序是按照事件发生的先后顺序排列的,真实反应了选定程序的流程。当选定程序为32位时,设定字节为4个字节,事件标识为4个字节;当选定程序为64位时,设定字节为8个字节,事件标识为8个字节。
该方案将选定程序分割为若干个代码块,程序运行过程中,以代码块为单位,记录代码块的执行信息,这种以代码块为单位进行信息记录的方式相对于现有技术中需要记录每条执行指令的信息的方式,大大提高了记录效率,并且记录文件非常小,节省了存储空间;并且,还记录了新栈顶的位置信息、数据改写信息、代码块的信息、函数调用标识、函数调用信息、函数返回标识、函数返回信息、循环次数信息、异常信息,这些信息能够为后续信息分析提供更好的帮助。
具体的,上述S12中的虚拟机监控事件发生,并按照事件发生的先后顺序记录事件标识和事件信息,如图2所示,具体包括以下之一或组合:
S120:虚拟机监控事件发生。
S121:若虚拟机监控到线程或进程的创建,则在日记文件中记录创建标识和创建的进程或线程信息,执行S120。
S122:若虚拟机监控到模块加载,则在日记文件中记录加载标识和加载的模块信息,执行S120。
S123:若虚拟机监控到进程分配堆,则在日记文件中记录加载标识和分配的堆信息,执行S120。
S124:若虚拟机监控到进程创建栈,则在日记文件中记录加载标识和创建的栈信息,执行S120。
S125:若虚拟机监控到数据改写,则判断记录的当前信息类型是否是代码块信息,若是,则在日记文件中记录信息类型切换标识和数据改写信息;否则,则在日记文件中记录数据改写信息,执行S120。
代码块的信息和数据改写的信息是程序运行后的最常见的信息,会被频繁记录,所以在日记文件中大部分都是代码块信息和数据改写信息,为了节省空间,代码块信息和数据改写信息不需要使用不同的标识,只需要通过信息类型切换标识来代表这两种信息的切换即可。可以维护一个当前信息类型,该当前信息类型表征在此之前最后执行的是数据改写还是代码块,可以根据当前信息类型来确定是否需要记录信息类型切换标识。
S126:虚拟机执行完一个代码块后,则判断当前信息类型是否是数据改写信息,若是,则在日记文件中记录信息类型切换标识和代码块信息;否则,则在日记文件中记录代码块信息,执行S120。
S127:虚拟机执行完一个代码块后,判断寄存器的值是否改变,若改变,则在日记文件中记录栈顶变化标识和新栈顶的位置信息,执行S120。
每执行完每一个代码块后,判断寄存器的值(对于32位选定程序,是esp寄存器;对于64位选定程序则是rsp寄存器)是否改变,若改变,则表示程序栈顶有变化,则记录栈顶变化标识和新栈顶的位置信息;所以,栈顶变化的信息不是按照指令粒度的,而是代码块粒度的。
S128:若执行完的代码块的最后一个跳转指令为函数调用指令,则在日记文件中记录函数调用标识,执行S120。
当执行完一个代码块后,由于每个代码块是按跳转指令来分割的,函数调用指令也被虚拟机认为是一条跳转指令,因此,可判断这个代码块最后一条指令是否为函数调用指令,若是,则记录函数调用标识。
S129:若最后一个跳转指令为函数返回指令,则在日记文件中记录函数返回标识,执行S120。
当执行完一个代码块后,由于每个代码块是按跳转指令来分割,函数返回指令也被虚拟机认为是一条跳转指令,因此,可判断这个代码块最后一条指令是否为函数返回指令,若是,则记录函数返回标识。
S130:若执行完的代码块与上一个代码块的起始地址和终止地址均相同,则在日记文件中记录循环标识和循环次数信息,执行S120。
由于每个代码块是按跳转指令来分割,每执行一个代码块,都可以判断该代码块和上一个代码块的起始地址和结束地址是否一样,若一样,则认为是一个循环,记录循环次数信息。
S131:若虚拟机监控到CPU异常,则在日记文件中记录异常标识和CPU异常信息,执行S120。
若执行完代码块发生CPU异常,则虚拟机会捕获到CPU异常,则在日记文件中记录异常标识和CPU异常信息。
具体的,上述创建标识为VM_THEAD。
创建的进程信息的结构为设定字节的进程标识(Identification,ID)。
创建的线程信息的结构为设定字节的线程ID。
对于32位选定程序来说,设定字节为4个字节,那么,创建的进程信息的结构为4个字节的进程ID,创建的线程信息的结构为4个字节的线程ID,若此时线程尚未创建,可记录选用的特殊值,例如-1等。对于64位选定程序来说,设定字节为8个字节。
具体的,上述加载标识为VM_MEMORY。
加载的模块信息的结构为设定字节的进程ID、二分之一设定字节的模块名长度、模块名字符串、设定字节的模块加载的基地址、设定字节的模块映射的内存大小、设定字节模块文件的大小、模块文件的二进制数据。
创建的堆信息的结构为设定字节的进程ID、二分之一设定字节的模块名长度、设定字节的模块加载的基地址、设定字节的堆大小、设定字节的无用数据。
创建的栈信息的结构为设定字节的进程ID、二分之一设定字节的模块名长度、设定字节的模块加载的基地址、设定字节的模块加载的基地址、设定字节的栈大小、设定字节的无用数据。
对于32位选定程序来说,设定字节为4个字节,那么,加载的模块信息的结构为4个字节的进程ID、2个字节的模块名长度、模块名字符串、4个字节的模块加载的基地址、4个字节的模块映射的内存大小、4个字节模块文件的大小、模块文件的二进制数据;其中,模块名长度的值必不为0,因为模块必有名字;模块名字符串的长度由前面2字节指定;模块文件的二进制数据的长度由前面4字节指定。
创建的堆信息的结构为4个字节的进程ID、2个字节的模块名长度、4个字节的模块加载的基地址、4个字节的堆大小、4个字节的无用数据;其中,2个字节的模块名长度的值必为0,因为堆没有名字,所以可以根据这点来区分模块信息和堆信息;堆的基地址都是按0x1000对齐,例如0x470000,所以最低位必为0;4个字节的无用数据,用于和加载的模块的信息结构一致。
创建的栈信息的结构为4个字节的进程ID、2个字节的模块名长度、4个字节的模块加载的基地址、4个字节的模块加载的基地址、4个字节的栈大小、4个字节的无用数据。其中,2个字节的模块名长度的值必为0,因为栈也没有名字;4个字节的模块加载的基地址,栈的基地址也是按0x1000对齐,但这里为了区别栈和堆,在最低位标志位2,例如0x100002;4个字节的无用数据,用于和加载的模块的信息结构一致。
对于64位选定程序来说,上述信息结构中的设定字节为8个字节,具体的信息结构不再说明。
记录加载的模块的信息、创建的堆的信息和创建的栈的信息时,使用的是同样的标识,即VM_MEMORY,之所以三种信息共用一个标识,是为了减少日记文件的大小。
具体的,上述信息类型切换标识为VM_ESCAPE。
数据改写信息的结构为设定字节的进行数据改写指令的地址、设定字节的数据改写的起始地址、设定字节的记录长度、记录的数据内容。
对于32位选定程序来说,设定字节为4个字节,数据改写信息的结构为4个字节的进行数据改写指令的地址、4个字节的数据改写的起始地址、4个字节的记录长度、记录的数据内容。其中,写入的数据内容的长度是由前面4个字节指定的。对于64位选定程序来说,设定字节为8个字节。
具体的,上述异常标识为VM_EXCPTION。
CPU异常信息结构为四分之一设定字节的异常类型、二分之一设定字节的异常特征位、设定字节的程序执行地址、设定字节的异常访问地址。
对于32位选定程序来说,设定字节为4个字节,那么,CPU异常信息结构为1个字节的异常类型,2个字节的异常特征位,4个字节程序执行地址,4个字节异常访问地址。对于64为选定程序来说,设定字节为8个字节。
具体的,上述栈顶变化标识为VM_STACK。
新栈顶位置信息的结构为设定字节的新栈顶位置。
对于32位选定程序来说,设定字节为4个字节,那么,新栈顶位置信息的结构为4个字节的新栈顶位置。对于64为选定程序来说,设定字节为8个字节。
具体的,上述信息类型切换标识为VM_ESCAPE。
代码块信息的结构为设定字节的代码块的起始地址、设定字节的代码块的结束地址。
对于32位选定程序来说,设定字节为4个字节,那么,代码块信息的结构为4个字节的代码块的起始地址、4个字节的代码块的结束地址。对于64为选定程序来说,设定字节为8个字节。
其中,结束地址都是一个跳转指令,原因是程序运行后,代码中会有多个跳转,而这些跳转可能是一个循环,也可能是一个函数调用,以跳转指令来分割程序为若干代码块,有利于分析程序流程。而在现有技术中基于虚拟机记录的方式中,都是针对指令来记录信息,而不是针对代码块来记录记录,针对指令记录信息的方式使得日记文件非常大,而本申请中针对代码块来记录信息的方式使得日记文件很小。
具体的,上述循环标识为VM_LOOP。
循环次数信息的结构为4个字节的循环次数。
对于32位选定程序来说,设定字节为4个字节,那么,循环次数信息的结构为4个字节的循环次数。对于64为选定程序来说,设定字节为8个字节。
当记录上述信息后,研究人员可以解析记录信息的日记文件,然后分析这些信息,将之应用到很多领域,例如:利用记录的日记文件可实现自动脱壳、进行病毒分析、实行漏洞分析和挖掘等等。该方案中记录信息的方式较易实现,记录的信息能够为后续分析提供更好的帮助,并且记录效率高,节省了存储空间。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种基于虚拟机的信息记录方法,其特征在于,包括:
虚拟机运行选定程序时,根据所述选定程序中的跳转指令分割所述选定程序,得到若干代码块;以及
在执行代码块的过程中,所述虚拟机监控事件发生,并按照事件发生的先后顺序记录事件标识和事件信息,所述事件信息包括:创建的线程或进程信息、加载的模块信息、进程分配的堆信息、进程创建的栈信息、数据改写信息、代码块信息、循环次数信息、新栈顶的位置信息、函数调用信息、函数返回信息、以及中央处理器CPU异常信息中之一或组合。
2.如权利要求1所述的方法,其特征在于,所述虚拟机监控事件发生,并按照事件发生的先后顺序记录事件标识和事件信息,具体包括:
若所述虚拟机监控到线程或进程的创建,则在日记文件中记录创建标识和创建的进程或线程信息;
若所述虚拟机监控到模块加载,则在所述日记文件中记录加载标识和加载的模块信息;
若所述虚拟机监控到进程分配堆,则在所述日记文件中记录所述加载标识和分配的堆信息;
若所述虚拟机监控到进程创建栈,则在所述日记文件中记录所述加载标识和创建的栈信息;
若所述虚拟机监控到数据改写,则判断记录的当前信息类型是否是代码块信息,若是,则在所述日记文件中记录信息类型切换标识和数据改写信息;否则,则在所述日记文件中记录数据改写信息;
所述虚拟机执行完一个代码块后,则判断所述当前信息类型是否是数据改写信息,若是,则在所述日记文件中记录所述信息类型切换标识和代码块信息;否则,则在所述日记文件中记录代码块信息;
所述虚拟机执行完一个代码块后,判断寄存器的值是否改变,若改变,则在所述日记文件中记录栈顶变化标识和新栈顶的位置信息;若执行完的代码块的最后一个跳转指令为函数调用指令,则在所述日记文件中记录函数调用标识;以及,若所述最后一个跳转指令为函数返回指令,则在所述日记文件中记录函数返回标识;以及,若执行完的代码块与上一个代码块的起始地址和终止地址均相同,则在所述日记文件中记录循环标识和循环次数信息;
若虚拟机监控到CPU异常,则在所述日记文件中记录异常标识和CPU异常信息。
3.如权利要求2所述的方法,其特征在于,所述创建标识为VM_THEAD;
所述创建的进程信息的结构为设定字节的进程标识ID;
所述创建的线程信息的结构为所述设定字节的线程ID。
4.如权利要求2所述的方法,其特征在于,所述加载标识为VM_MEMORY;
所述加载的模块信息的结构为所述设定字节的进程ID、二分之一所述设定字节的模块名长度、模块名字符串、所述设定字节的模块加载的基地址、所述设定字节的模块映射的内存大小、所述设定字节模块文件的大小、模块文件的二进制数据;
所述创建的堆信息的结构为所述设定字节的进程ID、二分之一所述设定字节的模块名长度、所述设定字节的模块加载的基地址、所述设定字节的堆大小、所述设定字节的无用数据;
所述创建的栈信息的结构为所述设定字节的进程ID、二分之一所述设定字节的模块名长度、所述设定字节的模块加载的基地址、所述设定字节的模块加载的基地址、所述设定字节的栈大小、所述设定字节的无用数据。
5.如权利要求2所述的方法,其特征在于,所述信息类型切换标识为VM_ESCAPE;
所述数据改写信息的结构为所述设定字节的进行数据改写指令的地址、所述设定字节的数据改写的起始地址、所述设定字节的记录长度、记录的数据内容。
6.如权利要求2所述的方法,其特征在于,所述异常标识为VM_EXCPTION,所述CPU异常信息结构为四分之一所述设定字节的异常类型、二分之一所述设定字节的异常特征位、所述设定字节的程序执行地址、所述设定字节的异常访问地址。
7.如权利要求2所述的方法,其特征在于,所述栈顶变化标识为VM_STACK;
所述新栈顶位置信息的结构为所述设定字节的新栈顶位置。
8.如权利要求2所述的方法,其特征在于,所述信息类型切换标识为VM_ESCAPE;
所述代码块信息的结构为所述设定字节的代码块的起始地址、所述设定字节的代码块的结束地址。
9.如权利要求2所述的方法,其特征在于,所述函数调用标识为VM_CALL。
10.如权利要求2所述的方法,其特征在于,所述函数返回标识为VM_RET。
11.如权利要求2所述的方法,其特征在于,所述循环标识为VM_LOOP;所述循环次数信息的结构为4个字节的循环次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210530485.6A CN102999374B (zh) | 2012-12-10 | 2012-12-10 | 一种基于虚拟机的信息记录方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210530485.6A CN102999374B (zh) | 2012-12-10 | 2012-12-10 | 一种基于虚拟机的信息记录方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102999374A true CN102999374A (zh) | 2013-03-27 |
CN102999374B CN102999374B (zh) | 2016-05-25 |
Family
ID=47927978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210530485.6A Active CN102999374B (zh) | 2012-12-10 | 2012-12-10 | 一种基于虚拟机的信息记录方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102999374B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516789A (zh) * | 2013-10-01 | 2015-04-15 | 国际商业机器公司 | 用于检查点系统中的故障转移检测和处理的方法和系统 |
CN106021069A (zh) * | 2016-06-01 | 2016-10-12 | 北京金山安全软件有限公司 | 一种cpu占用的检测方法、装置及设备 |
CN106709335A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
CN112416514A (zh) * | 2020-11-19 | 2021-02-26 | 山东可信云信息技术研究院 | 一种虚拟机启动可信性度量方法、系统、存储介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248611A1 (en) * | 2008-03-28 | 2009-10-01 | Vmware, Inc. | Trace Collection for a Virtual Machine |
US20090265706A1 (en) * | 2008-04-21 | 2009-10-22 | Vmware, Inc. | Computing machine migration |
CN101630269A (zh) * | 2009-07-03 | 2010-01-20 | 中国人民解放军国防科学技术大学 | 基于块对目标代码扫描并替换敏感指令的方法 |
CN102567079A (zh) * | 2011-12-29 | 2012-07-11 | 中国人民解放军国防科学技术大学 | 基于渐进式踪迹更新的并行程序能耗模拟评估方法 |
-
2012
- 2012-12-10 CN CN201210530485.6A patent/CN102999374B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248611A1 (en) * | 2008-03-28 | 2009-10-01 | Vmware, Inc. | Trace Collection for a Virtual Machine |
US20090265706A1 (en) * | 2008-04-21 | 2009-10-22 | Vmware, Inc. | Computing machine migration |
CN101630269A (zh) * | 2009-07-03 | 2010-01-20 | 中国人民解放军国防科学技术大学 | 基于块对目标代码扫描并替换敏感指令的方法 |
CN102567079A (zh) * | 2011-12-29 | 2012-07-11 | 中国人民解放军国防科学技术大学 | 基于渐进式踪迹更新的并行程序能耗模拟评估方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516789A (zh) * | 2013-10-01 | 2015-04-15 | 国际商业机器公司 | 用于检查点系统中的故障转移检测和处理的方法和系统 |
CN104516789B (zh) * | 2013-10-01 | 2017-09-05 | 国际商业机器公司 | 用于检查点系统中的故障转移检测和处理的方法和系统 |
CN106709335A (zh) * | 2015-11-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
CN106709335B (zh) * | 2015-11-17 | 2020-12-04 | 阿里巴巴集团控股有限公司 | 漏洞检测方法和装置 |
CN106021069A (zh) * | 2016-06-01 | 2016-10-12 | 北京金山安全软件有限公司 | 一种cpu占用的检测方法、装置及设备 |
CN112416514A (zh) * | 2020-11-19 | 2021-02-26 | 山东可信云信息技术研究院 | 一种虚拟机启动可信性度量方法、系统、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102999374B (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101174751B1 (ko) | 커널 콜백 매커니즘을 이용한 악성코드 자동 분석 방법 | |
CN103440457B (zh) | 基于进程模拟的二进制程序分析系统 | |
CN101515320B (zh) | 一种攻击时漏洞检测方法及其系统 | |
CN102004884B (zh) | 一种获取可执行文件输入表的方法及装置 | |
CN104102506B (zh) | 一种基于ARM平台的Android启动加速方法 | |
CN115269057B (zh) | 基于设备树的隔离系统生成配置文件的方法 | |
CN102439565A (zh) | 启动恢复的方法和装置 | |
KR101640769B1 (ko) | 가상화 시스템 및 그것의 명령어 실행 방법 | |
CN102999374A (zh) | 一种基于虚拟机的信息记录方法 | |
CN102567049A (zh) | 嵌入式操作系统的升级方法 | |
CN113672342A (zh) | 嵌入式虚拟化系统及构建、测试方法、终端及介质 | |
JP2015519646A (ja) | マルチテナント型アプリケーション・ドメイン及びメモリの管理を伴う修正されたjvm | |
CN107368739B (zh) | 一种内核驱动的监视方法和装置 | |
CN113157347A (zh) | 一种探针的自动部署方法、电子设备和存储介质 | |
US20240231847A9 (en) | Java bytecode injection methods and apparatuses, electronic devices, and storage media | |
CN107203410B (zh) | 一种基于系统调用重定向的vmi方法及系统 | |
Al-Sharif et al. | The Effects of Platforms and Languages on the Memory Footprint of the Executable Program: A Memory Forensic Approach. | |
CN102831334A (zh) | 一种目标地址定位方法和系统 | |
CN103019760B (zh) | 安装软件的结构及安装方法 | |
CN103019865A (zh) | 虚拟机监控方法和系统 | |
JP5766650B2 (ja) | 情報処理装置、監視方法および監視プログラム | |
CN109901831A (zh) | 软件的多平台兼容运行方法及兼容运行装置 | |
CN102737198A (zh) | 对象保护方法及装置 | |
US20120136906A1 (en) | Fixup cache tool for object memory compaction in an information handling system | |
CN102779250B (zh) | 文件可控执行的检测方法及虚拟机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building Patentee after: NSFOCUS Technologies Group Co.,Ltd. Patentee after: NSFOCUS TECHNOLOGIES Inc. Address before: 100089 Beijing city Haidian District Road No. 4 North wa Yitai three storey building Patentee before: NSFOCUS INFORMATION TECHNOLOGY Co.,Ltd. Patentee before: NSFOCUS TECHNOLOGIES Inc. |
|
CP01 | Change in the name or title of a patent holder |