一种基于EBP构造的栈栈帧内容保护方法,其具体步骤如下:
初始化步骤:
函数调用发生时的处理步骤:
被调用函数执行期间的步骤:
被调用函数执行完成后的步骤:
本发明特点: - 被调用函数对栈中栈帧的定位操作被透明地重定向到影子栈帧中。 - 被调用函数在后续对目标栈帧的任何修改操作都将在影子栈帧中完成,从而实现对原有栈帧的保护。 - 在被调用函数返回时,将原有栈帧与影子栈帧内容进行比较。 - 通过比较,可以确定被调用函数更改了系统中的哪些栈帧内容。 - 为分析被调用函数的栈帧行为提供支持。
| 专利名称 | 基于ebp构造的栈栈帧内容保护方法 | ||
|---|---|---|---|
| 专利状态 | - | 专利号(申请号) | CN201410102934.6 |
| 申请号 | - | 专利申请日期 | 2014-03-19 |
| 专利授权日期 | 2017-02-01 | 专利权届满日 | - |
| 专利所属地 | 中国 | 专利类型 | 发明专利 |
| 发明人 | 陈兴蜀;李辉;张磊;王文贤;郑炳伦 | ||
| 权利人 | - | ||
| 专利摘要 | 一种基于ebp构造的栈栈帧内容保护方法,包括1、初始化的步骤;2、当函数调用发生时,保存当前ebp寄存器数值,并更改其值为指向page所在内存页的步骤;3、在被调用函数执行期间,捕获其对ebp链的定位操作并对被调用函数所定位的栈帧提供保护的步骤;4、被调用函数执行完成返回时,查看栈帧内容和恢复的步骤。本发明中,被调用函数对栈中的栈帧定位操作被透明地重定向到影子栈帧中,被调用函数在随后针对目标栈帧的任何修改操作都将在影子栈帧中完成,实现了对原有栈帧的保护。同时,在被调用函数返回时,将原有栈帧同影子栈帧内容进行比较,可以确定被调用函数更改了系统中的哪些栈帧内容,为分析被调用函数的栈帧行为提供支持。 | ||