启动windows版的IDA,在Quickstart界面点击New,弹出一个对话框选择文件。也可以按取消后再把文件拖进IDA。由于Mac版的IDA没注册,没有save功能,所以只好先把Mac上的东西拷贝到windows再打开了。
能拖进IDA的文件可以是静态库、动态库、可执行程序等。对ios而言,可执行程序通常是build出来的.app包里的同名文件,当然,也可以是系统自带的程序。库文件主要是SDK中各个framework,以UIKit为例,它的iOS6.1模拟器版静态链接库的路径为:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks/UIKit.framework/UIKit
把UIKit拖进IDA,会弹出下图所示界面:
IDA已识别出这是内含i386指令的mach-o动态库,所以点击ok就行了。然后IDA左下角会显示正在继续分析文件:
(左下角的信息会一直变动,表示分析至文件的某个偏移处)
最后等到显示为idle
就表示分析完毕了。
此时,库文件所在的目录会多出5个文件:
这是IDA的数据库文件。当退出IDA时,选择Pack database后点击ok
这5个文件就会被打包成idb文件
下次启动IDA时,在quickstart选择这个文件,或直接双击让IDA打开这个文件,就能直接得到分析完成后的数据了,不用再分析一遍。(demo版IDA没有save database功能)
后面提到的自己修改分析结果的操作,也会保存在idb数据库文件里。
Mac版的IDA操作是类似的,稍微注意的是,要把库文件拷贝到一个能让IDA自由创建文件的目录下再进行分析,否则IDA创建不了临时数据库就会打开失败。
上一篇:IDA反汇编/反编译静态分析iOS模拟器程序(一)话说IDA