CN103631712B - 一种基于内存管理的模式化软件关键行为跟踪方法 - Google Patents
一种基于内存管理的模式化软件关键行为跟踪方法 Download PDFInfo
- Publication number
- CN103631712B CN103631712B CN201310502650.1A CN201310502650A CN103631712B CN 103631712 B CN103631712 B CN 103631712B CN 201310502650 A CN201310502650 A CN 201310502650A CN 103631712 B CN103631712 B CN 103631712B
- Authority
- CN
- China
- Prior art keywords
- monitoring
- behavior
- software
- address
- api
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种基于内存管理的模式化软件关键行为跟踪方法,由部署在服务器的监控控制台和客户端的监控探头组成软件关键行为监控系统。监控控制台通过静态分析提取被监控软件的行为节点信息,定义关键行为及行为提取特征信息,采用探头注入的方式实现对目标软件的监控。监控探头利用函数劫持技术,并采用基于小内存管理的堆空间代码驻留技术和维持栈空间平衡的容器管理技术,实现关键行为信息的有效提取。本发明可以针对单线程、多线程及包含复杂递归调用关系的软件关键行为进行有效地跟踪,具有较高的灵活性和适应性,并且考虑了目标及其它软件的正常运行。
Description
技术领域
本发明涉及信息安全领域,特别是涉及一种基于内存管理模式化软件关键行为跟踪方法,实现软件关键行为的灵活管理和有效提取,属于计算机信息安全领域。
背景技术
随着信息化建设不断深入,软件应用已经成为社会、军事、企业等大系统中不可分割的重要组成部分。与此同时,由于软件行为内在的脆弱性和“黑盒”特性,软件应用的安全性与可靠性也已成为影响信息化运维的重要问题,亟需得到确认与保障。
软件行为准确地反映了软件的运行轨迹,内蕴地记录了软件的安全性与可靠性信息,对软件行为进行跟踪,监控软件的运行过程,发现软件行为错误,对应用软件的运维至关重要;与此同时,通过对软件行为的跟踪,实时分析软件容错能力,确保在容错范围内软件应用的有效运行,也是保证软件安全与可靠性的重要组成部分。伴随着软件应用与领域需求的融合度越来越高,用户对关键业务领域软件行为安全尤其是对软件关键行为的保障需求也越来越高。从不同的层次和角度考虑,软件关键行为的构成会有所差异。软件本身复杂度的不断提升和关键行为差异性的客观存在迫切需求一种能够实现软件关键行为灵活管理、具有较高适用性和实现有效跟踪的解决办法。
在当前软件行为跟踪领域研究中,静态分析软件代码和动态监控软件实例是提取软件行为轨迹信息两类主要的方法。基于静态分析的软件行为识别过程中,目标软件无需运行,识别方法以软件可执行程序为数据源,从中提取指令序列、控制流图、函数调用序列等信息,这种方法费时长、灵活性差、对分析识别人员的专业水平要求高,而且随着目标软件的升级往往需要重新进行识别从而造成维护成本的上升,同时缺乏软件行为动态执行后的结果数据,因此行为对软件运行安全的影响也就无法进行定量分析。基于动态监控软件实例的软件行为识别过程中,采用插件或探头的方式,以动态运行的软件为目标,从中提取函数调用序列、函数调用上下文信息、运行环境变化等信息,这种方法通常需要知道详细的软件行为节点信息以便定义大量的回调函数去获取行为节点信息,这就意味着针对不同的目标软件需要进行二次开发,即事前定制化开发;同时,随着目标软件的变化缺乏监控过程中的及时调整,降低了灵活性,即事中的不可控。
Hook技术是Windows平台下实现动态提取软件行为信息的主要技术。目前,IAT(ImportAddressTable)Hook和InlineHook是最主要的两种方法。第一种方法利用Windows系统API(ApplicationProgrammingInterface,应用程序编程接口)修改PE(PortableExecute,可移植执行体)文件中IAT表地址,同时定义与原函数签名信息相同的回调函数,实现对目标监控节点的劫持和信息提取。其不足之处在于,面对大量监控目标函数时,原函数签名信息的获取在增加工作量的同时也对开发人员函数熟悉程度有着较高的要求,另外,大量回调函数的定义也增加了开发人员的工作量,并降低了管理的灵活度。第二种方法利用汇编语言,采取修改函数入口地址指令的方式实现向监控函数的跳转,这种方法实现的监控节点挂载针对当前运行的所有进程有效,会影响到其它软件的正常运行。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种基于内存管理的模式化软件关键行为跟踪方法,本方法实现对软件关键行为节点的灵活控制;同时利用容器管理函数调用返回地址以维持栈帧的平衡,保障了软件的正常运行,从而有效地跟踪软件关键行为的运行轨迹。
一种基于内存管理的模式化软件关键行为跟踪方法包括步骤如下:
(1)监控控制台首先加载监控目标软件的PE文件,通过静态映射的方式分析出PE文件的行为节点信息;所述行为节点信息是指PE文件所引用的操作系统及其它用户自定义的API信息,行为节点信息存储在PE文件的IAT导入地址表中;
(2)根据步骤(1)得到的行为节点信息,通过添加和移除行为节点组成监控软件关键行为并存入数据库,并确定要提取的关键行为特征信息;所述关键行为特征信息包括参数、线程属性、进程属性、时间属性、位置属性;
(3)判断是否首次监控目标软件,若是则执行步骤(6);若不是则被视为监控运行中的调整,执行步骤(4);
(4)判断是否对新的行为节点进行监控,若是则执行步骤(7);若不是则
执行步骤(5);
(5)判断是否结束已被监控行为节点的监控,若是则执行步骤(12);若不是则被视为没有进行任何操作,进入步骤(14);
(6)监控控制台根据输入的监控目标软件的进程号,采用远程注入的方式将监控探头加载到监控目标软件进程空间当中,并完成监控探头的初始化;所述监控探头的初始化包括建立与监控控制台的通信连接、数据库连接及监控探头启动参数配置;
(7)监控探头从数据库中提取被监控关键行为的行为节点信息,并由内存管理器将行为节点信息进行数据格式转化,形成内存中可管理的持久化数据;所述内存管理器为监控探头的功能组成模块,用于数据转化、数据初始化及数据所占内存的分配与释放;
(8)内存管理器创建包含控制指令的5字节内存块,并建立与被监控行为节点的一对一映射关系;
(9)监控探头修改PE文件中的被监控行为节点的IAT导入地址表为与其对应的5字节内存块地址用于实现监控行为节点的监控;
(10)被监控的行为节点被劫持,监控目标软件通过跳转执行5字节小内存块中的控制指令进入跳转控制函数进行处理;所述的跳转控制函数处理包括以下步骤:
(a)定位被劫持的监控行为节点并提取被劫持的行为节点的相关特征信息,同时将监控目标软件执行的API的返回地址进行修改用于保证API执行完毕后返回继续提取行为节点的相关特征信息,并将未修改的API的返回地址保存在监控探头的栈容器中;
(b)采用CALL指令调用监控目标软件执行的API入口地址执行API;所述监控目标软件执行的API入口地址存储于内存管理模块中被监控行为节点的数据结构中;
(c)再次提取被劫持的监控行为节点的相关特征信息,并将保存在栈容器中的未修改的API的返回地址弹出用于保证跳转函数执行完毕后能够正确恢复到监控目标软件执行的逻辑轨道中;
(11)根据监控控制台的指令或者监控目标软件是否自动终止,判断是否结束监控,若是则执行步骤(12);若不是则返回执行步骤(10);
(12)结束监控目标软件的行为节点的监控,并恢复PE文件中的IAT导入地址表;
(13)依据步骤(12)中结束监控的行为节点信息,释放其所占的内存及与之映射的5字节内存块;
(14)结束。
所述步骤(10)中的控制指令是指汇编语言中的CALL指令,该控制指令使得监控目标软件行为节点在被劫持后进入跳转函数中;所述步骤(9)中的5字节内存块中,其中CALL指令占一个字节,其十六进制代码为0xE8,后4字节为跳转函数的偏移地址。
所述步骤(10)中的被劫持行为节点定位的方法如下:
(a)执行包含CALL指令的5字节内存块,其地址假设为addm,在调用执行跳转控制函数的同时,将返回地址addr压入当前栈帧;所述地址addr=addm+5;
(b)在跳转控制函数中,利用汇编指令取出未修改的API的返回地址addr,计算出5字节内存块地址addm;
(c)依据内存存储的映射数据和步骤(b)得到的5字节内存块地址addm,查找对应的监控行为节点,若存在则返回监控行为节点数据的地址;若不存在则返回NULL。
所述步骤(10)中的栈容器管理未修改的API的返回地址方法如下:
(a)在跳转控制函数中,提取未修改的API的返回地址addo;
(b)获取当前线程号,判断监控探头是否存在该线程号对应的栈容器,
若不存在则执行(c);若存在则执行步骤(d);
(c)创建新的栈容器;
(d)将地址addo压入栈容器;
(e)执行API;
(f)获取当前线程号,在监控探头中定位对应的栈容器并提取出地址addo;
(g)提取完毕后,判断当前栈容器是否为空,若为空则执行步骤(h);若不为空则执行步骤(i);
(h)销毁当前栈容器,并删除监控探头中的栈容器纪录;
(i)恢复API的返回地址,并进行堆栈平衡。
本发明与现有技术相比的有益效果是:
(1)本发明针对软件关键行为跟踪的灵活性和适应性问题,采用静态分析和动态监控实例相结合的方法,部署在服务器端的监控控制台通过对目标软件的PE文件得到其调用的系统API及其它外部API信息,目标软件的PE文件可为其可执行文件EXE,也可为其引用的外部接口文件如DLL文件;针对提取的软件行为节点信息,用户可自定义监控数量及被监控节点所要提取的行为特征信息,这些数据信息通过探头注入形成目标监控软件内存空间中的可管理数据,并可在监控过程中对监控数据进行管理。这种目标软件节点自动化分析、挂载、监控和管理的模式化流程,避免软件升级和监控目标不同而带来的二次开发,提高了该跟踪方法的适应性;同时,监控目标行为的自定义及监控的动态管理无疑增强了该跟踪方法的灵活性。
(2)本发明通过采用全局唯一的跳转监控函数,并在其内部实现对原函数的调用执行和行为轨迹信息的提取,实现了被监控函数与跳转监控函数的多对一跳转映射,从而避免了大量回调函数的定义,也为提高监控的灵活性和适应性创造了条件。
(3)本发明采用基于内存管理的技术,结合IATHook与InlineHook方式的各自优点,通过两者结合的方式实现对监控目标函数的挂载。监控探头在注入到目标软件进程空间后,创建与监控目标函数一对一对应的可管理的5字节内存块,修改IAT表使其跳转地址指向相应的5字节内存块地址,同时包含控制指令的5字节内存块保证代码在调用目标监控函数是能够跳转到监控处理函数中。这种方式解决了多对一跳转监控中的监控目标函数定位问题,同时也避免了InlineHook方式中对其它软件正常运行所产生的影响。
(4)本发明利用栈容器管理被劫持函数的正确返回地址,以维持跳转监控函数中的堆栈平衡和保证程序逻辑的正确执行。栈容器通过在原函数调用执行前从系统栈中取出并保存原返回地址,继而在原函数执行完毕并进行事后行为信息提取后,将返回地址恢复至系统栈中,这种方式既实现监控节点信息的事前和事后信息的提取,又保障了软件的正常运行。与此同时,由于线程在程序执行时其函数调用是串行的,且线程号在进程中是唯一的,因此建立与线程号一对一映射的栈容器避免了多线程同时调用同一监控目标函数所形成的混乱。
附图说明
图1为本发明流程图;
图2为本发明行为节点的监控和执行逻辑控制示意图;
图3为本发明被劫持行为节点定位示意图;
图4为本发明栈容器管理未修改的API的返回地址示意图。
具体实施方式
下面结附图对本发明的具体实施方式进行进一步的详细描述。
如图1所示,本发明中的一种基于内存管理的模式化软件关键行为跟踪方法,具体实施步骤如下:
(1)监控控制台首先加载监控目标软件的PE文件,通过静态映射的方式分析出PE文件的行为节点信息;所述行为节点信息是指PE文件所引用的操作系统及其它用户自定义的API信息,行为节点信息存储在PE文件的IAT导入地址表中;
(2)根据步骤(1)得到的行为节点信息,通过添加和移除行为节点组成监控软件关键行为并存入数据库,并确定要提取的关键行为特征信息;所述关键行为特征信息包括参数、线程属性、进程属性、时间属性、位置属性;
(3)判断是否首次监控目标软件,若是则执行步骤(6);若不是则被视为监控运行中的调整,执行步骤(4);
(4)判断是否对新的行为节点进行监控,若是则执行步骤(7);若不是则
执行步骤(5);
(5)判断是否结束已被监控行为节点的监控,若是则执行步骤(12);若不是则被视为没有进行任何操作,进入步骤(14);
(6)监控控制台根据输入的监控目标软件的进程号,采用Windows远程注入的方式将监控探头加载到监控目标软件进程空间当中,并完成监控探头的初始化;所述监控探头的初始化包括建立与监控控制台的通信连接、数据库连接及监控探头启动参数配置;
监控探头可以采用DLL文件形式实现,当一个DLL文件被映射到进程的地址空间时,系统调用该DLL的DllMain函数,若传递给fdwReason参数为DLL_PROCESS_ATTACH则会自动执行该条件下的代码,且这种调用只会发生在第一次映射时;
(7)监控探头从数据库中提取被监控关键行为的行为节点信息,并由内存管理器将行为节点信息进行数据格式转化,形成内存中可管理的持久化数据;所述内存管理器为监控探头的功能组成模块,用于数据转化、数据初始化及数据所占内存的分配与释放;
(8)内存管理器创建包含控制指令的5字节内存块,并建立与被监控行为节点的一对一映射关系;
(9)监控探头修改PE文件中的被监控行为节点的IAT导入地址表为与其对应的5字节内存块地址用于实现监控行为节点的监控;如图2所示,行为节点的监控和执行逻辑控制,采用基于内存管理的模式以及结合IATHook和InlineHook技术各自优点来实现;
(10)被监控的行为节点被劫持,监控目标软件通过跳转执行5字节小内存块中的控制指令进入跳转控制函数进行处理;
控制指令是指汇编语言中的CALL指令,该控制指令使得监控目标软件行为节点在被劫持后进入跳转函数中;所述步骤(9)中的5字节内存块中,其中CALL指令占一个字节,其十六进制代码为0xE8,后4字节为跳转函数的偏移地址;
跳转监控函数采用_nakedcall调用约束方式,该约束方式在编译器中生成的代码中不包含prolog和epilog代码,即裸函数,这种函数既方便对堆栈的操作,又可避免某些编译器在函数执行结束时由于堆栈检查而造成的运行错误。由于裸函数没有开辟新的栈帧,缺乏对内部局部变量的保护,因此需要自己开辟和销毁栈帧。在系统堆栈中,首先将指针寄存器EBP即栈底指针值压入系统堆栈保存,然后将栈顶指针即指针寄存器ESP值赋给EBP即开辟新的栈帧,同时让ESP减去0xCC即开辟204字节局部变量存储空间;
所述的跳转控制函数处理包括以下步骤:
(a)定位被劫持的监控行为节点并提取被劫持的行为节点的相关特征信息,同时将监控目标软件执行的API的返回地址进行修改用于保证API执行完毕后返回继续提取行为节点的相关特征信息,并将未修改的API的返回地址保存在监控探头的栈容器中;
如图3所示,被劫持行为节点定位的方法如下:
(aa)执行包含CALL指令的5字节内存块,其地址假设为addm,在调用执行跳转控制函数的同时,将返回地址addr压入当前栈帧;所述地址addr=addm+5;
(ab)在跳转控制函数中,利用汇编指令取出未修改的API的返回地址addr,计算出5字节内存块地址addm;
(ac)依据内存存储的映射数据和步骤(b)得到的5字节内存块地址addm,查找对应的监控行为节点,若存在则返回监控行为节点数据的地址;若不存在则返回NULL。
(b)采用CALL指令调用监控目标软件执行的API入口地址执行API;所述监控目标软件执行的API入口地址存储于内存管理模块中被监控行为节点的数据结构中;
(c)再次提取被劫持的监控行为节点的相关特征信息,并将保存在栈容器中的未修改的API的返回地址弹出用于保证跳转函数执行完毕后能够正确恢复到监控目标软件执行的逻辑轨道中;
如图4所示,栈容器管理未修改的API的返回地址方法如下:
(ca)在跳转控制函数中,提取未修改的API的返回地址addo;
(cb)获取当前线程号,判断监控探头是否存在该线程号对应的栈容器,
若不存在则执行(c);若存在则执行步骤(d);
(cc)创建新的栈容器;
(cd)将地址addo压入栈容器;
(ce)执行API;
(cf)获取当前线程号,在监控探头中定位对应的栈容器并提取出地址addo;
(cg)提取完毕后,判断当前栈容器是否为空,若为空则执行步骤(ch);若不为空则执行步骤(ci);
(ch)销毁当前栈容器,并删除监控探头中的栈容器纪录;
(ci)恢复API的返回地址,并进行堆栈平衡。
(11)根据监控控制台的指令或者监控目标软件是否自动终止,判断是否结束监控,若是则执行步骤(12);若不是则返回执行步骤(10);
(12)结束监控目标软件的行为节点的监控,并恢复PE文件中的IAT导入地址表;
(13)依据步骤(12)中结束监控的行为节点信息,释放其所占的内存及与之映射的5字节内存块;
(14)结束。
本发明说明书中未作详细描述的内容属于本领域技术人员的公知技术。
Claims (3)
1.一种基于内存管理的模式化软件关键行为跟踪方法,其特征在于步骤如下:
(1)监控控制台首先加载监控目标软件的PE文件,通过静态映射的方式分析出PE文件的行为节点信息;所述行为节点信息是指PE文件所引用的操作系统及其它用户自定义的API信息,行为节点信息存储在PE文件的IAT导入地址表中;
(2)根据步骤(1)得到的行为节点信息,通过添加和移除行为节点组成监控软件关键行为并存入数据库,并确定要提取的关键行为特征信息;所述关键行为特征信息包括参数、线程属性、进程属性、时间属性、位置属性;
(3)判断是否首次监控目标软件,若是则执行步骤(6);若不是则被视为监控运行中的调整,执行步骤(4);
(4)判断是否对新的行为节点进行监控,若是则执行步骤(7);若不是则
执行步骤(5);
(5)判断是否结束已被监控行为节点的监控,若是则执行步骤(12);若不是则被视为没有进行任何操作,进入步骤(14);
(6)监控控制台根据输入的监控目标软件的进程号,采用远程注入的方式将监控探头加载到监控目标软件进程空间当中,并完成监控探头的初始化;所述监控探头的初始化包括建立与监控控制台的通信连接、数据库连接及监控探头启动参数配置;
(7)监控探头从数据库中提取被监控关键行为的行为节点信息,并由内存管理器将行为节点信息进行数据格式转化,形成内存中可管理的持久化数据;所述内存管理器为监控探头的功能组成模块,用于数据转化、数据初始化及数据所占内存的分配与释放;
(8)内存管理器创建包含控制指令的5字节内存块,并建立与被监控行为节点的一对一映射关系;
(9)监控探头修改PE文件中的被监控行为节点的IAT导入地址表为与其对应的5字节内存块地址用于实现被监控的行为节点的监控;
(10)被监控的行为节点被劫持,监控目标软件通过跳转执行5字节内存块中的控制指令进入跳转控制函数进行处理;所述的跳转控制函数处理包括以下步骤:
(a)定位被劫持的被监控的行为节点并提取被劫持的被监控的行为节点的相关特征信息,同时将监控目标软件执行的API的返回地址进行修改用于保证API执行完毕后返回继续提取行为节点的相关特征信息,并将未修改的API的返回地址保存在监控探头的栈容器中;
(b)采用CALL指令调用监控目标软件执行的API入口地址执行API;所述监控目标软件执行的API入口地址存储于内存管理模块中被监控行为节点的数据结构中;
(c)再次提取被劫持的监控行为节点的相关特征信息,并将保存在栈容器中的未修改的API的返回地址弹出用于保证跳转函数执行完毕后能够正确恢复到监控目标软件执行的逻辑轨道中;
(11)根据监控控制台的指令或者监控目标软件是否自动终止,判断是否结束监控,若是则执行步骤(12);若不是则返回执行步骤(10);
(12)结束监控目标软件的行为节点的监控,并恢复PE文件中的IAT导入地址表;
(13)依据步骤(12)中结束监控的行为节点信息,释放其所占的内存及与之映射的5字节内存块;
(14)结束;
所述步骤(10)中的控制指令是指汇编语言中的CALL指令,该控制指令使得监控目标软件行为节点在被劫持后进入跳转函数中;所述步骤(9)中的5字节内存块中,其中CALL指令占一个字节,其十六进制代码为0xE8,后4字节为跳转函数的偏移地址。
2.根据权利要求1中所述的一种基于内存管理的模式化软件关键行为跟踪方法,其特征在于:所述步骤(10)中的被劫持的被监控的行为节点定位的方法如下:
(a)执行包含CALL指令的5字节内存块,其地址假设为addm,在调用执行跳转控制函数的同时,将返回地址addr压入当前栈帧;所述地址addr=addm+5;
(b)在跳转控制函数中,利用汇编指令取出未修改的API的返回地址addr,计算出5字节内存块地址addm;
(c)依据内存存储的映射数据和步骤(b)得到的5字节内存块地址addm,查找对应的被劫持的被监控的行为节点,若存在则返回被劫持的被监控的行为节点数据的地址;若不存在则返回NULL。
3.根据权利要求1中所述的一种基于内存管理的模式化软件关键行为跟踪方法,其特征在于:
所述步骤(10)中的栈容器管理未修改的API的返回地址方法如下:
(a)在跳转控制函数中,提取未修改的API的返回地址addo;
(b)获取当前线程号,判断监控探头是否存在该线程号对应的栈容器,
若不存在则执行(c);若存在则执行步骤(d);
(c)创建新的栈容器;
(d)将地址addo压入栈容器;
(e)执行API;
(f)获取当前线程号,在监控探头中定位对应的栈容器并提取出地址addo;
(g)提取完毕后,判断当前栈容器是否为空,若为空则执行步骤(h);若不为空则执行步骤(i);
(h)销毁当前栈容器,并删除监控探头中的栈容器纪录;
(i)恢复API的返回地址,并进行堆栈平衡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310502650.1A CN103631712B (zh) | 2013-10-23 | 2013-10-23 | 一种基于内存管理的模式化软件关键行为跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310502650.1A CN103631712B (zh) | 2013-10-23 | 2013-10-23 | 一种基于内存管理的模式化软件关键行为跟踪方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103631712A CN103631712A (zh) | 2014-03-12 |
CN103631712B true CN103631712B (zh) | 2016-03-02 |
Family
ID=50212796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310502650.1A Active CN103631712B (zh) | 2013-10-23 | 2013-10-23 | 一种基于内存管理的模式化软件关键行为跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631712B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095416B (zh) * | 2016-06-01 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 一种在应用程序中的跳转处理方法、装置及智能终端 |
CN108846287A (zh) * | 2018-06-26 | 2018-11-20 | 北京奇安信科技有限公司 | 一种检测漏洞攻击的方法及装置 |
CN109086183B (zh) * | 2018-07-12 | 2022-08-16 | 武汉斗鱼网络科技有限公司 | 一种应用程序的监控方法、装置、电子设备及存储介质 |
CN109918912B (zh) * | 2019-03-27 | 2023-09-05 | 深信服科技股份有限公司 | 一种针对计算机病毒的文件修复方法及相关设备 |
CN110134617A (zh) * | 2019-05-15 | 2019-08-16 | 上海东软载波微电子有限公司 | 地址空间分配方法及装置、计算机可读存储介质 |
CN111857681B (zh) * | 2020-06-08 | 2021-04-30 | 北京大学 | 一种c++系统的软件定义化关键函数定位与提取方法 |
CN115208250B (zh) * | 2022-07-07 | 2023-03-24 | 北京瑞祺皓迪技术股份有限公司 | 一种基于对象的步进电机控制装置、方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320416A (zh) * | 2008-05-20 | 2008-12-10 | 北京深思洛克数据保护中心 | 一种检测软件处于调试状态的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325615A1 (en) * | 2009-06-23 | 2010-12-23 | Myspace Inc. | Method and system for capturing web-page information through web-browser plugin |
-
2013
- 2013-10-23 CN CN201310502650.1A patent/CN103631712B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320416A (zh) * | 2008-05-20 | 2008-12-10 | 北京深思洛克数据保护中心 | 一种检测软件处于调试状态的方法和系统 |
Non-Patent Citations (2)
Title |
---|
Toward automated dynamic malware analysis using CWSandbox;Carsten Willems 等;《IEEE Security and Privacy》;20071231;第32-39页 * |
一个新的软件行为动态可信评测模型;杨晓晖 等;《小型微型计算机系统》;20101130;第31卷(第11期);第2113-2120页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103631712A (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631712B (zh) | 一种基于内存管理的模式化软件关键行为跟踪方法 | |
US6298353B1 (en) | Checking serialization compatibility between versions of java classes | |
CN104111848B (zh) | 一种基于异步检查点的多线程软件动态升级方法 | |
US10120672B2 (en) | Method for offline updating virtual machine images | |
CN103927484B (zh) | 基于Qemu模拟器的恶意程序行为捕获方法 | |
CN103440457B (zh) | 基于进程模拟的二进制程序分析系统 | |
CN110244942B (zh) | 一种页面生成方法、装置及系统 | |
CN104657258B (zh) | 一种向目标进程内注入Java字节码的方法及装置 | |
CN110737892B (zh) | 一种针对apc注入的检测方法和相关装置 | |
CN110489310B (zh) | 一种记录用户操作的方法、装置、存储介质及计算机设备 | |
EP4055477A1 (en) | Just-in-time containers | |
US10310827B2 (en) | Flow-based scoping | |
CN101154185A (zh) | 软件运行时执行恢复与重放方法 | |
CN113296786B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
US11886326B2 (en) | Configuring test operations on a per-module basis | |
CN104778087B (zh) | 一种信息处理方法以及信息处理装置 | |
US20200019423A1 (en) | Constructor accessibility checks for deserialization | |
US7958490B2 (en) | System for automating the definition of application objects supporting undoing, redoing compressing and logging operations | |
CN111352631A (zh) | 一种接口兼容性检测方法及装置 | |
CN111124610B (zh) | 一种应用容器中应用程序调用方法、装置及存储介质 | |
US10657476B2 (en) | Just in time compilation (JIT) for business process execution | |
Zhao et al. | Collaborative reversing of input formats and program data structures for security applications | |
CN110321135B (zh) | 热修复方法、装置、设备及计算机可读存储介质 | |
CN116893813A (zh) | 一种基于ElementUI封装标签输入框组件的方法、系统、装置及存储介质 | |
CN113031942A (zh) | 一种威胁处置工具的生成方法、装置和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20161017 Address after: 100048 Haidian District, Beijing Fu Cheng Road, No. 16 Patentee after: China Academy of Aerospace Systems Science and Engineering Address before: 100048, Fu Cheng Road, Beijing, Haidian District, No. 14 Patentee before: Beijing information is controlled research institute |