IDA操作总结
ida操作
静态分析
1、反汇编:Tab\F5
2、IDA字符串表:shift+F12;或者直接找窗口
打开string窗口后,我们可以按Ctrl+F来调出搜索
在里面输入你想要查找的字符串,如果有原数据,就能成功找到。
双击数据,就能进入对应的内存
3、G键。打开地址窗口
4、X键。查看交叉引用,也就是查看有那些地方调用了这个函数
点击即可进入对于调用的地方
5、重命名符号。将选中的名称进行修改,以便于阅读分析
**6、对于数据处理上.**IDA的储存方式为小端序,例如,0XB1A33454在内存中的存储就是54, 34, A3, B1.
7、U键。在某地址上按下U,就会使得IDA取消对在部分地址的解释。
按U前
按U后
8、C键。将地址标记为代码,并且进行反汇编。也算是和U键互逆。
前
后
9、P键。比如刚才,我们将地址按下C分析后,前面为红色部分,这时我们不能进行反汇编,而p键的作用就是创建函数,让其成为一个可反编译的函数(结构需完整)。
按下p后
动态分析
1、F7.单步步过。执行一条语句但不进入函数
2、F8.单步步入。执行一条指令,会进入函数内部。
3、Ctrl+F7.执行到返回。执行到函数的返回指令。一般用于快速跳出当前函数。
4、F4。执行到光标下停下来。将光标悬停在想要执行到的代码,然后按下F4,随后程序就会跳到指向的代码处,一般用于快速跳转到想要执行的代码处。
5、Ctrl+N(Set IP).强制代码从光标处开始执行。一般用于想重复调试某一块代码时使用。比如,分析一个加密前后的数据,寻找规律。这个时候,我们需要多次输入。按照平常,我们就需要多次重新调试,这样就比较麻烦,而使用set ip就能节省很多时间。
6、模块窗口(一般安卓用得比较多)。打开方式——菜单–【debugger】–[debuger windows]–[module list]
7、硬件断点。硬件断点不会修改内存数据。一般情况下,像脱壳,自解密,我们设置一般断点在其之上,会破坏数据。
下硬件断点的方法:首先先下一个普通断点,然后在普通断点处按下鼠标右键,然后点击edit breakpoint ,然后勾选hardware,就将我们的断点转换为了硬件断点。
其中下面的,read:表示断点地址被命中时被读取。writer:断点地址被写入时命中。execute:断点地址被执行时命中。
8、trace分析.打开方法:打开菜单项【debugger】–【tracing】–【tracing options】配置我们的trace。配置好之后,在程序的头部设置一个断点,然后命中断点。再打开进行选择。然后继续运行程序,便成功trace.
一般用于追踪,混淆,花指令之类。