一种基于虚函数表劫持绕过安全检测的方法与系统与流程

文档序号:13250482阅读:来源:国知局
技术特征:
1.一种基于虚函数表劫持绕过安全检测的方法,其特征在于,所述方法包括如下步骤:(1)获取进程中IDirect3DDevice9对象的虚函数表的地址;(2)从d3d9.h头文件中找到Present函数在IDirect3DDevice9对象所在的虚函数表中的序号;(3)构造一个用于替换系统Present函数的桩函数,该桩函数用于实现:调用开发者设计的函数,以及调用系统Present函数;(4)根据IDirect3DDevice9对象的虚函数表的地址以及Present函数在虚函数表中的序号,将IDirect3DDevice9对象的虚函数表中的Present函数替换为桩函数。2.如权利要求1所述的基于虚函数表劫持绕过安全检测的方法,其特征在于,所述步骤(1)获取的地址为进程中IDirect3DDevice9对象的虚函数表的指针。3.如权利要求1或2所述的基于虚函数表劫持绕过安全检测的方法,其特征在于,在所述步骤(2)中,Present函数在IDirect3DDevice9对象所在的虚函数表中的序号为17。4.如权利要求1或2所述的基于虚函数表劫持绕过安全检测的方法,其特征在于,所述步骤(4)的具体实现方式为:pDeviceVt[Present_ID]=(DWORD)&nakedPresentTrans,其中pDeviceVt为IDirect3DDevice9对象的虚函数表指针,Present_ID为Present函数在IDirect3DDevice9对象所在的虚函数表中的序号,nakedPresentTrans为桩函数,DWORD为4字节数据类型。5.一种基于虚函数表劫持绕过安全检测的系统,其特征在于,包括虚函数表地址获取模块、Present函数序号查找模块、桩函数构造模块以及\tPresent函数替换模块,其中:所述虚函数表地址获取模块,用于获取进程中IDirect3DDevice9对象的虚函数表的地址;所述Present函数序号查找模块,用于从d3d9.h头文件中找到Present函数在IDirect3DDevice9对象所在的虚函数表中的序号;所述桩函数构造模块,用于构造一个用于替换系统Present函数的桩函数,该桩函数用于实现:调用开发者设计的函数,以及调用系统Present函数;所述Present函数替换模块,用于根据IDirect3DDevice9对象的虚函数表的地址以及Present函数在虚函数表中的序号,将IDirect3DDevice9对象的虚函数表中的Present函数替换为桩函数。6.如权利要求5所述的基于虚函数表劫持绕过安全检测的系统,其特征在于,所述虚函数表地址获取模块获取的地址为进程中IDirect3DDevice9对象的虚函数表的指针。7.如权利要求5或6所述的基于虚函数表劫持绕过安全检测的系统,其特征在于,所述Present函数在IDirect3DDevice9对象所在的虚函数表中的序号为17。8.如权利要求5或6所述的基于虚函数表劫持绕过安全检测的系统,其特征在于,所述Present函数替换模块替换Present函数的具体实现方式为:pDeviceVt[Present_ID]=(DWORD)&nakedPresentTrans,其中pDeviceVt为IDirect3DDevice9对象的虚函数表指针,Present_ID为Present函数在IDirect3DDevice9对象所在的虚函数表中的序号,nakedPresentTrans为桩函数,DWORD为4字节数据类型。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1