Linux: SegV在__strcpy_sse2 函数, core stack 分析; ABI __strncpy_ssse3

214 篇文章 8 订阅 ¥9.90 ¥99.00
97 篇文章 19 订阅 ¥59.90 ¥99.00
这篇博客详细分析了Linux系统中遇到的SegV错误,特别是在__strcpy_sse2和__strncpy_ssse3函数调用时的情况。文章探讨了寄存器的值、SegV发生的位置、函数定义,特别是x86-64架构下的栈分析。同时,博主深入研究了不同处理器体系结构下的ABI(应用程序二进制接口),包括调用规范、ILP32和LP64模型,并提供了多个相关文档链接作为参考。
摘要由CSDN通过智能技术生成

SegV分析实例

寄存器的值

如果栈内容被破坏,唯一的希望是看PC有没有被破坏,在intel x86 结构,函数调用call之后PC是放在堆栈开头。EBP+8

Register Dump:
     GS= 00000063        FS= 00000000        ES= 0000002b        DS= 0000002b
    EDI= f0e9a1b8       ESI= f0e9a11c       EBP= f0ec8018       ESP= f0e99e4c    ///EBP- ESP = 2E1CC  占用的栈太大了,越界了
    EBX= 109261e8       EDX= f0e9a159       ECX= 00000000 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mzhan017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值