ida使用
# ida使用
[toc]
# 设置
ida的设置在菜单栏, options栏中,
配置文件在/ida/cfg/文件夹下的。ida.cfg idagui.cfg idatui.cfg三个文件夹中。
# 静态分析功能
# 窗口
ida中的窗口,使用比较多几个:
- 汇编代码
图形界面
看起来逻辑更清楚一些, 然后有一个 group nodes
的功能,可以将一个块标注然后收起来,会看着更简洁一些。
text界面
一般会调开对应的options中,"number of opcode bytes" 选项,可以看到对应的opcode,
- 伪代码
使用tab键, 可以切换伪代码和汇编代码, 并锁定在对应语句,
- 函数窗口
快捷键 Shift + f3
进入,
- 段跳转窗口
使用 ctrl + s
打开,用于跳转到指定的段,
- 快速选择窗口
ctrl + 1
用于快速选择要进入的窗口
ctrl + 2
用于快速选择动调的功能窗口
ctrl + 3
用于快速选择插件。
# 搜索功能
搜索功能位于菜单栏的search栏中,
主要用于搜索, 一般我们使用sequence of byte会快速一些。快捷键 alt + b
打开
# 快捷键
大部分的快捷键都可以直接在ida的工具栏中看到
具体的配置文件在
注释:
;
:在汇编界面的注释/
:在伪代码界面的注释
关于代码分析
n
:重命名,一般多用在函数和伪代码变量的重命名d
:将当前位置分析为数据, 重复使用切换数据类型a
: 以ascll讲数据转化为字符串c
: 将当前位置分析为代码u
:取消关于当前位置或选中的位置的所有分析p
: 将选中的代码部分分析为一个函数
界面切换:
g
:跳转到某个位置
关于文件:
ctrl + w
:保存当前分析
# 调试
ida远程动态调试,将ida/dbgsrv文件夹下的文件复制到对应的系统中,
在ida界面,debugger中选择远程调试的对应选项,然后设置参数,重要的就是写好ip地址,其他不用动,
然后开启调试,直接f9或者使用attach功能,
主要的是能访问ip连接到对应的机器就可以调试,可以ping一下看看。
如果是本地调试可以直接写: 127.0.0.1
其中的其他快捷键都可以在菜单栏中看到,
f9
: 直接运行,遇到断点才会停
f7
: 单步步入
f8
: 单步步过
f2
: 下断点
ctrl + f7
: 运行到函数返回
另外注意options中的"Parameters"选项,用来设置启动时的参数。
即 程序 命令行运行时后缀的参数。
# 插件
# keypatch
基于keystone的一个patch二进制文件的插件,
一般使用keypatch简单粗暴的思路:
- 想写一段汇编
- 在这个文件内找到这个汇编(一般大概率可以找到的)
- 复制 黏贴 patch