首页
社区
课程
招聘
[原创]iOS安全些许经验和学习笔记
发表于: 2016-3-30 16:32 41959

[原创]iOS安全些许经验和学习笔记

2016-3-30 16:32
41959

       其实我接触iOS逆向工程并不久。从去年年初的时候,才开始接触到iOS语言,然后做一些iOS安全保护相关的工作,自己也慢慢接触iOS逆向工程这方面的东西,所以加起来也就1年的时间吧,下面就来谈谈我自己的一个学习过程。
逆向工程
       逆向工程是一种产品设计技术再现的过程,对某一目标产品进行静态或动态分析研究,从而演绎得出该产品的处理流程,功能结构以及技术构成等设计要素,然后把分析出来的技术用于自己的产品。
        逆向分析的作用:
        ①:缩短开发周期
        ②:降低开发成本
        ③:寻找技术突破
语言入门
       如果你要逆向分析iOS应用相关的东西,当然你得熟悉Object-C这门语言,不要求对开发了解的多么深入,但是首先得能理解它的语法,看懂Object-C的代码,并能够自己用这门语言写一些简单的应用及功能模块。
       这方面的话,看书或者看视频都可以,我当时就是在极客学院看的Object-C基础开发的视频,学了一个星期左右吧。很重要的一点就是你在看的时候不能只是看,必须边看边实践,一定要把代码写出来。
       最能写一个tableview,从网络请求数据然后显示到界面,也就差不多了。
熟悉工具
       逆向工程往往需要借助一些工具,首先需要准备一台越狱的机器,能够熟练使用以下工具:
        ①openSSH:登录越狱机器,进行文件传输等等。
        ②Cycript:运行一些动态js脚本。
        ③lldb:动态调试应用,查看运行时变量的值。
        ④class-dump: 导出应用头文件,查看应用类和成员信息。
        ⑤Keychain dumper:导出越狱设备的keychain。
        ⑥Snoop-it,introspy:动态追踪分析工具。
        ⑦Hopper,IDA:静态反汇编分析工具。
        ⑧theos:开发tweak,进行动态hook。
       上面说的都可以在我的博客里面找到这些工具的使用方法,总之,一定要实践,一定要实践,一定要实践!(重要的事说三遍)
        推荐《iOS应用逆向工程》这本书,作者拥有多年逆向开发实践经验,可以跟着里面讲的知识慢慢学习。
继续深入
文件结构
       再深入一些的话,需要熟悉macho文件结构,包括它的构成,每一部分的作用,以及动态加载过程,然后可以进一步看看class-dump的源码。
深入原理
       使用工具,决不能只停留在工具的表面,一定要知道工具内部是怎么实现的,它的原理的是什么,自己是不是可以对它进行改进等等,比如theos的原理,Method Swizzling,fishhook等等。
知己知彼
       再说到逆向分析其实就是一个“攻”的过程,那么肯定不是一帆风顺的,有攻就有防,现在很多应用对于防止被逆向分析也做了很多不同的措施比如:反注入,反调试,反反汇编这些。作为一个逆向分析者,同时也需要对防的过程和可能使用的方法有一定的了解,才能更好的去寻找突破口。
熟悉汇编
       静态分析中难免需要去阅读汇编代码,知道各种寄存器的作用,以及对堆栈的操作过程。

后续建议
     ① 多关注一些github开源项目,包括上面说的那些
     ② 多关注国内国外博客论坛
     ③ 多实践,看再多的东西,都要实践出来

下面是我博客的部分笔记:
iOS安全–安装OpenSSH:e3eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1L8%4m8W2L8Y4y4K6K9q4)9J5k6h3S2@1L8h3H3`.
iOS安全–用class-dump-z导出IOS应用类信息:f12K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1j5$3I4S2M7%4y4Q4x3X3c8V1N6h3#2H3i4K6u0V1P5W2)9J5k6h3S2@1L8h3H3`.
iOS安全–使用Cycript进行运行时分析:040K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1j5%4W2U0M7X3W2H3N6q4)9J5k6h3S2@1L8h3H3`.
iOS安全–导出Keychain中的数据:281K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1K9$3g2&6j5$3S2S2K9h3&6V1N6h3#2H3k6i4u0Q4x3X3g2Z5N6r3#2D9
iOS安全–使用Snoop-it分析iOS应用:ad4K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1M7$3&6G2L8%4m8Q4x3X3c8A6N6q4)9J5k6h3S2@1L8h3H3`.
iOS安全–使用introspy追踪IOS应用:792K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1K9h3&6@1M7X3!0K6M7s2W2Q4x3X3g2Z5N6r3#2D9
iOS安全–使用lldb对应用进行运行时分析:872K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1L8r3I4V1j5W2)9J5k6h3S2@1L8h3H3`.
iOS安全–了解Mach-o文件结构:a1dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1L8h3q4U0K9q4)9J5k6r3!0Q4x3X3g2Z5N6r3#2D9
iOS安全–从Mach-o文件结构分析类名和方法名:c9fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1L8h3q4U0K9q4)9J5k6r3!0Q4x3X3c8V1N6h3#2H3i4K6u0W2K9s2c8E0L8l9`.`.
iOS安全–使用Hopper修改程序逻辑跳过验证:4d3K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1K9r3!0H3M7r3g2J5i4K6u0W2K9s2c8E0L8l9`.`.
iOS安全–使用Theos开发Tweak过验证:25dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1N6r3S2W2L8%4y4Q4x3X3c8@1N6$3g2S2K9#2)9J5k6h3S2@1L8h3H3`.
iOS安全–使用Logify跟踪函数调用: ecaK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1N6r3S2W2L8%4y4Q4x3X3c8D9L8$3N6A6k6Y4W2Q4x3X3g2Z5N6r3#2D9
iOS安全–移除IOS应用的ASLR特性: ea2K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4K6i4K6u0V1M7X3g2E0L8%4k6W2i4K6u0V1j5i4y4D9M7W2)9J5k6h3S2@1L8h3H3`.
iOS安全–使用iOSOpenDev进行越狱开发: 5ceK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4y4G2M7r3g2F1k6r3g2$3i4K6u0W2K9s2c8E0L8l9`.`.
iOS安全–阿里比赛iOS 1. 2 题解: 610K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6S2L8r3W2Q4x3X3c8A6L8%4y4Q4x3X3c8Y4j5h3#2W2i4K6u0W2K9s2c8E0L8l9`.`.
iOS安全—阻止tweak注入hook api: 93dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6T1L8r3!0U0K9#2)9J5k6r3y4G2k6r3g2Q4x3X3c8A6L8X3A6W2j5%4c8Q4x3X3g2Z5N6r3#2D9
iOS安全–可执行文件dylib注入,无需越狱: 708K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8X3A6W2j5%4c8Q4x3X3c8%4K9i4c8Z5i4K6u0V1L8X3A6T1i4K6u0W2K9s2c8E0L8l9`.`.
iOS安全—dumpdecrypted APP砸壳: debK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6V1N6h3#2H3k6r3g2U0M7Y4W2H3N6r3g2V1i4K6u0V1j5i4m8H3i4K6u0W2K9s2c8E0L8l9`.`.
iOS安全–XX助手网络协议分析: 688K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6H3M7r3S2W2L8s2m8W2M7W2)9J5k6r3q4F1j5h3I4&6P5X3g2Q4x3X3g2Z5N6r3#2D9
iOS安全–在非越狱平台进行越狱开发(附分析流程):faaK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6%4k6h3y4Z5j5i4c8Q4x3X3c8G2M7r3g2F1M7X3g2V1k6h3&6$3k6h3I4G2M7r3g2K6i4K6u0W2K9s2c8E0L8l9`.`.
iOS安全–看了这个,你还敢用分身版微信吗?:73fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0D9L8$3N6X3M7$3S2S2M7X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6@1K9r3g2Q4x3X3c8K6k6h3y4G2L8X3c8Q4x3X3c8%4k6h3y4Z5j5i4c8Q4x3X3g2Z5N6r3#2D9

微信文章:1feK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3#2H3i4K6u0W2N6$3g2A6P5r3W2F1i4K6u0W2M7i4q4Q4x3X3g2U0L8$3#2Q4x3V1k6E0M7q4)9J5c8X3N6W2N6r3#2S2M7%4y4K6k6h3&6V1L8i4y4Y4i4K6y4r3i4K6g2X3i4K6g2X3j5X3W2*7i4K6y4p5e0i4A6u0y4f1#2p5d9i4N6z5K9X3x3#2e0i4N6Q4x3@1c8Q4x3@1c8Q4x3U0y4%4k6h3y4Z5j5i4c8Q4y4h3k6%4k6h3u0$3K9h3g2%4i4K6g2X3N6s2W2H3k6g2)9K6c8o6q4Q4x3U0k6%4k6h3y4Z5j5i4c8Q4y4h3k6J5k6h3c8A6M7X3g2U0N6l9`.`.

微信公众号:blogfshare
更新文章:
摇骰子作弊
微信运动修改步数


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 5
支持
分享
最新回复 (26)
雪    币: 0
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好文章。支持,。,
2016-3-30 16:47
0
雪    币: 491
活跃值: (5205)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
多谢楼主的指定
2016-3-30 18:28
0
雪    币: 574
活跃值: (663)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这是好文章,不错的,期待后续文章
2016-3-30 20:38
0
雪    币: 623
活跃值: (40)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
不错,mark
2016-3-30 21:56
0
雪    币: 188
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
很好的总结,赞一个
2016-3-31 00:01
0
雪    币: 224
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
不错  赞一个
2016-3-31 02:09
0
雪    币: 6340
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
好文章。赞一个
2016-3-31 07:50
0
雪    币: 284
活跃值: (250)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
NICE,谢谢楼主,收藏了
2016-3-31 10:34
0
雪    币: 138
活跃值: (550)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
为这种给小辈学习指引性的资料点赞~!
2016-3-31 16:14
0
雪    币: 211
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
顶个
2016-4-1 08:40
0
雪    币: 893
活跃值: (397)
能力值: ( LV13,RANK:600 )
在线值:
发帖
回帖
粉丝
12
谢谢分享:)
2016-4-4 02:57
0
雪    币: 95
活跃值: (30)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
支持作者  已收藏
2016-4-5 11:18
0
雪    币: 7473
活跃值: (1440)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
LZ笔记不少,很值得学习学习
2016-4-5 13:23
0
雪    币: 133
活跃值: (122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
感谢,对于我这种准备入门的小白非常有指导性
2016-4-7 09:56
0
雪    币: 43
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
感谢楼主,楼主是哪儿人,线下可以一起喝咖啡。
2016-4-15 09:20
0
雪    币: 144
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
多谢分享。
2016-4-16 20:45
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
好文章。
2016-7-19 16:46
0
雪    币: 346
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
19
至少得对ios系统比较了解吧?
2016-7-19 17:52
0
雪    币: 271
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
感谢分享,mark
2016-8-1 16:21
0
雪    币: 244
活跃值: (189)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
duo xie fengxiang
2016-8-3 14:18
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
非常好 标记
2016-8-26 00:46
0
雪    币: 3
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
学习了
2018-1-31 14:03
0
雪    币: 89
活跃值: (494)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24
感谢楼主
2018-7-16 15:41
0
雪    币: 4064
活跃值: (4402)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
25
感谢分享!
2018-7-16 17:09
0
游客
登录 | 注册 方可回帖
返回