0x01 判断32位还是64位程序来选择不同位数的IDA进行分析
64位程序可以看到“PE..d†”,32位程序可以看到“PE..L“。
0x02 操作
- 使用 ”空格键“ 来切换图形模式和指令模式
- 使用”options-debuging options-line prefixes“来对图形化界面指令前添加地址。
- 使用”view-open subview“来选择需要显示的视图。
- 发现00401000地址重复很多次,一个技巧是将重复地址的最后一条指令作为开始。
- 顶部浏览器使用各种颜色显示可执行文件的不同部分,下面是对颜色的解释。
- IDA底部有一个执行PYTHON命令的窗口。如果我写入0x45,它会运行并显示出十进制数值。也可以从十六进制转换为十进制,甚至其他进制的转换。
- IDA集成了计算器”view-calculator“
- 看ascii编码可以使用计算器,也可以使用python命令chr()与
详细介绍”search“选项
- ”NEXT CODE“
搜索下一条解释为”CODE“的指令。
- ”NEXT DATA“
搜索下一条解释为”DATA“的指令。
- next explored和next unexplored
第一个功能是查找已经定义的代码或数据(扩展的)
第二个功能是调转到没检测到有效指令或数据的区域(无扩展的)
- INMEDIATE VALUE 与NEXT INMEDIATE VALUE
搜索立即值,搜索下一个立即值。可以搜索指定常量值的第一个命令或数据字节。”Find all occurrences“搜索所有事件。
- Search Text与Search Next Text
搜索字符串,支持正则表达式。
- SEQUENCE OF BYTES
这个功能可以搜索字节序列十六进制、十进制、八进制字符串。
Options->General–> Number of opcode bytes设置值6,作用是显示每条指令对应的6个操作码。
就可以看到刚刚搜索的操作码 90 90
- NOT FUNCTION
查找不完整函数。不属于任何函数的命令地址。下图retn就不属于任何函数。