[Mac OS/iOS]反汇编工具Hopper分析Crash Log

原创 2012年12月12日 06:40:45

  

在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 __assert_rtn + 267
  4   BlogCounter                        0x000033c9
  5   BlogCounter                        0x00003362

 

打开Hopper,找到菜单Navigate->Go To Address or Symbol

在对话框输入33c9,Hopper就会跳到程序崩的位置。

 

生成伪码看看

太短了! 和源代码比比:

显然编译器优化过了。因为assert(0)是稳定崩定的,所以下面的代码都没有生成。

 

可以将assert改为

  assert(URLString==nil);

 

再尝试时,崩溃的位置已经变更(Mac OS有一项技术,程序和程序库在加载时的地址是动态决定的)。我们再看下新的代码和控制流图(CFG):

CFG:

 

官网: www.hopperapp.com

它用的反汇编引擎:

  http://www.beaengine.org/

 

转载请注明出处: http://blog.csdn.net/horkychen

MAC软件破解初探—Hopper Disassembler使用

Hopper Disassembler是一款适用于Mac操作系统的软件,Hopper是一款是32位和64位的二进制反汇编器,反编译和调试。你可以使用此工具拆开你想要的任何二进制。...
  • skylin19840101
  • skylin19840101
  • 2017年01月22日 17:59
  • 3024

MAC下的反编译、反汇编和调试神器Hopper Disassembler

官网:http://www.hopperapp.com/ Hopper是一款运行在Mac、Windows和Linux下的调试(os x only)、反汇编和反编译的交互式工具。可以对32、64位的...
  • jinglijun
  • jinglijun
  • 2015年01月11日 12:18
  • 7852

Mac的反编译工具一:otool (objdump工具的OSX对应工具)。

objdump的选项-S、-l十分方便。如果二进制文件中带有调试信息,可以将源代码、文件名和行号与汇编代码对应显示。 在OSX上,对应的工具是otool。与“objdump -Sl”能力接近的命令是o...
  • x32sky
  • x32sky
  • 2015年04月17日 17:44
  • 14946

获取普通用户 iOS 设备上的 Crash Log 的方法 和 分析日志

说明:这篇文章是综合了几位网友的博客
  • hanmingsa
  • hanmingsa
  • 2014年10月08日 18:57
  • 1748

Log分析技巧(小白入门)

1.关键字查找:(用于筛选,或者已知问题查找) 1.1由现象快速查找定位 经验主义,通过以往大量log的分析经验, 熟悉已知的fail log。 比如CameraApp Crash log: forc...
  • zengyubao1
  • zengyubao1
  • 2017年03月21日 11:22
  • 1248

Hopper Disassembler v3 for Mac 3.6.10 二进制反编译反汇编工具

  • 2016年01月13日 11:21
  • 24.97MB
  • 下载

IOS逆向[一].Hopper反汇编形态

0x01.源码包结构
  • didaliping
  • didaliping
  • 2014年11月19日 23:19
  • 851

最新Hopper Disassembler for Mac v3.7.8破解版,32位/64位二进制反编译反汇编利器

  • 2016年05月09日 08:30
  • 24.22MB
  • 下载

IDA反汇编/反编译静态分析iOS模拟器程序(八)IDA for Mac

iOS多用OC(Objective-C)编程,Mac也类似,所以IDA for Mac对OC的支持似乎强些。Windows的IDA在反汇编某些SDK库文件时会识别不出OC的函数名,而且对OC运行时的结...
  • hursing
  • hursing
  • 2013年06月04日 10:23
  • 26381

Android crash log分析工具

  • 2012年08月24日 11:26
  • 11KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Mac OS/iOS]反汇编工具Hopper分析Crash Log
举报原因:
原因补充:

(最多只允许输入30个字)