dump 定位分析

news2024/11/15 12:20:57

在缺少pdb的时候如何分析dump?

windbg+ida

Windbg定位崩溃位置

  1. 通过windbg打开dump,并且分析dump !analyze -v
    在这里插入图片描述

分析:

  • 分析dump: !analyze -v
  • 错误原因:读取空指针
  • 错误线程:00001e04,可通过命令~查看线程列表,~N切换线程,N表示线程序号
  • 查看崩溃堆栈:.ecxr;kbn,截图上的崩溃调用堆栈
  • 查看当前帧信息:.frame N,N为第几帧的序号,默认为0

结论:

  • 由于缺少pdb无法定位具体代码,但是可以知道崩溃位置位于:ScreenLock_mf+0x902e,崩溃第一帧。

IDA定位大概原因(新手)

  1. 通过IDA打开ScreenLock_mf.exe(不管是exe还是dll,都选择打开模式pe.dll)
    在这里插入图片描述
  2. 打开之后,切换到IDA View,并且切换至最顶部,查看镜像基址Imagebase : 400000
    在这里插入图片描述
  3. 通过windbg得到崩溃地址ScreenLock_mf+0x902e,即:Imagebase + 0x902e=40902E
  4. G键跳转到崩溃地址(输入的地址不含空格
    在这里插入图片描述
  5. 在定位地址按tab键,即可切换到伪代码view,确定崩溃函数。
    在这里插入图片描述
  6. 查看该函数的相关引用,按tab键切换到IDA View。往上翻直至分割线。
    在这里插入图片描述
  7. 双击引用的函数:OnUdpRspMsg,即可切换到调用崩溃函数isPackidValid的地方,并且查看伪代码,确定上下文的伪代码。
    在这里插入图片描述
  8. 打开源码,通过伪代码定位源码,检查崩溃原因。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/431635.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux进阶篇】磁盘及分区

目录 🍁文件系统 🍂虚拟机添加磁盘 🍂磁盘分区方式 🍂分区格式化 🍂挂载磁盘 🍁磁盘高级管理 🍂LVM:逻辑卷 🍃创建PV 物理卷 🍃创建VG 卷组 🍃创建…

说说你对 Webpack 的理解?解决了什么问题?

1、对webpack的理解 简单来说,webpack 是一个用于现代JavaScript应用程序的静态模块打包工具。 当 webpack处理应用程序时,它会在内部构建一个依赖图,此依赖图对应映射到项目所需的每个模块(不再局限js文件)&#xf…

【数据结构与算法】 - 双向链表 - 详细实现思路及代码

目录 一、概述 二、双向链表 三、双向链表实现步骤  📌3.1 C语言定义双向链表结点  📌3.2 双向链表初始化  📌3.3 双向链表插入数据  📌3.4 双向链表删除数据  📌3.5 双向链表查找数据  📌3.6 双向链…

总线仿真与测试工具CANoe介绍(图文并茂)

1、什么是CANoe CANoe是德国Vector公司的一款用于开发、测试和分析单个ECU和整个ECU网络的综合性工具,包括软件和硬件。它在整个开发过程中为网络设计者、开发和测试工程师提供支持:从规划到系统级测试。由于其多种变体和功能能够对不同的项目提供支持,被全球OEM和供应商广…

USB 速度识别

文章目录USB 速度识别低速设备全速设备高速设备空闲状态低速 / 全速设备高速设备SE0SE1USB 速度识别 在 USB host 或者 hub 的每个下行端口(downstream facing port)的 D 和 D- 上分别接了一个 15KΩ 的下拉电阻到地,这样,当端口…

SpringBoot自动装配原理(附面试快速答法)

文章目录SpringBoot自动装配原理1. 从调用SpringApplication构造器方法开始2. 解析启动类4.按需装配4.1 分析dubbo自动装配5. 如果定义自己的starter6. 面试答法SpringBoot自动装配原理 之前面试被问到这个题目,只会答一些spi、AutoConfigration注解、Import之类的&…

《SQLi-Labs》01. Less 1~5

Less-1 ~ Less-5 前言Less-1知识点题解 Less-2题解 Less-3题解 Less-4题解 Less-5知识点题解 sqli。开启新坑。 前言 对于新手,为了更加直观的看到 sql 注入语句,可以在以下文件添加两句: echo $sql; # 将构造的 sql 语句进行输出 echo &qu…

Maven依赖冲突分析和解决

使用maven管理jar包依赖时,可能会出现jar包版本冲突,不同版本的api调用方式可能不同,会出现NoSuchMethodError和ClassNotFoundException问题,甚至编译不通过,如:在common-lang3 的3.8.1版本中MethodUtils::…

Python中的@cache巧妙用法

缓存是一种空间换时间的策略,缓存的设置可以提高计算机系统的性能,这篇文章主要介绍了Python中的cache巧妙用法,需要的朋友可以参考下 Python中的cache有什么妙用? 缓存是一种空间换时间的策略,缓存的设置可以提高计算机系统的性…

Spark 简介与原理

目录标题1 Spark 简介与原理1.1 Spark与Hadoop的区别1.2 Spark的应用场景1.3 Spark的作业运行流程1.4 Spark 2.X与Spark 1.X的区别1 Spark 简介与原理 Spark 是一个大规模数据处理的统一分析引擎。 具有迅速、通用、易用、支持多种资源管理器的特点。 Spark生态系统: Spark SQL…

双榜加冕!加速科技荣登2023准独角兽中国未来独角兽双榜单

4月10日至11日,由杭州市人民政府、民建浙江省委会、中国投资发展促进会主办的第7届万物生长大会在杭州国际博览中心隆重举行。会上,中国投资发展促进会创投专委会、杭州市创业投资协会联合微链共同发布2023杭州市独角兽(准独角兽)…

【高危】vm2 <3.9.16 沙箱逃逸漏洞(CVE-2023-29199)

漏洞描述 vm2 是一个基于 Node.js 的沙箱环境,可以使用列入白名单的 Node 内置模块运行不受信任的代码。 vm2 3.9.16之前版本中,由于transformer.js中transformer函数中异常处理逻辑不够完善,攻击者可通过制造异常绕过handleException()并造…

精通 TensorFlow 2.x 计算机视觉:第一部分

原文:Mastering Computer Vision with TensorFlow 2.x 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,…

Downie 4 4.6.14 MAC上最新最好用的一款视频下载工具

Downie for Mac 简介 Downie是Mac下一个简单的下载管理器,可以让您快速将不同的视频网站上的视频下载并保存到电脑磁盘里然后使用您的默认媒体播放器观看它们。 Downie 4 下载 Downie 4 for Mac Downie 4 for Mac软件特点 支持许多站点 -当前支持1000多个不同的…

printf里的格式控制符

%p:打印地址(指针地址),十六进制形式输出,有多少位输出多少位,取决于是32 or 64位系统,如果输出不够位宽,左边补0。 %f用来输出实数,以小数形式输出,默认情况下保留小数点…

自动化测试工程师需要具备什么技能?

如果是初入门的学习者,不建议拿一本书从头学,很可能会被里边一些专业术语和不常用的技术带偏,不论在公司还是在其他岗位上自学测试,都可以用自己搭建好的项目来练手(如果在公司有现成的项目更好)&#xff0…

提取图像特征方法总结 是那种很传统的方法~

目录 写在前面 一、SIFT(尺度不变特征变换) 1.SIFT特征提取的实质 2.SIFT特征提取的方法 3.SIFT特征提取的优点 4.SIFT特征提取的缺点 5.SIFT特征提取可以解决的问题: 二、HOG(方向梯度直方图) 1.HOG特征提取…

30岁软件测试,目前已失业4个月,迷茫不知该怎么办?

本人14年一本毕业,但是人特别懒,不爱学习,专业不好,毕业前都没找到合适工作,直接去创业了,奶茶店,托管,都弄过,也干过销售,反正浑浑噩噩度过了两年&#xff0…

CTFHub | 文件头检查

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。 0x01 题目描述…

关于运行时内存数据区的一些扩展概念

栈顶缓存技术(Top-of-Stack Cashing) 前面提过,基于栈式架构的虚拟机所使用的零地址指令更加紧凑,但完成一项操作的时候必然需要使用更多的入栈和出栈指令,这同时也就意味着将需要更多的指令分派(instruction dispatc…