前言
Interactive Disassembler Professional(“交互式反汇编器专业版”) 共有(File , Edit , Jump , Search , View , Debugger , Options , Windows , Help)9个模块.
“IDA 目录的结构”
- /Applications/IDA Pro 7.0/ida64.app/Contents/MacOS
/Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/cfg “包括基本IDA 配置文件 ida.cfg 、GUI 配置文件 idagui.cfg以及文本模式用户界面配置文件 idatui.cfg ”
- /Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/idc
# “包含 IDA 的内置脚本语言 IDC 所需的核心文件” devzkndeMacBook-Pro:idc devzkn$ ls -lrt total 912 -rw-r--r-- 1 devzkn admin 2433 Sep 14 21:08 xrefs.idc -rw-r--r-- 1 devzkn admin 1535 Sep 14 21:08 tpne.idc
- /Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/ids
# “IDA 语法中的IDS 文件),这些文件用于描述可被加载到IDA 的二进制文件引用的共享库的内容。” devzkndeMacBook-Pro:ids devzkn$ ls epoc.zip epoc6.zip epoc9.zip flirt.zip geos.zip idsnames linux.zip os2.zip win.zip win7.zip wince.zip
- loaders
# “包含在文件加载过程中用于识别和解析 PE或ELF 等已知文件格式的IDA 扩展” devzkndeMacBook-Pro:loaders devzkn$ ls -lrt total 6968 -rw-r--r-- 1 devzkn admin 304060 Sep 14 19:58 elf.dylib -rw-r--r-- 1 devzkn admin 13412 Sep 14 19:58 dump.dylib
- plugins
# “包含专门为 IDA 提供附加功能(多数情况下由用户定义)的 IDA 模块” devzkndeMacBook-Pro:plugins devzkn$ ls -lrt total 33776 -rw-r--r-- 1 devzkn admin 26716 Sep 14 19:58 comhelper.dylib -rw-r--r-- 1 devzkn admin 8908 Sep 14 19:58 callee.dylib
- procs
# “包含已安装的 IDA 版本所支持的处理器模块。处理器模块为 IDA 提供机器语言—汇编语言转换功能,并负责生成在 IDA 用户界面中显示的汇编语言。” devzkndeMacBook-Pro:procs devzkn$ ls -lrt total 23136 -rw-r--r-- 1 devzkn admin 32484 Sep 14 19:58 78k0.dylib -rw-r--r-- 1 devzkn admin 118356 Sep 14 19:58 dsp56k.dylib
- sig
# “包含 IDA 在各种模式匹配操作中利用的现有代码的签名。通过模式匹配,IDA能够将代码序列确定为已知的库代码,从而节省大量的分析时间。这些签名由IDA 的“快速的库识别和鉴定技术”(FLIRT )生成” #/Applications/IDA Pro 7.0/ida64.app/Contents/MacOS/sig/arm devzkndeMacBook-Pro:arm devzkn$ ls -lrt total 2048 -rw-r--r-- 1 devzkn admin 353733 Sep 14 21:08 vc_rtf.sig -rw-r--r-- 1 devzkn admin 2337 Sep 14 21:08 vc_extra.sig
- til
#“包含一些类型库信息,IDA 通过这些信息记录特定于各种编译器库的数据结构的布局” devzkndeMacBook-Pro:til devzkn$ ls -lrt total 8648 -rw-r--r-- 1 devzkn admin 973548 Sep 14 21:08 macosx64.til -rw-r--r-- 1 devzkn admin 970917 Sep 14 21:08 macosx.til
IDA 的基本使用
- 打开高级模式
“可以使用View▶Toolbars▶Advanced mode打开高级模式工具栏。高级模式工具栏包含整整三排工具按钮。” # 导航带 :“不同的颜色表示不同类型的文件内容” 蓝色:表示代码段;棕色:表示数据段;红色:表示内核。
- 桌面技巧
使用View▶Open Subviews命令恢复你无意中关闭的数据显示窗口. 使用Windows▶Reset Desktop 命令可迅速将桌面恢复到原始布局。
“使用IDA 进行远程调试”
- “要开始远程调试,首先需要在进行进程调试的计算机上启动相应的调试服务器组件”
“mac_server。在OS X计算机上执行的、用于调试 32 位OS X应用程序的服务器组件。” “mac_serverx64。在64 位OS X计算机上执行的、用于调试 64 位OS X应用程序的服务器组件(仅用于 IDA 高级版)。”
- Debugger -> Attach
- Debugger -> run
- Debugger -> Select debugger 选择 Remote iOS debugger
- Debugger ->Attach to Process
选择对应的PID
- Debugger -> Process options 里面有两个选项Application ,inputfile
- Debugger ->Start process
F7 step in F8 setp F9 run F4 run into cursor
参考
- IDA_Pro_v7.0(MacOS)and_Hex-Rays_Decompiler(ARMx64,ARM,x64,x86).zip
- Introduction to IDAPython
- hex-rays
- woodmann
- hexblog
- ios_debugger_tutorial
- 逆向神器之IDA的使用
- Linux建立反向shell的几种方式
- Hunting for iOS Kernel Symbols
- IPSW Downloads
- Joker
- 在线工具
- 从sqlite3文件dump出sql
- software
- 爬虫技术概览
- arm
- ARM汇编基础
附
- “IDA View-A:分析视图窗口,用于显示分析结果,可选用流程图或代码形式。” “IDA的默认视图为流程视图,需要进行转换。在函数体内,右击选择Text view。同理,如果要从反汇编视图切换回流程视图,可选择Graph view。”
在操作过程或者文章有问题的话欢迎在 原文 里提问或指正。