发明名称 |
栈溢出位置的检测方法及装置 |
摘要 |
本公开是关于栈溢出位置的检测方法及装置,用以实现快捷简便地检测栈溢出位置。该方法包括:在执行待测函数之前,确定程序中随机初始化数字的初始值,其中,所述随机初始化数字处于所述程序的数组缓冲区的最后一个元素的前一个字节对齐地址处;执行所述待测函数,并在执行所述待测函数之后,获取所述随机初始化数字的当前值;判断所述当前值与所述初始值是否相同;当所述当前值与所述初始值相同时,确定所述待测函数未发生栈溢出;当所述当前值与所述初始值不相同时,确定所述待测函数发生栈溢出。该方法实现了快捷简便地检测栈溢出位置。 |
申请公布号 |
CN104714885A |
申请公布日期 |
2015.06.17 |
申请号 |
CN201510080254.3 |
申请日期 |
2015.02.13 |
申请人 |
小米科技有限责任公司 |
发明人 |
李明浩;甘晓霖;王舒捷 |
分类号 |
G06F11/36(2006.01)I;G06F21/52(2013.01)I |
主分类号 |
G06F11/36(2006.01)I |
代理机构 |
北京尚伦律师事务所 11477 |
代理人 |
代治国 |
主权项 |
一种栈溢出位置的检测方法,其特征在于,包括:在执行待测函数之前,确定程序中随机初始化数字的初始值,其中,所述随机初始化数字处于所述程序的数组缓冲区的最后一个元素的前一个字节对齐地址处,所述待测函数属于所述程序;执行所述待测函数,并在执行所述待测函数之后,获取所述随机初始化数字的当前值;判断所述当前值与所述初始值是否相同;当所述当前值与所述初始值相同时,确定所述待测函数未发生栈溢出;当所述当前值与所述初始值不相同时,确定所述待测函数发生栈溢出。 |
地址 |
100085 北京市海淀区清河中街68号华润五彩城购物中心二期13层 |