iOS应用逆向与安全

iOS应用逆向与安全
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2018-06
版次: 1
ISBN: 9787121340994
定价: 85.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 404页
字数: 535千字
121人买过
  • 《iOS应用逆向与安全》从正向开发、工具的使用、逆向实战及安全保护等方面,对iOS应用的逆向与安全进行了讲解。本书内容包括基本概念、逆向环境的准备、常用逆向分析工具、类的结构、App签名、Mach-O文件格式、hook原理等,并通过在越狱平台和非越狱平台上的逆向分析实例,带领读者学习逆向分析的思路和方法。在应用安全及保护方面,本书内容涉及网络传输、安全检测、代码混淆等。 
    《iOS应用逆向与安全》适合高校计算机相关专业的学生、iOS开发工程师、逆向工程师、越狱开发工程师、iOS安全工程师及应用安全审计人员阅读参考。 刘培庆(@Alone_Monkey) 
    iOS逆向爱好者,网易云课堂“iOS逆向与安全”主讲。大学毕业后在网易负责iOS安全保护、基础组件开发、质量保障等工作。目前就职于阿里巴巴米诺斯实验室,从事安全保护相关工作。开源作品有MonkeyDev、frida-ios-dump等。 第1章  概述 
    1.1  逆向工程简介  1 
    1.1.1  iOS逆向学习基础  1 
    1.1.2  iOS逆向的流程  1 
    1.1.3  iOS逆向使用的工具  2 
    1.1.4  iOS逆向的应用场景  2 
    1.2  应用面临的安全风险  2 
    1.2.1  静态修改文件  3 
    1.2.2  动态篡改逻辑  3 
    1.2.3  协议分析  3 
    1.3  应用保护手段  3 
    1.3.1  数据加密  3 
    1.3.2  程序混淆  4 
    1.3.3  安全监测  4 
    1.4  本书工具  4 
    1.4.1  效率工具  4 
    1.4.2  实用工具  5 
    1.4.3  逆向工具  5 
      
    第2章  越狱设备 
    2.1  什么是越狱  6 
    2.2  Cydia  6 
    2.3  SSH  7 
    2.3.1  安装OpenSSH  8 
    2.3.2  配置dropbear  10 
    2.3.3  修改默认密码  11 
    2.3.4  公钥登录  11 
    2.3.5  通过USB登录  13 
    2.4  iOS系统结构  14 
    2.4.1  文件目录  15 
    2.4.2  文件权限  17 
    2.5  Cydia Substrate  18 
    2.5.1  MobileHooker  19 
    2.5.2  MobileLoader  19 
    2.5.3  Safe mode  20 
    2.6  越狱必备工具  21 
    2.6.1  adv-cmds  21 
    2.6.2  appsync  21 
    2.6.3  iFile  21 
    2.6.4  scp  22 
      
    第3章  逆向工具详解 
    3.1  应用解密  23 
    3.1.1  dumpdecrypted  23 
    3.1.2  Clutch  28 
    3.1.3  小结  30 
    3.2  class-dump  30 
    3.2.1  class-dump的使用  30 
    3.2.2  class-dump的原理  33 
    3.2.3  OC和Swift混编  40 
    3.3  Reveal  41 
    3.3.1  开发集成Reveal  41 
    3.3.2  越狱注入Reveal  42 
    3.4  Cycript  43 
    3.4.1  开发集成Cycript  44 
    3.4.2  使用Cycript越狱  45 
    3.4.3  使用Cycript分析应用  46 
    3.4.4  Cycript的高级用法  49 
    3.5  抓包  52 
    3.5.1  Charles抓包  53 
    3.5.2  修改网络请求  55 
    3.5.3  HTTPS抓包  59 
    3.5.4  Wireshark抓包  60 
      
    第4章  开发储备 
    4.1  App的结构及构建  66 
    4.1.1  获取应用包  66 
    4.1.2  应用包的格式  71 
    4.1.3  应用的构建过程  72 
    4.2  界面结构和事件传递  76 
    4.2.1  界面的组成  76 
    4.2.2  界面事件的响应  79 
    4.3  类与方法  83 
    4.3.1  类与方法的底层实现  84 
    4.3.2  运行时类的结构  89 
    4.3.3  消息机制  91 
    4.3.4  runtime的应用  94 
    4.4  App签名  98 
    4.4.1  配置Xcode签名  98 
    4.4.2  App签名的原理  100 
    4.4.3  重签名  107 
      
    第5章  分析与调试 
    5.1  静态分析  109 
    5.1.1  Hopper  109 
    5.1.2  IDA  118 
    5.1.3  静态库分析  125 
    5.2  动态调试  128 
    5.2.1  LLDB调试  128 
    5.2.2  LLDB解密  141 
    5.2.3  用Xcode调试第三方应用  144 
    5.2.4  LLDB的高级调试技巧  151 
    5.3  Theos  167 
    5.3.1  Theos的安装  168 
    5.3.2  Theos的基本应用  168 
    5.3.3  Theos的高级应用  172 
    5.4  MonkeyDev  177 
    5.4.1  安装MonkeyDev  178 
    5.4.2  Logos Tweak  179 
    5.4.3  CaptainHook Tweak  181 
    5.4.4  Command-line Tool  185 
      
    第6章  逆向进阶 
    6.1  程序加载  186 
    6.1.1  dyld简介  186 
    6.1.2  dyld加载流程  187 
    6.2  Mach-O文件格式  206 
    6.2.1  Mach-O文件的基本格式  206 
    6.2.2  Mach-O头部  208 
    6.2.3  Load Command  210 
    6.2.4  虚拟地址和文件偏移  214 
    6.2.5  懒加载和非懒加载  217 
    6.2.6  Code Signature  223 
    6.3  ARM汇编  228 
    6.3.1  ARM架构和指令集  228 
    6.3.2  AArch64寄存器  229 
    6.3.3  指令集编码  231 
    6.3.4  AArch64指令  233 
    6.3.5  栈和方法  236 
    6.3.6  Objective-C汇编  245 
    6.4  hook  247 
    6.4.1  Method Swizzle  247 
    6.4.2  fishhook  248 
    6.4.3  Cydia Substrate  253 
    6.4.4  Swift hook  256 
    6.5  动态库  259 
    6.5.1  编译和注入  260 
    6.5.2  导出和隐藏符号  260 
    6.5.3  C++ 和OC动态库  263 
    6.5.4  其他常见问题  267 
      
    第7章  实战演练 
    7.1  越狱设备分析  270 
    7.1.1  分析准备  270 
    7.1.2  开始分析  272 
    7.1.3  编写Tweak  284 
    7.1.4  安装与小结  287 
    7.2  非越狱设备分析  288 
    7.2.1  创建MonkeyDev项目  288 
    7.2.2  非越狱逆向实战  291 
    7.2.3  编写hook代码  303 
    7.2.4  制作非越狱Pod  304 
    7.2.5  小结  308 
    7.3  Frida实战应用  309 
    7.3.1  Frida的安装  309 
    7.3.2  Frida的初级使用  311 
    7.3.3  Frida的高级使用  319 
    7.3.4  小结  326 
      
    第8章  安全保护 
    8.1  数据加密  327 
    8.1.1  本地存储加密  328 
    8.1.2  网络传输加密  328 
    8.1.3  字符串加密  333 
    8.2  静态混淆  341 
    8.2.1  宏定义  342 
    8.2.2  二进制修改  347 
    8.3  动态保护  349 
    8.3.1  反调试  349 
    8.3.2  反反调试  352 
    8.3.3  反注入  359 
    8.3.4  hook检测  360 
    8.3.5  完整性校验  361 
    8.4  代码混淆  363 
    8.4.1  什么是LLVM  363 
    8.4.2  下载和编译LLVM  364 
    8.4.3  开发和调试Pass  366 
    8.4.4  OLLVM源代码分析  373 
    8.4.5  替换Xcode编译器  379 
    8.4.6  静态库混淆  389 
    8.5  本章总结  390
  • 内容简介:
    《iOS应用逆向与安全》从正向开发、工具的使用、逆向实战及安全保护等方面,对iOS应用的逆向与安全进行了讲解。本书内容包括基本概念、逆向环境的准备、常用逆向分析工具、类的结构、App签名、Mach-O文件格式、hook原理等,并通过在越狱平台和非越狱平台上的逆向分析实例,带领读者学习逆向分析的思路和方法。在应用安全及保护方面,本书内容涉及网络传输、安全检测、代码混淆等。 
    《iOS应用逆向与安全》适合高校计算机相关专业的学生、iOS开发工程师、逆向工程师、越狱开发工程师、iOS安全工程师及应用安全审计人员阅读参考。
  • 作者简介:
    刘培庆(@Alone_Monkey) 
    iOS逆向爱好者,网易云课堂“iOS逆向与安全”主讲。大学毕业后在网易负责iOS安全保护、基础组件开发、质量保障等工作。目前就职于阿里巴巴米诺斯实验室,从事安全保护相关工作。开源作品有MonkeyDev、frida-ios-dump等。
  • 目录:
    第1章  概述 
    1.1  逆向工程简介  1 
    1.1.1  iOS逆向学习基础  1 
    1.1.2  iOS逆向的流程  1 
    1.1.3  iOS逆向使用的工具  2 
    1.1.4  iOS逆向的应用场景  2 
    1.2  应用面临的安全风险  2 
    1.2.1  静态修改文件  3 
    1.2.2  动态篡改逻辑  3 
    1.2.3  协议分析  3 
    1.3  应用保护手段  3 
    1.3.1  数据加密  3 
    1.3.2  程序混淆  4 
    1.3.3  安全监测  4 
    1.4  本书工具  4 
    1.4.1  效率工具  4 
    1.4.2  实用工具  5 
    1.4.3  逆向工具  5 
      
    第2章  越狱设备 
    2.1  什么是越狱  6 
    2.2  Cydia  6 
    2.3  SSH  7 
    2.3.1  安装OpenSSH  8 
    2.3.2  配置dropbear  10 
    2.3.3  修改默认密码  11 
    2.3.4  公钥登录  11 
    2.3.5  通过USB登录  13 
    2.4  iOS系统结构  14 
    2.4.1  文件目录  15 
    2.4.2  文件权限  17 
    2.5  Cydia Substrate  18 
    2.5.1  MobileHooker  19 
    2.5.2  MobileLoader  19 
    2.5.3  Safe mode  20 
    2.6  越狱必备工具  21 
    2.6.1  adv-cmds  21 
    2.6.2  appsync  21 
    2.6.3  iFile  21 
    2.6.4  scp  22 
      
    第3章  逆向工具详解 
    3.1  应用解密  23 
    3.1.1  dumpdecrypted  23 
    3.1.2  Clutch  28 
    3.1.3  小结  30 
    3.2  class-dump  30 
    3.2.1  class-dump的使用  30 
    3.2.2  class-dump的原理  33 
    3.2.3  OC和Swift混编  40 
    3.3  Reveal  41 
    3.3.1  开发集成Reveal  41 
    3.3.2  越狱注入Reveal  42 
    3.4  Cycript  43 
    3.4.1  开发集成Cycript  44 
    3.4.2  使用Cycript越狱  45 
    3.4.3  使用Cycript分析应用  46 
    3.4.4  Cycript的高级用法  49 
    3.5  抓包  52 
    3.5.1  Charles抓包  53 
    3.5.2  修改网络请求  55 
    3.5.3  HTTPS抓包  59 
    3.5.4  Wireshark抓包  60 
      
    第4章  开发储备 
    4.1  App的结构及构建  66 
    4.1.1  获取应用包  66 
    4.1.2  应用包的格式  71 
    4.1.3  应用的构建过程  72 
    4.2  界面结构和事件传递  76 
    4.2.1  界面的组成  76 
    4.2.2  界面事件的响应  79 
    4.3  类与方法  83 
    4.3.1  类与方法的底层实现  84 
    4.3.2  运行时类的结构  89 
    4.3.3  消息机制  91 
    4.3.4  runtime的应用  94 
    4.4  App签名  98 
    4.4.1  配置Xcode签名  98 
    4.4.2  App签名的原理  100 
    4.4.3  重签名  107 
      
    第5章  分析与调试 
    5.1  静态分析  109 
    5.1.1  Hopper  109 
    5.1.2  IDA  118 
    5.1.3  静态库分析  125 
    5.2  动态调试  128 
    5.2.1  LLDB调试  128 
    5.2.2  LLDB解密  141 
    5.2.3  用Xcode调试第三方应用  144 
    5.2.4  LLDB的高级调试技巧  151 
    5.3  Theos  167 
    5.3.1  Theos的安装  168 
    5.3.2  Theos的基本应用  168 
    5.3.3  Theos的高级应用  172 
    5.4  MonkeyDev  177 
    5.4.1  安装MonkeyDev  178 
    5.4.2  Logos Tweak  179 
    5.4.3  CaptainHook Tweak  181 
    5.4.4  Command-line Tool  185 
      
    第6章  逆向进阶 
    6.1  程序加载  186 
    6.1.1  dyld简介  186 
    6.1.2  dyld加载流程  187 
    6.2  Mach-O文件格式  206 
    6.2.1  Mach-O文件的基本格式  206 
    6.2.2  Mach-O头部  208 
    6.2.3  Load Command  210 
    6.2.4  虚拟地址和文件偏移  214 
    6.2.5  懒加载和非懒加载  217 
    6.2.6  Code Signature  223 
    6.3  ARM汇编  228 
    6.3.1  ARM架构和指令集  228 
    6.3.2  AArch64寄存器  229 
    6.3.3  指令集编码  231 
    6.3.4  AArch64指令  233 
    6.3.5  栈和方法  236 
    6.3.6  Objective-C汇编  245 
    6.4  hook  247 
    6.4.1  Method Swizzle  247 
    6.4.2  fishhook  248 
    6.4.3  Cydia Substrate  253 
    6.4.4  Swift hook  256 
    6.5  动态库  259 
    6.5.1  编译和注入  260 
    6.5.2  导出和隐藏符号  260 
    6.5.3  C++ 和OC动态库  263 
    6.5.4  其他常见问题  267 
      
    第7章  实战演练 
    7.1  越狱设备分析  270 
    7.1.1  分析准备  270 
    7.1.2  开始分析  272 
    7.1.3  编写Tweak  284 
    7.1.4  安装与小结  287 
    7.2  非越狱设备分析  288 
    7.2.1  创建MonkeyDev项目  288 
    7.2.2  非越狱逆向实战  291 
    7.2.3  编写hook代码  303 
    7.2.4  制作非越狱Pod  304 
    7.2.5  小结  308 
    7.3  Frida实战应用  309 
    7.3.1  Frida的安装  309 
    7.3.2  Frida的初级使用  311 
    7.3.3  Frida的高级使用  319 
    7.3.4  小结  326 
      
    第8章  安全保护 
    8.1  数据加密  327 
    8.1.1  本地存储加密  328 
    8.1.2  网络传输加密  328 
    8.1.3  字符串加密  333 
    8.2  静态混淆  341 
    8.2.1  宏定义  342 
    8.2.2  二进制修改  347 
    8.3  动态保护  349 
    8.3.1  反调试  349 
    8.3.2  反反调试  352 
    8.3.3  反注入  359 
    8.3.4  hook检测  360 
    8.3.5  完整性校验  361 
    8.4  代码混淆  363 
    8.4.1  什么是LLVM  363 
    8.4.2  下载和编译LLVM  364 
    8.4.3  开发和调试Pass  366 
    8.4.4  OLLVM源代码分析  373 
    8.4.5  替换Xcode编译器  379 
    8.4.6  静态库混淆  389 
    8.5  本章总结  390
查看详情
系列丛书 / 更多
iOS应用逆向与安全
python绝技:运用python成为顶级黑客:运用Python成为顶级黑客
[美]TJ O\\\'Connor(TJ 奥科罗) 著;崔孝晨、武晓音 译
iOS应用逆向与安全
Web前端黑客技术揭秘
钟晨鸣、徐少培 著
iOS应用逆向与安全
加密与解密
段钢 著
iOS应用逆向与安全
恶意代码分析实战
Michael(迈克尔.斯科尔斯基)、Andrew Honig(安德鲁.哈尼克) 著;诸葛建伟、姜辉、张光凯 译
iOS应用逆向与安全
漏洞战争:软件漏洞分析精要
林桠泉 著
iOS应用逆向与安全
数据恢复技术
戴士剑、涂彦辉 著
iOS应用逆向与安全
揭秘家用路由器0day漏洞挖掘技术
王炜、赵旭 著;吴少华 编
iOS应用逆向与安全
安全之路:Web渗透技术及实战案例解析
陈小兵 著
iOS应用逆向与安全
安全漏洞追踪
[美]盖弗、[美]詹弗瑞斯、[美]兰德 著;钟力、朱敏、何金勇 译
iOS应用逆向与安全
黑客大追踪:网络取证核心原理与实践
[美]Sherri(雪莉·大卫杜夫)、Jonathan Ham(乔纳森·汉姆) 著;崔孝晨、陆道宏 译
iOS应用逆向与安全
渗透测试实践指南:必知必会的工具与方法
[美]Patrick Engebretson 著;缪纶、只莹莹、蔡金栋 译
iOS应用逆向与安全
黑客反汇编揭秘
[美]卡巴斯基 著;谭明金 译
相关图书 / 更多
iOS应用逆向与安全
iOS黑客攻防秘籍 第2版
陈德
iOS应用逆向与安全
iOS编程(第6版)
[美]Aaron Hillegass 著;王凤全 译;[美]Christian Keur
iOS应用逆向与安全
iOS开发基础教程(Swift版)(第2版)
陈志峰;田英;翟高粤
iOS应用逆向与安全
iOS开发案例教程(swift版)
孙志敏 田英
iOS应用逆向与安全
iOS应用开发教程(微课视频版)
罗良夫
iOS应用逆向与安全
iOS全埋点解决方案
王灼洲 著
iOS应用逆向与安全
iOS 14开发指南
管蕾
iOS应用逆向与安全
iOS应用逆向与安全之道
罗巍 著
iOS应用逆向与安全
iOS项目开发实战(高等职业教育移动互联应用技术专业教材)
赵善龙 、刘俊驰 主编
iOS应用逆向与安全
iOS开发基础入门与实战
张运生 著;郭敏强、蔡铁、郭敏强、蔡铁、张运生 编
iOS应用逆向与安全
iOS面试一战到底
张益珲 著
iOS应用逆向与安全
iOS程序员面试笔试真题库
蒋信厚 汪小发 楚秦
您可能感兴趣 / 更多
iOS应用逆向与安全
药理学实验实训教程
刘培庆 编