[发明专利]程序退出方法、装置、计算机设备和存储介质有效
申请号: | 202010200911.4 | 申请日: | 2020-03-20 |
公开(公告)号: | CN111427623B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 周亚桥 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/448 |
代理公司: | 北京华夏泰和知识产权代理有限公司 11662 | 代理人: | 杜欣;刘蔓莉 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 退出 方法 装置 计算机 设备 存储 介质 | ||
1.一种程序退出方法,其特征在于,所述方法包括:
获取线程功能程序,所述线程功能程序包含预设退出函数;
利用等效代码替换所述预设退出函数对应的代码,得到修改后的预设退出函数,所述等效代码包括间接访问空指针的代码以及修改寄存器值的代码,所述寄存器值包括rsp寄存器值、rbp寄存器值和通用寄存器值,所述rsp寄存器值、rbp寄存器值和通用寄存器值为合法区间内的任意值,修改寄存器值的代码用于破坏程序中的堆栈信息;
将所述线程功能程序作为父进程,根据分叉函数创建一个子进程,所述子进程为所述父进程的副本,所述子进程通过追踪函数调试所述父进程;
判断所述父进程是否被子进程成功调试,所述父进程同时只能被一个追踪函数进行调试;
若所述父进程没有被所述子进程成功调试时,调用所述修改后的预设退出函数退出程序。
2.根据权利要求1所述的方法,其特征在于,所述判断所述父进程是否被子进程成功调试,包括:
选择所述子进程中的任意变量作为目标变量,所述目标变量的值为特定值;
根据所述父进程中对应的目标变量的值判断所述父进程是否被子进程成功调试;
所述若所述父进程没有被所述子进程成功调试时,调用所述修改后的预设退出函数退出程序,包括:
当所述父进程中对应的目标变量的值不为特定值时,所述子进程调试所述父进程失败,调用所述修改后的预设退出函数退出程序。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述父进程中对应的目标变量的值与所述特定值相等时,判定所述父进程被子进程成功调试,继续程序运行。
4.一种程序退出装置,其特征在于,所述装置包括:
程序获取模块,用于获取线程功能程序,所述线程功能程序包含预设退出函数;
函数修改模块,用于利用等效代码替换所述预设退出函数对应的代码,得到修改后的预设退出函数,所述等效代码包括间接访问空指针的代码以及修改寄存器值的代码,所述寄存器值包括rsp寄存器值、rbp寄存器值和通用寄存器值,所述rsp寄存器值、rbp寄存器值和通用寄存器值为合法区间内的任意值,修改寄存器值的代码用于破坏程序中的堆栈信息;
关联模块,用于将所述线程功能程序作为父进程,根据分叉函数创建一个子进程,所述子进程为所述父进程的副本,所述子进程通过追踪函数调试所述父进程;
调试判断模块,用于判断所述父进程是否被子进程成功调试,所述父进程同时只能被一个追踪函数进行调试;
程序退出模块,用于若所述父进程没有被所述子进程成功调试时,调用所述修改后的预设退出函数退出程序。
5.根据权利要求4所述的装置,其特征在于,所述调试判断模块包括:
标志选定单元,用于选择所述子进程中的任意变量作为目标变量,所述目标变量的值为特定值;
特定值判断单元,用于根据所述父进程中对应的目标变量的值判断所述父进程是否被子进程成功调试;
所述程序退出模块包括:
程序退出单元,用于当所述父进程中对应的目标变量的值不为特定值时,所述子进程调试所述父进程失败,调用所述修改后的预设退出函数退出程序。
6.根据权利要求5所述的装置,其特征在于,所述程序退出模块还包括:
程序运行单元,用于当所述父进程中对应的目标变量的值与所述特定值相等时,判定所述父进程被子进程成功调试,继续程序运行。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010200911.4/1.html,转载请声明来源钻瓜专利网。