IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库

启动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反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库

IDA已识别出这是内含i386指令的mach-o动态库,所以点击ok就行了。然后IDA左下角会显示正在继续分析文件:

IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库(左下角的信息会一直变动,表示分析至文件的某个偏移处)

最后等到显示为idle

IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库

就表示分析完毕了。

此时,库文件所在的目录会多出5个文件:

IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库

这是IDA的数据库文件。当退出IDA时,选择Pack database后点击ok

IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库

这5个文件就会被打包成idb文件

IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库

下次启动IDA时,在quickstart选择这个文件,或直接双击让IDA打开这个文件,就能直接得到分析完成后的数据了,不用再分析一遍。(demo版IDA没有save database功能)
后面提到的自己修改分析结果的操作,也会保存在idb数据库文件里。


Mac版的IDA操作是类似的,稍微注意的是,要把库文件拷贝到一个能让IDA*创建文件的目录下再进行分析,否则IDA创建不了临时数据库就会打开失败。


上一篇:IDA反汇编/反编译静态分析iOS模拟器程序(一)话说IDA

下一篇:IDA反汇编/反编译静态分析iOS模拟器程序(三)函数表示与搜索函数

本文请勿转载。

上一篇:Lucene.Net基本用法


下一篇:webclient 比浏览器加载页面慢的一个问题