专栏首页debugeeker的专栏《coredump问题原理探究》Linux x86版5.1节C风格数据结构内存布局之引言

《coredump问题原理探究》Linux x86版5.1节C风格数据结构内存布局之引言

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/details/8611441

在定位coredump位置,过程无非是找到哪一行代码出现,哪个变量,参数或元素出现问题.。在第四章,已经探讨了函数的逆向。通过逆向出问题的函数,可以根据出错的指令定位到哪一行代码。但这还远远不够,因为在很多情况必须要知道是哪个数据出问题。在很多情况下,

如:

int result = insertSql( userSession->db->table, userSession->user,
 userSession->passwd, strSql,  (*userSession->begin)() );

如果这样一行代码出现coredump了,那么究竟是userSession的值非法,还是userSession->db的值非法,还是userSession->begin这个成员函数指针有问题呢?

不敢确定。如果有调试信息还好,但如果调试信息的缺失,往往根本没办法把某个变量显示出来,那么有什么方法呢?

排查代码,然后逐个修改,逐个测试,确保没问题?如果问题只在客户环境出现呢,在公司内部无法出现呢?怎么办?

由上一章,已经可以从汇编指令上下文找出它的地址,也就是说,通过指令特征找到还原出错代码行,那么,变量所属的数据结构有没有特征,然后根据变量所属类型在内存布局的特征,从而找到所需要的信息?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 《coredump问题原理探究》Linux x86版第一章前言

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

    血狼
  • 《coredump问题原理探究》windows版5.2节数组

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

    血狼
  • xss渗透试验(1)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

    血狼
  • 优秀CTO是怎么炼成的

    今天我们一起来探讨一下,国内企业对CTO的岗位要求、个人素质要求,以供各位技术管理者参考,也可以根据这些具体要求,在实际工作中去提升和改进。

    博文视点Broadview
  • 暴走农夫之看我如何利用csrf漏洞+逻辑漏洞实现任意密码重置

    用户1467662
  • SQL Server数据库阻塞,死锁查询

    SpringSun
  • flash的前端解决方案

    flash作为h5 video未完全替代的产物,在目前的pc端仍占有具有的比例,而前端如何去根据浏览器进行判断并根据需要提示给页面是我们必备的常识。

    RobinsonZhang
  • 为什么越来越少的人用 jQuery?

    最早期的开发,大多都使用jQuery,它给我们带来了很多的便利:快速选取元素,方便操作DOM元素的API,各个浏览器之间完美的兼容性,链式操作,动画、ajax...

    Java帮帮
  • Java工程师成神之路(一)之jvm基础篇

    每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在 Java ...

    哲洛不闹
  • python: assert 内建函数

    当 expression (表达式) 的 bool类型 为 False 时,如果 arguments 被定义了,则抛出 arguments ,否则抛出 Asse...

    JNingWei

扫码关注云+社区

领取腾讯云代金券