IOS反汇编工具Hopper分析Crash Log
在Mac OS下分析Crash Log有很多种方法,这里不是要说明如何分析的Crash Log, 主要是展示下Hopper的使用。 强大的IDA大家可能已经知道,但它的Mac OS版本又让人回到了DOS时代。幸运的是Mac OS有了一个小巧的替代品:Hopper, 基本上满足了工作上的反汇编的需要,包括伪代码以及控制流图(Control Flow Graph),支持ARM指令集并对Objective-C的做了优化。 先给张界面总览(左侧是符号列表,打开程序后,用工具栏最右侧的Read Executable就可以打开可执行程序分析): 下面以分析Crash Log为例,展示下Hopper的使用。 在应用程序一个位置使用assert让它崩掉,可以得到如下的Crash Log: Crash Log Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libsystem_kernel.dylib 0x981fd9c6 __pthread_kill + 10 1 libsystem_c.dylib 0x99692f78 pthread_kill + 106 2 libsystem_sim_c.dylib 0x01e5a57b abort + 140 3 libsystem_sim_c.dylib 0x01e3c286 _