IDA7.0 配置内核调试,双机调试
时间:2022-07-23
本文章向大家介绍IDA7.0 配置内核调试,双机调试,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
目录
IDA7.0 配置内核调试
一丶 虚拟机 端口与环境配置
虚拟机配置.并且设置com调试端口,可以看我以前写的文章.
这里不再啰嗦.
- xp配置 https://www.cnblogs.com/iBinary/p/8260969.html
- win7 及以上配置 https://www.cnblogs.com/iBinary/p/11401141.html
设置完毕最后如果按照上面的步骤.那么我们在windbg下的命令行应该是如下
-b -k com:port=//./pipe/com1,baud=115200,pipe
这里我是用的是com1
在这里我们记录下命令
com:port=//./pipe/com1,baud=115200,pipe
当然 //./pipe 你设置的时候可能会设置为
\.pipe 这个看你自己怎么设置的
二丶 IDA配置调试
2.1 配置IDA Windbg路径
首先第一步我们需要配置要将 Windbg的路径设置到IDA
记住是路径.而不是windbg.exe. 原因是 IDA需要依靠 windbg目录下的. Dbgeng.dll来进行调试
1.首先去IDA的安装目录,进入到 CFG 文件夹, 找到 ida.cfg 并且以文本文档形式打开(notpad or notepad++)
- 在文档中搜索 DBGTOOLS 如果找到,你的可能是注释的. 也就是前面有 // 去掉即可.
- 找到windbg的路径设置进去. 这里需要注意的是 设置的字符串一定是 双斜杠
例子:
DBGTOOLS = "E:\InstallFile\Rolan\IBinaryToolsPacket\RolanFile\DebugTools\Windbg\X64\";
2.2 IDA界面配置
- 1.首先在Debugger里面找到 Windbg debugger选项,并且点击进去
- 2.设置命令行为我们刚刚保存的命令行
com:port=//./pipe/com1,baud=115200,pipe
- 3.Debug Options设置为 内核调试模式
- 4设置完成之后如果你调试机器打开了.点击确定之后则会出现如下界面
此时选中kernel 点击OK即可.
三丶IDA内核调试的常规操作
3.1 断点与运行
使用了IDA 快捷键就会发生了变化.
比如我们要 F9 来运行起来
F7 / F8来进行单步 等. windbg是 F10 F11
下断点 使用F2 , windbg F9
3.2 内存的查看与命令敞口
在IDA中查看内存是 Hex-view 直接打开即可查看内存
也可以按住ctrl + 地址. 快速查看一个地址.(这个自己尝试的准不准确不知道了)
断下内核之后可以在下面输入windbg命令
比如我们想要进行符号设置
.symfix 告诉我执行微软的符号地址
.sympath 设置或者查看微软符号路径
.sympath srv*path*httpxxxx 设置符号路径
.reload /i 加载所有符号
至此我们内核调试就已经完成了. 如果你使用的是windbg64的路径. 那么请打开
IDA64来进行调试. 可以调试32的虚拟机系统. 否则你设置的是windbg32的路径
就使用32调试. 不过64都可以调试32 我这里就使用了64
- 你真的会玩SQL吗?冷落的Top和Apply
- 你真的会玩SQL吗?你所不知道的 数据聚合
- 你真的会玩SQL吗?简单的数据修改
- 将Error异常日志从普通日志中剥离
- 一步一步在Windows中使用MyCat负载均衡 下篇
- Android实现TCP断点上传,后台C#服务实现接收
- Android如何制作漂亮的自适布局的键盘
- 实用收藏Linux命令备忘
- 0基础搭建Hadoop大数据处理-环境
- 如何实现两台服务器间无密码的传输数据和操作
- 一步到位Linux中安装配置MySQL及补坑
- 我是如何处理大并发量订单处理的 KafKa部署总结
- 一步到位分布式开发Zookeeper实现集群管理
- 备胎的养成记KeepAlived实现热备负载
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法