飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 182938|回复: 81

[已解决] 飘云阁原创:《iOS应用逆向与安全之道》 已出版

    [复制链接]
  • TA的每日心情
    难过
    5 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2020-1-15 17:29:54 | 显示全部楼层 |阅读模式
    喜报:《iOS应用逆向与安全之道》在51CTO举办的“2020年度最受读者喜爱的IT图书评选”中荣获:



    “操作系统领域最受读者喜爱的图书TOP5”










    机械工业出版社正版购买通道:

    https://item.jd.com/12800426.html

    收货后烦请在JD写个如实评论,谢谢大家!

    1.凡是通过以上链接购买,均可换取飘云阁安全论坛邀请码1枚(或飘云币200枚)。具体换取方式请在公众号回复:换取
    2.根据实际情况可安排少量签名版,同样可换取飘云阁安全论坛邀请码1枚(或飘云币200枚)。具体购买方式请在公众号回复:签名版

    QQ交流群:30063777 [非iOS爱好者不要加入,索要邀请码、发广告必踢]



    扫码关注飘云阁公众号了解更多:


    本书始终遵循“大道至简”之法则,仅保留必要的理论知识,以实战为主线来揭开iOS应用逆向与安全的神秘面纱。主要内容包括:环境搭建、Mach-O文件格式、ARM汇编、应用脱壳、运行时分析、静态分析、动态调试、iOS插件开发、Hook与注入、应用安全、协议安全等。本书涵盖了时下热门的iOS逆向技术,以及飘云阁论坛版主、信息安全领域一线软件安全专家和笔者自己的多年实战经验,是软件安全研究人员的一本必备秘籍。

    本书适合iOS爱好者、对iOS调试技术和对iOS应用协议分析感兴趣的读者、对iOS应用保护感兴趣的开发人员、从其他平台转战iOS平台的逆向工程师、想提高实战技巧的iOS逆向工程师及计算机相关专业的师生阅读。
    序一

    序二

    序三

    序四

    前言

    第一篇 初 出 茅 庐

    第1章 背景知识

    1.1 iOS逆向工程简介

    1.1.1 iOS逆向工程学习路线

    1.1.2 iOS逆向工程基本流程

    1.1.3 iOS逆向工程意义所在

    1.2 iOS越狱平台简介

    1.2.1 iOS越狱及其定义

    1.2.2 iOS越狱商店

    1.2.3 iOS系统目录

    1.2.4 iOS沙盒结构

    1.2.5 iOS应用结构

    1.2.6 iOS文件权限

    1.3 本章小结


    第2章 环境搭建

    2.1 开发环境

    2.1.1 Xcode

    2.1.2 Homebrew

    2.2 越狱环境

    2.2.1 iOS越狱设备的选择

    2.2.2 Cydia Substrate(iOS 11以下)

    2.2.3 Substitute(iOS 11~iOS 13)

    2.2.4 必备小工具

    2.3 SSH配置

    2.3.1 安装OpenSSH

    2.3.2 配置dropbear

    2.3.3 免密码登录

    2.3.4 USB连接设备

    2.3.5 修改默认密码

    2.3.6 使用scp传输文件

    2.4 实用工具推荐

    2.5 本章小结


    第3章 逆向基础

    3.1 Mach-O文件格式

    3.1.1 通用二进制文件

    3.1.2 Mach-O头部

    3.1.3 加载命令

    3.2 ARM汇编基础

    3.2.1 寄存器

    3.2.2 指令集

    3.2.3 栈及传参规则

    3.2.4 内联汇编

    3.2.5 Objective-C的汇编机制

    3.3 本章小结

    第二篇 小 试 牛 刀

    第4章 应用脱壳

    4.1 检测是否加壳

    4.2 Clutch

    4.2.1 安装Clutch

    4.2.2 Clutch脱壳实战

    4.3 dumpdecrypted

    4.3.1 编译dumpdecrypted

    4.3.2 dumpdecrypted脱壳实战

    4.4 bfinject

    4.4.1 安装bfinject

    4.4.2 bfinject脱壳实战

    4.4.3 修复闪退

    4.5 CrackerXI(iOS 11~iOS 13)

    4.6 frida-ios-dump

    4.6.1 一键快速脱壳

    4.6.2 完美修复闪退

    4.6.3 ipa文件安装失败处理

    4.7 使用lipo分离架构

    4.8 本章小结


    第5章 运行时分析

    5.1 class-dump

    5.2 Cycript

    5.2.1 越狱环境安装Cycript

    5.2.2 Cycript实战

    5.2.3 Cycript高级用法

    5.2.4 iOS 11使用Cycript

    5.3 Reveal

    5.3.1 越狱环境使用Reveal

    5.3.2 iOS 11~iOS 13使用Reveal

    5.3.3 Reveal实战

    5.4 FLEX

    5.4.1 越狱环境使用FLEX

    5.4.2 FLEX实战

    5.5 Frida

    5.5.1 Frida安装

    5.5.2 Frida入门

    5.5.3 Frida实战

    5.5.4 Frida进阶

    5.6 本章小结

    第三篇 登 堂 入 室

    第6章 静态分析

    6.1 Hopper

    6.1.1 安装Hopper

    6.1.2 认识Hopper

    6.1.3 编写Hopper脚本实战

    6.2 IDA Pro

    6.2.1 加载文件

    6.2.2 功能划分

    6.2.3 保存idb文件

    6.2.4 常用功能及快捷键

    6.2.5 编写IDA脚本实战

    6.3 如何定位切入点

    6.3.1 通过Runtime定位

    6.3.2 通过导入函数定位

    6.3.3 通过导出函数定位

    6.3.4 通过字符串定位

    6.3.5 通过网络行为定位

    6.4 实例分析

    6.4.1 使用class-dump定位按钮事件

    6.4.2 使用Hopper分析验证流程

    6.4.3 使用IDA分析序列号及修改代码

    6.5 本章小结


    第7章 动态调试

    7.1 LLDB动态调试

    7.1.1 配置debugserver

    7.1.2 与LLDB建立连接

    7.1.3 LLDB命令详解

    7.1.4 LLDB手动脱壳

    7.1.5 LLDB脚本编写

    7.1.6 LLDB高效技巧

    7.2 IDA动态调试

    7.2.1 直接启动调试

    7.2.2 远程附加调试

    7.3 Xcode动态调试

    7.3.1 远程附加调试

    7.3.2 直接启动调试

    7.3.3 恢复符号表

    7.3.4 UI调试功能

    7.4 本章小结


    第8章 越狱开发

    8.1 Theos简介

    8.1.1 Theos安装

    8.1.2 Theos常用模块

    8.2 插件开发

    8.2.1 创建工程

    8.2.2 解读工程文件

    8.2.3 编译+打包+安装

    8.3 命令行工具开发

    8.3.1 创建工程

    8.3.2 兼容iOS 11~iOS 13

    8.4 系统级应用开发

    8.4.1 创建工程

    8.4.2 以root权限运行(iOS 11以下)

    8.4.3 以root权限运行(iOS 11、iOS 12)

    8.4.4 以root权限运行(iOS 13)

    8.5 守护进程开发

    8.5.1 创建工程

    8.5.2 自动部署

    8.6 进程间通信

    8.6.1 Notification通信

    8.6.2 XPC通信

    8.6.3 RocketBootstrap通信

    8.7 MonkeyDev

    8.7.1 MonkeyDev安装

    8.7.2 Logos Tweak

    8.7.3 CaptainHook Tweak

    8.7.4 Command-line Tool

    8.8 跟踪函数调用

    8.8.1 使用logify跟踪

    8.8.2 使用ANYMethodLog跟踪

    8.8.3 使用BigBang跟踪

    8.9 增加系统设置项

    8.9.1 PreferenceLoader

    8.9.2 AppList

    8.10 deb重打包

    8.11 本章小结


    第9章 Hook与注入

    9.1 Method Swizzling

    9.1.1 Method Swizzling原理

    9.1.2 Method Swizzling实例

    9.1.3 MSHookMessageEx实例

    9.1.4 获取类成员变量实例

    9.2 Inline Hook

    9.2.1 MSHookFunction实例

    9.2.2 fishhook实例

    9.2.3 HookZz实例

    9.3 Swift Hook

    9.3.1 Swift逆向分析

    9.3.2 Swift Hook实例

    9.4 注入技术

    9.4.1 越狱环境注入

    9.4.2 非越狱环境注入

    9.4.3 注入dylib实例

    9.5 应用重签名

    9.5.1 手动重签名

    9.5.2 使用iOSAppSigner重签名

    9.5.3 使用fastlane重签名

    9.5.4 使用MonkeyDev重签名

    9.6 本章小结


    第10章 应用安全

    10.1 调试器对抗

    10.1.1 反调试

    10.1.2 反-反调试

    10.2 注入对抗

    10.2.1 反注入

    10.2.2 注入检测

    10.2.3 注入防护

    10.3 Hook检测

    10.3.1 Method Swizzing检测

    10.3.2 Inline Hook检测

    10.4 越狱检测

    10.4.1 检测越狱商店及其附属文件

    10.4.2 尝试读取系统应用列表

    10.4.3 检测URLSchemes是否有效

    10.5 完整性检测

    10.5.1 加载命令检测

    10.5.2 代码段检测

    10.5.3 签名信息检测

    10.6 代码保护

    10.7 本章小结


    第11章 协议安全

    11.1 HTTP分析利器:Charles

    11.1.1 配置Charles

    11.1.2 修改数据包

    11.1.3 重放数据包

    11.1.4 模拟弱网络

    11.1.5 HTTPS抓包

    11.1.6 取消证书校验

    11.2 TCP/IP分析利器:Wireshark

    11.2.1 创建远程虚拟接口

    11.2.2 认识Wireshark

    11.2.3 TCP抓包分析示例

    11.2.4 数据包过滤

    11.3 常见算法识别

    11.3.1 压缩算法

    11.3.2 摘要算法

    11.3.3 对称加密算法

    11.3.4 非对称加密算法

    11.3.5 利用插件识别

    11.4 本章小结

    第四篇 融 会 贯 通

    第12章 实战1:某著名社交App小程序格式分析

    12.1 目标App介绍

    12.2 寻找切入点

    12.3 分析文件结构

    12.3.1 分析伪代码

    12.3.2 定义文件结构

    12.4 分析包头结构

    12.4.1 推导包头大小

    12.4.2 定义包头结构

    12.5 分析描述信息结构

    12.6 编写解包工具

    12.7 本章小结


    第13章 实战2:某短视频App水印控制及配置开关分析

    13.1 目标App介绍

    13.2 寻找切入点

    13.2.1 抓包分析

    13.2.2 用FLEXible获取Controller

    13.2.3 用Frida定位按钮响应方法

    13.3 水印控制逻辑分析

    13.4 配置开关分析

    13.4.1 获取“通用设置”页面的Controller

    13.4.2 寻找数据源

    13.4.3 寻找数据模型

    13.4.4 分析数据模型

    13.5 本章小结


    第14章 实战3:某游戏广告及内购流程分析

    14.1 目标App介绍

    14.2 分析广告逻辑

    14.2.1 使用Reveal定位广告窗口

    14.2.2 定位GADBannerView类的初始化方法

    14.2.3 定位GADBannerView类加载广告的方法

    14.2.4 定位GADBannerView对象的创建方法

    14.3 分析内购流程

    14.3.1 定位关键类

    14.3.2 追踪CMPPurchaseManager类

    14.3.3 追踪Purchase类

    14.3.4 分析回调处理逻辑

    14.3.5 分析内购结果构造过程

    14.4 本章小结


    第15章 实战4:某物联网设备登录协议及安全隐患分析

    15.1 目标App介绍

    15.2 登录协议分析

    15.2.1 确定可变字段

    15.2.2 定位关键点

    15.2.3 分析参数来源

    15.2.4 分析verify算法

    15.2.5 分析salt值

    15.3 安全隐患分析

    15.3.1 安全隐患成因

    15.3.2 安全隐患复现

    15.4 本章小结


    第16章 实战5:某乐谱App下载协议与安全问题分析

    16.1 目标App介绍

    16.2 数据包采样

    16.2.1 确定可变字段

    16.2.2 字段依赖分析

    16.3 签名算法分析

    16.3.1 静态定位关键函数

    16.3.2 动态调试获取主要参数

    16.3.3 栈回溯找出其他参数

    16.3.4 协议下载乐谱

    16.4 VIP权限校验的安全问题

    16.4.1 安全问题成因

    16.4.2 分析VIP权限控制逻辑

    16.5 乐谱解密过程分析

    16.6 本章小结


    第17章 实战6:某经典GPS插件授权机制分析

    17.1 目标App介绍

    17.2 抓包分析

    17.2.1 数据包采样

    17.2.2 判断关键字段

    17.3 定位关键函数

    17.4 授权机制分析

    17.4.1 去除反调试

    17.4.2 确定算法

    17.4.3 分析RSA公钥读取逻辑

    17.4.4 验证算法

    17.4.5 主程序验证流程

    17.4.6 二次验证流程

    17.5 本章小结

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x

    评分

    参与人数 19威望 +28 飘云币 +25 收起 理由
    yp124202453 + 1 + 1 分享精神,是最值得尊敬的!
    kingzzf + 1 感谢发布原创作品,PYG有你更精彩!
    GentleQuan + 1 + 1 PYG有你更精彩!
    Donald825 + 1
    xiliuya + 1 + 1 PYG有你更精彩!
    bluesky10 + 1 + 1 万水千山总是情,给个评分最贴心!
    年少 + 1 + 1 吃水不忘打井人,给个评分懂感恩!
    liushuangyu123 + 1 赞一个,这个帖子很给力!
    飞腾小子 + 1 + 1 万水千山总是情,给个评分最贴心!
    南柱赫 + 1 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2018-5-24 20:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-1-18 02:12:07 来自手机 | 显示全部楼层
    已购 支持飘大
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2018-5-24 20:12
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-1-18 02:17:13 | 显示全部楼层

    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-2-26 21:51
  • 签到天数: 1059 天

    [LV.10]以坛为家III

    发表于 2020-1-21 10:23:34 | 显示全部楼层
    太牛了。。还有吗?????
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-10-30 22:05
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2020-1-25 20:18:55 | 显示全部楼层
    本帖最后由 iamok 于 2020-1-25 20:40 编辑

    看目录就知道是非常棒的书,希望下次再出本macos应用逆向的书的。已支持。。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-4-16 18:05
  • 签到天数: 563 天

    [LV.9]以坛为家II

    发表于 2020-1-27 07:10:06 | 显示全部楼层
    大佬太秀了!!!!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-3-17 14:20
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    发表于 2020-1-28 21:32:42 | 显示全部楼层
    已经购买,支持飘大
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-1-30 19:12
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2020-1-29 19:28:36 | 显示全部楼层
    楼主辛苦了,新年快乐
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-19 22:05
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2020-2-5 13:57:00 | 显示全部楼层
    已经买了 希望pyg越办越好
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-2-14 00:02
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2020-2-9 04:01:22 | 显示全部楼层
    本帖最后由 t5442107 于 2020-2-9 04:08 编辑

    京东以下单
    支持

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x

    点评

    [attachimg]94807[/attachimg] [attachimg]94806[/attachimg] 飘大的京东有优惠啊!秒抢。  详情 回复 发表于 2020-4-22 05:59
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表