windbg
指令
- lm,查询模块
- ln address,查询地址最近的函数,ln poi address 地址的指针
- x *!*,查询模块函数,*通配符
- s -a[/u] start end text,查询字符串, s -su start Llen 查询rsp里面所有的字符串
- dd、da、du,查询数值,ascii或者unicode
- je、jae等跳转,鼠标移上去后,windbg会显示跳转条件
- ?poi address 或者du poi address,显示地址值, ?可计算表达式
- 内存显示rbp和rsp栈,通过设置显示acsii或者unicode可以显示所有数值
反汇编跳转后,数据都在rbp栈里面
ida pro
- space,切换text和graph
- escape,返回上一层级
- ctrl+1、ctrl+2选择模块
- 运行调试后,ida pro地址和windbg一致(不用调试)
- f5生成高级语言的伪代码,很强大的功能
- x,查看调用关系
ollydbg
修改汇编代码,直接输出新的exe和补丁,olly和ida窗口间可以关联显示,可以实时显示变量的数值,比windbg更加方便分析
- cpu模块中搜索指定模块字符串,引用模块中显示
- space键,修改汇编指令
- 通过ollydbg的实时显示,可以确定代码调用的位置,确定代码在那块调用处理了数据
- ollydbg和ida的地址格式是相同的,windbg地址0xffff~ff12地址格式不同
cheat engine
查找数据内存位置,方便分析定位