时间紧张,先记一笔,后续优化与完善。
启动windows版的IDA,在Quickstart界面点击New,弹出一个对话框选择文件。也可以按取消后再把文件拖进IDA。由于Mac版的IDA没注册,没有save功能,所以只好先把Mac上的货色拷贝到windows再打开了。
后面主要以UIKit作为Objective-C的例子,以私有库WebCore.framework(WebCore是WebKit的协作框架之一,可参考我博客里的其他文章)作为C++的例子。
UIKit的iOS6.1模拟器版静态链接库的路径为:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks/UIKit.framework/UIKit
WebCore的路径为:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/PrivateFrameworks/WebCore.framework/WebCore
把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反汇编/反编译静态分析iOS模拟器程序(三)函数表现与搜索函数
转载请注明出处:http://blog.csdn.net/hursing
文章结束给大家分享下程序员的一些笑话语录:
不会,Intel会维持高利润,也会维持竞争局面,国外的竞争不是打死对方的那种。你看日本有尼康,佳能,索尼,都做相机,大家都过得很滋润。别看一堆厂,其实真正控制的是后面的那几个财团——有些竞争对手,后面其实是一家人。