windbg使用日记(二)
2014-11-29 15:29
176 查看
1. 搜索内存
搜索内存在逆向分析时很重要,用来查找关键数据,定位特征地址等。常用的搜索内存的命令是:s
s指令的通用形式如下:
s [flag] + 搜索范围 + 要搜索的内容
如:s -a 0x12ff40 L20 "Hello"
表示从 0x12ff40地址开始,在往后20字节的空间中,查找ANSI编码的字符串"Hello",即在 0x12ff40 - 0x12ff5f范围内查找"Hello"。
s指令搜索内存时,默认有一个范围限制,即搜索的范围不能超过256MB大小,这在一定程度上限制了我们对s指令的使用。
在分析时,我更喜欢下面这种无范围限制的方式:
s 0x00000000 L?80000000 + 要搜索的内容
表示搜索从0x00000000 - 0x80000000空间内的目标数据,就是搜索整个用户空间,查找关键数据。
2. 查看堆栈
查看堆栈的命令是:k一般我使用k、kb指令来查看堆栈信息,太复杂的用法暂未接触。
3. 查看堆
查看堆信息的命令是:!heap!heap命令可以列出当前进程正在使用的所有堆信息。
一般,我在调用malloc等分配空间的函数前、或是拿不准某个地址是否属于栈上分配的、或是拿不准某个地址是否被释放了的情形下,使用!heap相关指令来查询。
我经常使用的形式:!heap -x [-v] + 目标地址
如:!heap -x 0x80996
表示0x80996地址所处的空间是否在某个堆上,是正在被使用、还是已经被释放了。
其他的什么查找函数符号信息的指令x,反汇编指令u等,都很简单了。
以上就是我在逆向windows应用程序时常用到的指令,其他的,基本就是分析汇编代码了。
相关文章推荐
- windbg使用日记(一)
- windbg使用日记(三)
- 在 csdn 上创建个人的日记系统(在blog中使用 javascript)(4.2 日修订)
- 借助VMware实现单机使用WinDbg
- 借助VMware实现单机使用WinDbg
- 日记 [2007年01月21日]linux下使用IE
- WinDbg配置和使用基础
- (译)使用WinDBG进行内核调试(Fundamentals)
- Struts心得—DispatchAction使用日记
- 使用Windbg和SoS扩展调试分析.NET程序
- 为什么要写工作日记及一个在线编辑器的使用
- [今天的编程日记, 在vb中使用vc编译的dll实例]
- 企业库(配置管理应用程序块)使用日记
- Qt使用日记(1): 安装
- 第一次使用网络上的Blog,感觉就是写日记
- proftpd使用日记(1)
- 借助VMware实现单机使用WinDbg
- Struts心得—DispatchAction使用日记
- 使用WinDbg调试程序
- 如何使用WinDBG跟踪调试ASL/ACPI?