[译]《iOS Crash Dump Analysis》- 工具

点赞评论,感觉有用的朋友可以关注笔者公众号 iOS 成长指北,持续更新
原书为 iOS Crash Dump Analysis Book,已得作者授权,欢迎 star

概览

我们有一套丰富的工具可用于协助 crash dump 的分析。如果使用得当,这可以节省大量时间。

Xcode 提供了很多现成的帮助。然而,如何使用和理解 Xcode 工具提供的信息是令人望而生畏的。在后面的章节中,我们将介绍这些工具的使用示例。

此外,在 macOS 中还提供了标准的命令行工具。这些工具在特定场景下有这难以想象的作用,尤其在我们已经知道我们需要找到什么的时候。我们将介绍具体的场景,并说明该如何使用这些工具。

接下来是帮助我们逆向工程的软件工具。有时候在使用第三方库时,有些问题很难被我们发现。那么除了查看文档或提出支持请求外,还可以使用这些工具自行进行调查。

逆向工程

逆向工程是研究已构建的二进制文件(例如应用程序,库或辅助进程守护程序),以确定它是如何工作的。对于一个特定的对象,我们可能想知道:

  • 它所提供对象的生命周期是什么?

  • 它对对象做什么检查?

  • 它依赖哪些文件或资源?

  • 它为什么返回故障代码?

通常,我们不用了解所有信息,只需要某些特定的东西来帮助建立假设。 一旦我们得到一个假设,我们将测试它与我们正在处理的 crash dump 是否有关。

逆向工程应该走多远,应该投入多少时间和金钱?我们提供以下建议:

  • 如果我们刚刚开始我们的应用程序开发人员之旅,或者我们的资金有限,那么只需坚持使用标准的 Xcode 工具,macOS 命令行和 class-dump 工具。

  • 如果我们是专业的应用程序开发人员,强烈建议购买商业逆向工程工具。最引人注目的是 Hopper ; 它提供了许多由 IDA Pro(一种高端工具)提供的功能。价格合理,即使只使用了几次,也可以提高生产力。我们在本书中将展示如何使用 Hopper。

  • 如果我们是一个专业的渗透测试人员、逆向工程师或安全研究员,那么我们可能希望投资于顶级软件工具 IDA Pro。该工具成本高达数千美元,但通常是在公司范围内购买的。

Class Dump 工具

Objective-C 运行时的一大优点是它在其构建的二进制文件中携带了大量丰富的程序结构信息。这些在语言的动态上得以发挥作用。实际上,灵活的动态调度是许多崩溃的源头。我们建议安装 class-dump 因为我们将在后面的章节中引用它的用法。

点击 Class-dump 下载安装。

class-dump 工具允许我们查看给定程序中的Objective C 类、方法和属性。

第三方工具手机崩溃报告

虽然 iTunes Connect 中的 Apple Crash Reporter 工具非常的出色,但是仍有改进空间。

一个强大的开源软件,由 Plausible Labs 的 Landon Fuller 所编写 plcrashreporter

我们想让让我们的应用程序能够尽可能的处理发生的所有可能的信号和异常,一旦应用程序将无法实现,从而导致底层操作系统触发崩溃。

通过这个工具,可以记录奔溃信息,然后传输到我们自己的服务器上。

这有两个好处。首先,崩溃处理程序可以处理 Apple ReportCrash 工具尚未处理的边缘情况。其次,可以采用更全面的服务器端解决方案。

对于那些想要探索和理解操作系统以及底层应用程序代码的人来说,plcrashreporter 提供了一个学习精心设计的系统软件的绝好机会。

当公司拥有许多应用程序,许多应用程序变体,并且拥有基于 Android 等其他平台的应用程序时,就需要更强大的多平台解决方案。处理崩溃报告很快就会成为一种管理问题。哪个崩溃最严重? 有多少客户受到影响? 质量和稳定性的指标是什么?

有许多可用的商业解决方案,都主要基于上述开源项目。

移动软件开发领域在过去几年已经发展成为一个大产业。。许多专业公司为 App 开发者提供专业的服务。 该领域在合并和收购方面非常活跃。由于这个行业的变化之快,我们没办法在本书中列举这些专业公司的名称。

阅读 rollout.io 的博客是一个好的开始,它介绍了市场上的竞争者们。

感谢你阅读本文! 🚀

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容