Windbg初见

news/2025/3/10 9:36:16/文章来源:https://www.cnblogs.com/timmoc/p/18761810

下载与安装

image
在微软商店中找到Windbg即可。
这里是拼网速的时间,校园网可能有帮助。
image
image
在等下载的这段时间里面我也看了一些博客,大概了解了一下windbg的用法。
不过怎么说还是得在虚拟机也下载一个,总是不能在实体机调试的。
image
在Layout里面修改为Disassembly,这下有点od的样子了。
不过快捷键有点出入,还需要学习一下。
F5:运行
F11:步入
F10:步过
Shift+F11:执行到返回
F9: 下断
image
设置内可以修改为暗色模式,不过暗色模式总感觉什么配色都不太舒服。

并不重要的碎碎念

除了自带快照和TTD以外,倒没有给我特别大的惊喜,调试内核程序大概是目前最好的,只不过目前我也没有什么需要调试的内核样本,以后再玩吧。

不过接下来。。。
image
进虚拟机玩玩。

Hello world

在虚拟机的下载有点太久了,还是回到实体机调试一下helloworld试试。

image
这儿有个坑:直接把exe拖进去的意思是“以dump方式打开”,无法调试
这大概是严谨吧。避免直接执行可执行程序。
不过我不需要这一行为。算了。
注意到下面两种打开方式是不同的。
image
这一个是不需要加0x的,对我来说是个好消息。
image
不过ctrl+g的使用是不行的。
感觉不太习惯,得再翻翻博客看看。

快速命令:
g 运行
t 单步步入
p 单步步过
r 查看和修改寄存器

对于习惯gcd调试的人应该不错。

伪寄存器 含义
$ea 调试目标所执行上一条指令的有效地址
$ea2 调试目标所执行上一条指令的第二个有效地址
$exp 表达式评估器所评估的上一条表达式
$ra 当前函数的返回地址
$eip 指令指针寄存器
$eventip 当前调试事件发生时的指令指针
$previp 上一事件的指令指针
$relip 与当前事件关联的指令指针
$scopeip 当前上下文的指令指针
$exentry 当前进程的入口地址
$retreg 首要的函数返回值寄存器
$retreg64 64位格式的首要函数返回寄存器
$csp 栈顶指针ESP
$p 上一个内存显示命令所打印的第一个值
$proc 当前进程EPROCESS结构的指针
$thread 当前线程ETHREAD结构的指针
$peb 当前进程的进程环境块(PEB)的地址
$teb 当前线程的线程环境块(TEB)地址
$tpid 拥有当前线程的进程ID(PID)
$tid 当前线程的线程ID
$bpx X号断点的地址
$frame 当前栈帧的序号
$dbgtime 当前时间
$callret 使用.call命令调用的上一个函数的返回值
$ptrsize 调试目标所在系统的指针类型宽度
$pagesize 调试目标所在的系统的内存页字节数

image
image
好像有什么不对,这里竟然没有提醒是个messagebox,难道是symbol缺失吗

鼠标的【回翻页键】和esc键都没办法倒退上一条代码,jmp一跳就没影了。
双击或者enter都没办法进入call的内容,也没有跳转线提示。
有点难受。

重载程序断点被清理了,更难受了。
找一下设置断点保存地的方法。。。
https://cloud.tencent.com/developer/ask/sof/108255784
好的,心死了,什么时候x64dbg可以调试内核程序了跟我说一声(躺)

image
转头一看,虚拟机里面的微软商店还在更新。
算了,也别更新了,真难用吧。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

No.40 JavaScript---防抖(debounce)、节流(throttle)

一、防抖 1.含义防抖严格算起来应该属于性能优化的知识,但实际上遇到的频率相当高,处理不当或者放任不管就容易引起浏览器卡死。2.从滚动条监听的例子说起<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><me…

IDEA 必备插件!轻松搞定 JSON 格式化!

Json Assistant —— 基于 IntelliJ IDEs 的 JSON 工具插件,支持 IntelliJ IDEA、DataGrip、PyCharm Professional、WebStorm 等常用的 IDE 工具!大家好,我是 Java陈序员。 在日常开发中,常常会遇到 JSON 数据的处理,可以借助一些在线 JSON 工具网站,进行处理。 但是,经…

绩效考核的优势

来源:tita.com 绩效评估是对员工绩效的系统评估,旨在了解一个人进一步成长和发展的能力。绩效评估通常以系统的方式进行,如下所示:主管人员衡量员工的薪酬,并将其与目标和计划进行比较。 主管分析员工工作绩效背后的因素。 雇主可以指导员工取得更好的业绩。绩效考核目标 …

Spring AI与DeepSeek实战二:打造企业级智能体

一、概述 智能体 Agent 能自主执行任务实现特定目标的 AI 程序。传统 AI(如ChatGPT一、概述 智能体 Agent 能自主执行任务实现特定目标的 AI 程序。传统 AI(如ChatGPT)主要依靠用户输入指令,而智能体 Agent 可以自主思考、决策,并执行复杂任务,就像一个AI助手,能够独立完…

Vulnhub-Node

利用信息收集拿到路径得到账户密码,下载备份文件,base64解密后,利用fcrackzip爆破zip压缩包,得到一个文件,查看app.js,发现泄露的账户密码,连接ssh,成功连接,利用ubuntu历史版本漏洞提权 一、靶机搭建 选择扫描虚拟机选择路径即可开启靶机二、信息收集 靶机信息 name:…

[AIGC/Agent] MCP:模型上下文协议

引言火爆 AI 编程圈的 MCP 到底是个什么东西?最近,如果你经常使用 AI 编程的话,肯定听到过 MCP 这个概念 那到底什么是 MCP 呢?MCP 定义先从专业角度讲,MCP 就是Anthropic(Claude) 主导发布的一个开放的、通用的、有共识的协议标准。 Model Context Protocol(MCP)MCP 功能…

飞驰云联荣获“2024年度十大信创安全品牌”第三名!

日前,由安东工作室携手北京信息灾备技术产业联盟信创工委会联合举办的“第二届年度十大信创品牌评选活动”榜单出炉,Ftrans飞驰云联凭借自主创新的技术实力、显著的行业信创成果等多项优势,荣获“2024年度十大信创安全品牌”第三名!在信创领域,Ftrans飞驰云联的核心技术自…

【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理

在 AI 编程领域国内外有一堆能叫的上号的应用:CursorWindsurfTrae阿里的「通义灵码」百度的「文心快码」字节跳动的「MarsCode」科大讯飞的「iFlyCode」GitHub 的「Copilot」等等等...这么多的 AI 编程应用,它们到底有什么区别? 这些编程应用的实现原理到底是什么样的? 如果…

2.24架构质量分析

某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性,由于当前用户规模不大,业务也相对简单,系统性能方面不做过多考虑。新系统除了保持现有的四级固定会员…

【分享】文件摆渡系统,如何保障数据安全,促进业务协同发展?

在数字化浪潮的席卷下,企业的信息化建设不断推进,网络安全也日益受到重视。为了保护核心数据资产,许多企业采用了网络隔离技术,将内部网络划分为不同的区域,如内网与外网、办公网与研发网等。这种隔离措施在一定程度上有效抵御了外部网络攻击和数据泄露风险,然而,也给企…

20250310

今天有几个趋势需要确定: 1. 焦煤 https://www.cnblogs.com/lyonlee/p/18753748 2.沪锌 指标已经略微下穿 3 棉花

解密prompt系列50. RL用于优化Agent行为路径的一些思路

而Deep Research的效果类似O1的长思考是非常长的行为链,OpenAI也直接表明Deep Research是使用和O1相同的RL训练得到的。但这里比O1更难的就是数据集的设计,训练过程动态行为数据的引入和RL目标的选择。这一章我们分别介绍从两个不同角度使用RL优化Agent行为链路的方案,其中P…