首页>参考读物>计算机科学与技术>安全

iOS应用逆向工程:分析与实战
作者 : 沙梓社 吴航 刘瑾 著
出版日期 : 2014-01-23
ISBN : 978-7-111-45072-6
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 286
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书是国内关于iOS应用逆向工程领域的第一本著作,完全站在普通iOS开发者的角度,从iOS系统架构、文件类型等逆向理论出发,逐一讲解Class-dump、Theos、Cycript、Reveal、IDA、GDB等最常用逆向工具的使用方法,进而分析使用这些工具时的思考方式和碰到问题时的解决思路,最后以社交应用消息拦截、iOS电话相关操作等4个极具代表性的实例总结iOS应用逆向工程在实战中发挥的关键作用。本书先授你以渔,再授你以鱼,多处独家内容首次公开,为想要从事iOS逆向工程学习/工作/研究的你量身打造,手把手带你进入iOS逆向工程的大门,确保你在阅读完本书后能够自主进行更深层次的研究,使自己的专业技能如虎添翼,为自己的职业道路锦上添花!

图书特色

前勒口
你是否曾因应用上线的第一天即遭破解而无奈苦恼,想要加以防范,却又束手无策?
你是否曾为某一应用深深折服,想要借鉴学习,却又无从下手?
你是否已不满足于Public API,想要进军Cydia开发,却又求学无门?
你是否已产生“不识Apple真面目,只缘身在App Store中”的危机感,想要一窥“北极全貌”而不仅仅是“冰山一角”,却又苦于无书可寻?
你是否已经因无法跨越开发路上的重重障碍而断了研究iOS逆向工程的念头?Are you a quitter?看完本书,相信你会有全新的感受!

作者简介
沙梓社(snakeninny)?iOS越狱社区骨灰级活跃分子,思路开阔,思想传统,对苹果的研究痴迷到连女朋友都没有的地步。作品见诸Cydia,有SMSNinja、LowPowerBanner、DimInCall等。
吴航(hangcom)?拥有十余年程序开发经验的资深码农,历经方正、NEC、Juniper等国内国外知名IT企业,2011年进入iOS领域,专注于iOS App/逆向等方向的开发,主要作品有安全管家、有康医生、知乎月刊HD等。
刘瑾?北京电子科技学院计算机科学与技术系讲师,教课之余主要从事移动客户端的安全应用程序设计和嵌入式应用程序开发研究,参与编著及翻译多本相关教材,承担过多个项目的研发工作,多次获得各项教学科研奖项。


封面
国内第一本讲解iOS应用逆向工程的实战手册,作者毫无保留地分享了数年来在iOS逆向领域的经验
内容系统深入,实战性强,从iOS系统架构、文件类型等逆向理论出发,通过多个实用案例,结合class-dump、Theos、Cycript、Reveal、IDA、GDB等最常用逆向工具阐述了对iOS应用进行逆向分析的思路、方法和技巧
封底
本书结构合理、行文风趣、内容翔实、配图丰富。如果你是中高级iOS开发者,本书一定会让你大开眼界。当你在探究iOS系统底层或别人的App却迷失方向时,本书会告诉你该怎么办,该使用何种工具和策略。逆向爱好者、安全研究人员也能从书中了解到iOS的安全架构和App的攻防策略。iOS开发小白呢,更要入手一本做参考了,不然你开发的App分分钟就被暴露在别人的“显微镜”下了。如果你想缩短和高手之间的差距,想让你的App更安全,读一读此书吧。
——卢明华?友盟 iOS高级工程师
随着移动互联网浪潮的到来,iOS应用开发技术得到了大家广泛的关注,相关的书籍也非常丰富。但是iOS应用安全领域却像一块处女地,鲜有资料涉及。应用安全相关知识是一把双刃剑,黑帽子用它来攻击那些不懂得防范的菜鸟,白帽子用它来保证用户的隐私和维护自己的商业利益。本书从黑帽子攻击的角度,讲解了如何对iOS应用进行逆向工程。通过本书,作者揭开了那些不为人知的iOS应用攻击手段,也将会使得大家更加注意iOS应用的安全问题,最终促进整个业界对于安全的重视。 
—— 唐巧?猿题库 iOS高级工程师
逆向工程是一个可以让激情洋溢的程序员快速了解底层结构而成长为高手的快速途径,可惜长久以来,这个领域里的优秀人才都不曾出来向大家分享些学习的经验和体会,直到本书的面世。本书提供了很多贴近现实的实例和平易近人的讲解,帮助你更容易地进入这个领域。如果你想在软件领域有更深的造诣,可以跟着这本书调试书中的实例,一步步地了解iOS逆向工程的基本要领和操作流程。逆向工程多年来一直是我研究各种系统的得力工具,所以我把这本书推荐给大家。想象一下当初一直研习气宗的令狐冲,在知道剑宗存在之后的感觉吧!
—— 邹天矢?360手机卫士前iOS高级工程师
如果你打算编写越狱环境下的iOS插件,或者想从一个全新的角度来审视现有的iOS应用,请从这里开始。本书覆盖范围十分广泛,从class-dump、IDA等常用工具到iOS ARM汇编,囊括了目前相关领域使用的主流方法和技术,完整介绍了iOS应用逆向工程中的各个部分。书中所讲述的实战案例,通过对WhatsApp、Instagram等知名应用进行逆向分析,展现了逆向工程的巨大威力。相信本书将会为广大iOS应用开发者打开一扇新的大门。
—— 沙杰?搜狗号码通iOS高级工程师

图书前言

为什么要写这本书
  两年前我正式从传统网络设备行业转行进入移动互联网行业,当时正是移动应用开发市场最火爆的时候,创业公司如雨后春笋般成立,社交类App更是大受追捧,只要有一个不错的构想就可能拿到千万级投资,高价挖人组队的信息更是让人眼花缭乱。那时我已经开发了几个颇具难度的企业应用类App,对于那些轻量级的普通社交App不是太看得上,想着要玩点比较酷的技术,机缘巧合进入了安全管家(北京安管佳科技有限公司),从零开始组建iOS团队,负责包括越狱方向在内的iOS开发。
  其实iOS越狱开发就是基于iOS的逆向分析工程,那个时候我并没有这方面的经验,面向的是一个完全未知的领域,不过好在有Google,国内国外的信息多少还是能够搜到点,而且对于iOS开发者,越狱开发/逆向分析并不是一个完全隔离的世界,虽然被分享出来的都是些零零散散甚至重复度很高的知识,但是只要投入大量精力,把知识归纳总结,慢慢也就整理出一幅完整的图谱。
  然而独自一人学习的过程是孤独的,尤其是遇见困难和问题无人交流,让人一筹莫展。每次一个人扛下所有问题的时候,总是感叹:要是有一个水平不错的交流者该是多么幸福?虽然也可以给Ryan Petrich(@rpetrich)等一线大牛发邮件请教,但很多在我们看来当时解决不了的难题在这类高手眼中可能就是个低级问题,不苦心钻研一番根本不好意思去问。这个阶段大概持续了有大半年,直到2012年在微博上遇到本书的另一作者snakeninny,那时他还是一个面临毕业的研究生,整天“不务正业”地研究iOS底层,而且研究得还相当有深度。我曾和他提过:“你看,有多少人都投入到App领域捞钱去了,你咋不去呢?”他说: “小弟的目标远大,要玩就朝着国际一线大牛的目标去!”小兄弟,你够狠!
  不过,多数时候我们都是自己在折腾,虽然偶尔在网上交流一下问题及解决方法,但往往能分享得到一些有价值的内容。在一起合写本书之前,我们曾经合作逆向分析过陌陌,做了一个插件用于在陌陌iPhone版上把美女的位置标注在地图上,当然我们都是善意的开发者,主动将这个漏洞告诉了陌陌,他们很快就修复了。这次,我们再次合作,将逆向分析这个方向的知识整理出版,呈现给各位读者。
  在接触越狱开发/逆向分析的这两年,个人感觉最大的收获就是看待App时,完全以一种庖丁解牛的眼光去审视:App如何构成、性能如何间接反映出开发团队水平高低。这些经验知识不仅可用于越狱开发,也可用于传统的App开发,至于带来的影响,有正有负吧。我们不能因为所谓正统的iOS平台不提倡越狱就否定这个领域的存在,盲目相信那些安全问题不存在不过是掩耳盗铃。
  有经验的开发者都明白,知识掌握得越深,越会接触到底层技术。比如sandbox保护机制之外到底有什么?runtime只用来研究理论知识是不是有点大材小用了?
  在Android领域,底层技术已经被扩散开,而在iOS领域,这个方向展现出来的内容还只是冰山一角。虽然国外也有几本iOS安全方向的书籍,比如《Hacking and Securing iOS Applications》、《iOS Hacker’s Handbook》,但是内容太难,多数人读不出所以然,不适合中国国情,即使我们这些有一定经验的开发者,读这些书也像是在读大学教科书。
  阳春白雪不为我们这些喜欢实践的技术宅所好,那么就来点下里巴人的,不必遮遮掩掩,直接全面展开这些知识岂不是更痛快?于是就有了我们这本书,书中的内容以工具+代码的形式全面、系统地展开知识点,由浅入深,图文并茂,旨在带着读者一步步地探索常规iOS App之外的世界。我们不会像一些技术博客那样貌似很高深的独立分析某一片段的代码,而是尽我们所能将一个完整的知识体系呈现给读者,相信读者一定会有所收获。
  国内投入在越狱开发这个方向的人并不算少,但都比较低调,而且多集中在大公司中,比如腾讯、360、91、WeiPhone,他们积累的技术非我们这些散兵游勇所能及,不过我们更愿意先将这些知识分享出来,希望能够抛砖引玉。
读者对象
  本书主要面向以下读者:
  对iOS系统有浓厚兴趣的读者;
  中高级iOS开发人员,他们在掌握了普通App开发之后对iOS有更深的渴求;
  架构师,因为在逆向App的整个过程中,有心的技术人员能看到那些经典App在结构设计上的经验、优势,并博采众长,有助于整体架构设计水平的提高;
  在别的系统上从事逆向工程,想要转向iOS系统的逆向工程师。
如何阅读本书
  本书将分为四大部分,分别是概念、工具、理论和实战。前三部分介绍iOS逆向分析这个领域的背景、知识体系,以及相应的工具集、理论知识;第四部分则具体以4个实际案例将前面的知识以实战的方式展开,让读者可以实践验证前面学到的知识并进一步更扎实地掌握相应的知识。
  如果读者不具备一定的逆向分析经验,建议还是从头开始按顺序阅读,而不要直接跨越到第四部分去模拟实战。虽然实战的成果似乎比较炫,但弄个半懂不懂也没意思对不对?
  第一部分为概念篇,将简单介绍iOS逆向分析的概念以及iOS平台系统架构。
  第二部分为工具篇,将会介绍一系列基于Mac和iOS平台的配套工具,并且重点讲解其中的class-dump、Theos、Reveal、IDA、GDB等5个工具的使用方法,前3个侧重于使用,后2个侧重于分析。
  第三部分为理论篇,除了介绍iOS逆向/越狱这个方向的理论知识之外,还顺带聊了一点 iOS逆向/越狱方向的国际一线大牛们的八卦,轻松一下。
  第四部分为实战篇,将通过对3个App Store App及1个系统App进行逆向分析的实战操作,让读者能够了解并同步实践已掌握的知识。
勘误和支持
  由于作者的水平有限,编写的时间也很仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正,欢迎微博联系@iOS应用逆向工程,或访问我们的技术博客http://iosre.com,我们将尽量为读者提供满意的解答。如果你有更多的宝贵意见,也欢迎你通过微博或技术博客与我们联系,我们很期待能够听到你们的真挚反馈。
致谢
  首先要感谢Jay Freeman(@saurik)这样的顶级高手,他奠定了越狱iOS的基石。还要感谢Dustin Howett(@DHowett),是他提供的Theos这样强大的开发工具让我得以迈进iOS逆向分析的大门。
  感谢安全管家,为我进入iOS逆向领域提供了一个能充分发挥的环境,虽然我早已离开,但希望它发展得更好。
  感谢微博上每一位热心的朋友——唐巧_boy、卢明华、你在瓦西里、isdada、Jagie、onevcat、戴铭、费西FISH、xuzhanji、Life无法Debug、移动开发小冉、HorseLuke、网络蝎子、hongjiang_wang、月之舞狼、StayNStay、bluesea哈哈哈、郑州IOS、青年土豆的烦恼、木土吉吉,以及这个仓促写就的名单之外的更多朋友,感谢他们对我的支持和鼓励。特别感谢唐巧_boy的引荐,他的热心帮助促成了本书的合作与出版。
  感谢机械工业出版社华章分社的编辑杨绣国老师,感谢她的魄力和远见,在这3个月的时间里始终支持我的写作,她的指点和帮助引导我们顺利完成全部书稿。
  谨以此书献给我最亲爱的家人,以及众多热爱iOS开发的朋友们。

吴航(@hangcom2010)

上架指导

计算机\安全

封底文字

本书结构合理、行文风趣,内容翔实,配图丰富。如果你是中高级的iOS开发者,这本书一定会让你大开眼界。当你在探究iOS系统底层或别人的APP迷失方向时,本书会告诉你该怎么办,该使用何种工具和策略。逆向爱好者、安全研究人员也能从书中了解到iOS的安全架构,app的攻防策略。iOS开发小白呢,更要入手一本做参考了,不然你开发的app分分钟就被暴露在别人的显微镜下了。如果你想缩短和高手之间的差距,想让你的app更安全,读一读此书吧。
——卢明华 友盟 iOS高级工程师
随着移动互联网浪潮的到来,iOS应用开发技术得到了大家广泛的关注,相关的书箱也非常丰富。但是iOS应用安全领域,却像一块处女地一样,鲜有资料涉及。应用安全相关知识是一把双刃剑,黑帽子用它来攻击那些不懂防范的菜鸟,白帽子用它来保证用户的隐私和维护自己的商业利益。本书从黑帽子攻击的角度,讲解了如何对iOS应用进行逆向工程。通过本书,作者揭开了那些不为人知的iOS应用攻击手段,也将会使得大家更加注意iOS应用的安全问题,最终促进整个业界对于安全的重视。 
—— 唐巧 猿题库 iOS高级工程师
逆向工程是一个可以让激情洋溢的程序员快速了解底层结构而成长为高手的快速途径,可惜长久以来,这个领域里的优秀人才都不曾出来向大家分享些学习的经验和体会,直到这本《iOS应用逆向工程》的面市。这本书提供了很多贴近现实的实例和平易的讲解,帮助你更容易进入这个领域。如果你想在软件领域有更深的造诣,可以跟着这本书调试书中的实例,就会一步步地了解iOS逆向工程的基本要领和操作流程。逆向工程多年来一直是自己研究各种系统的得力工具,所以我也把这本书推荐给大家。想象一下当初一直研习剑宗的令狐冲,在知道气宗存在之后的感觉吧!
—— 邹天矢 360手机卫士 前iOS高级工程师
如果你打算编写越狱环境下的iOS插件,或者想从一个全新的角度来审视现有的iOS应用程序,请从这里开始。本书覆盖范围十分广泛,从Class-dump、IDA等常用工具到iOS ARM汇编,囊括了目前相关领域使用的主流方法和技术,完整介绍了iOS应用逆向工程中的各个部分。书中所讲述的实战案例,通过对WhatsApp、Instagram等知名应用进行逆向分析,展现了逆向工程的巨大威力。相信本书将会为广大iOS应用开发者打开一扇新的大门。
—— 沙杰 搜狗号码通 iOS高级工程师

作者简介

沙梓社 吴航 刘瑾 著:沙梓社,硕士毕业一年,iOS越狱社区骨灰级活跃份子,思路开阔思想传统,对苹果的研究痴迷到连女朋友都没有的地步。作品见诸于Cydia,有SMSNinja、LowPowerBanner、DimInCall等。

吴航,十余年程序开发经验的资深码农,历经方正、NEC、Juniper等国内国外知名IT企业,2011年进入iOS领域,专注于iOS app/逆向等方向的开发,主要作品有安全管家、有康医生、知乎月刊HD等。

刘瑾,北京电子科技学院计算机科学与技术系讲师,教课之余主要从事移动客户端的安全应用程序设计和嵌入式应用程序开发研究,参与编著及翻译多本相关教材,承担过多个项目的研发工作,多次获得各项教学科研奖项。


推荐序

推 荐 序 一
  前一段时间跟吴航在微博上私信聊天,他说正在写一本iOS方面的书,我让他等书出来后送一本给我。前两天他发私信告诉我书写完了,让我给写个序,我当即表示“压力山大”,但还是欣然答应了。
  我认识吴航是在2011年9月,当时安全管家在找iOS开发高手。吴航作为我们安全管家iOS开发组的第一个工程师进来了,从零开始搭建iOS团队,负责包括安全管家越狱方向在内的iOS开发。到了2012年年中,我认识到iOS自身的安全性非常好,在非越狱的iOS上我们能做的关于安全的事情并不多,而越狱行为本身就是一个最大的安全风险,是用户主动选择的结果,跟我们自身的安全理念不符,因此无须投入太多关注,恰好吴航本人也想出去做自己的事情,就支持了他的决定。
  在那大半年的接触中,我发现吴航是个难得的技术人才,在技术的专研上有股子狠劲,拥有丰富的开发实战经验,又善于利用各种工具解决问题,因此在他带团队的时候,评估出来的开发进度基本上都能达成。我印象深刻的有两件事,第一件是开发越狱版安全管家。这方面官方公开的资料几乎没有,涉及很多系统底层,因此需要自己摸着石头过河并反复尝试。当时我们制定了一个比较紧的开发周期,希望在较短的时间内开发出越狱版安全管家的原型。吴航的压力不小,他接连几个月都在研究系统底层,向各路高人请教,通过Google找寻国外网站上的资料,没日没夜地想办法,后来终于在既定的时间内完成,让我看到了吴航不惧困难、敢于负责任的劲头。另一件事是开发iOS版安全管家,有个版本在我的手机上在不同页面间快速切换时有极小的概率会导致安全管家崩溃,我就反馈给吴航。虽然只是个小概率事件,但他亲自反复高强度测试,细致地排查代码,最终揪出了导致这个问题的一个内存指针bug,足见其严谨的技术态度和对质量高标准的追求。
  我虽然不做开发很多年了,但是至今不忘年轻时作为一个工程师,非常渴望与更高水平的人交流,希望聆听高手们的实战经验分享。吴航愿意把他的经验总结成书,是广大iOS开发者的福音,这本书能够带给大家实实在在的干货,让大家都能在技术的道路上再攀高峰。

赵岗
安全管家创始人



推 荐 序 二
  在生活中,我们经常会忽略许多习以为常的事物。事实上,那些我们每天都与之打交道的东西,往往都蕴含了一种“复杂”的美感:它们由成百上千的微小组件构成,各个微小组件各司其职,在各自的岗位上发挥着不可替代的关键作用。现代生活中,智能手机已经成了我们每天必不可少的工具,通过硬件、软件和固件协同合作,它为我们带来了好玩的游戏、有趣的照片以及便利的沟通渠道——电话和短信。
  在一个巴掌大的手机里,各个组件之间的关系错综复杂,互相影响。硬件为固件的运行提供支撑平台,固件掌管软件,而软件又回过头来调度硬件。如果你能控制它们之中的哪怕一个,不就可以让手机听命于你了吗?但App Store的插手,给你对它们的控制加上了重重阻力。
  本书从独特的角度剖析iOS应用,你会从比App Store App更低一级的深度去了解软件的各个组件在构造整个软件时起到的作用。你会由此发现你手机的“里世界”,它的能力远不止App Store所许可的那样有限,确切地说,它是一台功能齐全的计算机,在它的“里世界”里,一切皆有可能。
  少年,从这里开始打破App Store的限制,重新认识真正的iPhone吧!

Dustin L. Howett
iPhone tweak 开发者

  In our lives, we pay very little attention to things that work. Everything we interact with hides a fractal of complexity—hundreds of smaller components, all of which serve a vital role, each disappearing into its destined form and function. Every day, millions of people take to the streets with phones in their hands, and every day hardware, firmware, and software blend into one contiguous mass of games, photographs, phone calls, and text messages.
  It holds, then, that each component retains leverage over the others. Hardware owns firmware, firmware loads and reins in software, and software in turn directs hardware. If you could take control of one of them, could you influence a device to enact your own desires?
  iOS App Reverse Engineering: Analysis and Practice provides a unique view inside the software running on iOS?, the operating system that powers the Apple iPhone? and iPad?. Within, you will learn what makes up application code and how each component fits into the software ecosystem at large. You will explore the hidden second life your phone leads, wherein it is a full-fledged computer and software development platform and there is no practical limit to its functionality.
  So, young developer, break free of restricted software and find out exactly what makes your phone tick!

Dustin L. Howett
iPhone Tweak Developer

图书目录

推荐序一
推荐序二
自序
前言
第一部分 概念篇
第1章 iOS逆向工程简介  2
1.1 iOS软件逆向工程的要求  2
1.2 iOS软件逆向工程的作用  2
1.2.1 与安全相关的iOS逆向
工程  4
1.2.2 与开发相关的iOS逆向
工程  5
1.3 iOS软件逆向工程的一般过程  6
1.3.1 系统分析  7
1.3.2 代码分析  7
1.4 iOS软件逆向工程用到的工具  8
1.4.1 监测工具  8
1.4.2 开发工具  9
1.4.3 反编译器  9
1.4.4 调试器  10
1.5 小结  11
第2章 越狱iOS平台简介  12
2.1 iOS系统架构  12
2.1.1 iOS目录结构  13
2.1.2 iOS文件权限  15
2.2 iOS程序类型  16
2.2.1 Application  16
2.2.2 Dynamic Library  19
2.2.3 Daemon  19
2.3 小结  20
第二部分 工具篇
第3章 Mac工具集  22
3.1 class-dump  22
3.1.1 class-dump介绍及下载  22
3.1.2 class-dump使用演示  23
3.1.3 关于class-dump的补充
说明  25
3.2 Theos  25
3.2.1 Theos简介  25
3.2.2 Theos安装及编译  26
3.2.3 Theos用法简介  28
3.2.4 Theos开发tweak示例  47
3.3 Reveal  49
3.3.1 Reveal简介  49
3.3.2 Reveal安装及功能扩展  50
3.4 IDA  55
3.4.1 IDA简介  55
3.4.2 IDA使用说明  56
3.4.3 IDA分析示例  65
3.5 其他工具  68
3.5.1 iTools  68
3.5.2 dyld_decache  69
3.5.3 MesaSQLite  69
3.6 小结  70
第4章 iOS工具集  71
4.1 SBSettings  71
4.2 MobileSubstrate  72
4.3 OpenSSH  73
4.4 GDB  74
4.4.1 GDB简介  74
4.4.2 GDB的使用说明  74
4.5 Cycript  85
4.6 其他常用工具  88
4.6.1 BigBoss Recommended
Tools  88
4.6.2 AppCrackr  88
4.6.3 iFile  89
4.6.4 MobileTerminal  89
4.6.5 Vi IMproved  90
4.6.6 SQLite  90
4.6.7 top  91
4.6.8 syslogd  92
4.7 小结  92
第三部分 理论篇
第5章 Objective-C相关的iOS
逆向理论基础  94
5.1 tweak的作用原理  94
5.1.1 Objective-C语言的特性  94
5.1.2 MobileSubstrate  96
5.2 tweak的编写套路  97
5.2.1 灵感的来源  98
5.2.2 分析文件,寻找切入点  99
5.2.3 定位目标函数  102
5.2.4 测试函数功能  104
5.2.5 解析函数参数  105
5.2.6 class-dump的局限性  108
5.3 实例演示  108
5.3.1 得到灵感  108
5.3.2 分析文件  109
5.3.3 定位函数  115
5.3.4 测试函数  117
5.3.5 编写实例代码  117
5.4 小结  119
第6章 ARM汇编相关的iOS
逆向理论基础  120
6.1 ARM汇编基础  120
6.1.1 基本概念  121
6.1.2 ARM/THUMB指令解读  123
6.1.3 ARM调用规则  129
6.2 在IDA中分析目标文件  131
6.2.1 分析函数实现细节  132
6.2.2 验证分析结果  139
6.3 在GDB中分析目标文件  142
6.3.1 跟踪代码执行流程  142
6.3.2 动态更改代码  147
6.4 小结  157
第四部分 实战篇
第7章 实战1:去除OPlayer
Lite的广告  160
7.1 OPlayer Lite简介  160
7.2 分析源代码结构,并定位广告
横幅的代码  161
7.2.1 class-dump获取.h文件  161
7.2.2 猜测广告横幅的出现
位置  161
7.2.3 分析PlayView-
Controller.h  162
7.3 去除广告横幅,节省流量  167
7.3.1 找到“准备”广告的
位置  167
7.3.2 追溯到网络连接的起点  173
7.4 编写调试代码  175
7.4.1 编写Tweak_OPlayer-
Lite.xm  175
7.4.2 编辑control  176
7.4.3 编辑RemoveOPlayer-
Ads.plist  176
7.4.4 编辑Makefile  177
7.4.5 编译+打包  177
7.4.6 安装  177
7.5 调试去广告插件  177
7.6 代码结果整理  178
7.7 小结  179
第8章 实战2:WhatsApp
消息拦截  180
8.1 WhatsApp简介  180
8.2 分析源代码结构,并定位
监听点  180
8.2.1 class-dump获取.h文件  180
8.2.2 导入Xcode  182
8.2.3 找到WhatsAppApp-
Delegate  182
8.2.4 找到ChatManager  183
8.3 编写调试代码  184
8.3.1 分析函数列表  184
8.3.2 编写Tweak_Whats-
App.xm  185
8.3.3 编辑control  186
8.3.4 编辑monitor.plist  186
8.3.5 编辑Makefile  186
8.3.6 编译+打包  187
8.3.7 安装  187
8.4 调试运行监听插件  187
8.4.1 运行WhatsApp,
SSH连接  187
8.4.2 发送/接收消息,
监控日志  188
8.4.3 保存数据  189
8.5 代码结果整理  194
8.6 小结  195
第9章 实战3:Instagram图片
保存  196
9.1 Instagram简介  196
9.2 分析源代码结构,并定位
图片展示点  196
9.2.1 用class-dump
获取.h文件  196
9.2.2 导入Xcode  198
9.2.3 找到AppDelegate  198
9.2.4 注入Reveal  199
9.2.5 寻找图片页相关class  200
9.3 保存图片  205
9.3.1 尝试保存图片  205
9.3.2 对.h文件进行瘦身  206
9.3.3 编译测试  208
9.4 弹出提示菜单  208
9.4.1 弹出菜单代码  208
9.4.2 使用Theos新增函数  210
9.4.3 使用runtime新增函数  211
9.5 代码结果整理  214
9.6 小结  215
第10章 实战4:iOS电话操作  216
10.1 常用电话操作  216
10.2 分析源代码结构,并定位
电话操作的代码  216
10.2.1 class-dump获取.h文件  216
10.2.2 寻找拨打电话的函数  217
10.2.3 寻找接听电话的函数  229
10.2.4 寻找挂断电话的函数  234
10.2.5 寻找删除通话记录的
函数  236
10.2.6 寻找拦截电话的方法  238
10.3 编写调试代码  250
10.3.1 编写Tweak_Phone-
Operation.xm  250
10.3.2 编辑control  254
10.3.3 编辑Phone-
Operation.plist  255
10.3.4 编辑Makefile  255
10.3.5 编译+打包+安装  255
10.4 调试电话操作插件  255
10.5 代码结果整理  257
10.6 小结  257
越狱开发一览  258
沙箱逃脱  263
编写tweak——新时代的
hacking  265

教学资源推荐
作者: 周学广 等
作者: [加] 林晓东(Xiaodong Lin) 著
作者: 何炎祥 刘陶 著
参考读物推荐
作者: 封面署名:黄连金 吴思进 曹锋 季宙栋 等编著扉页署名:黄连金 吴思进 曹锋 季宙栋 马臣云 达摩 李恩典 徐浩铭 翁俊杰 编著