Advanced Apple Debugging & Reverse Engineering
作者: Walter Tyree
语言: 英文
出版年份: 2023
编程语言: Python
移动开发: iOS
操作系统: Mac OS X
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

《Advanced Apple Debugging & Reverse Engineering》是由Walter Tyree撰写的一本专注于苹果平台调试与逆向工程的高级技术书籍,由Kodeco Inc.于2023年出版。本书面向中级到高级的开发者,旨在帮助读者深入掌握使用LLDB进行调试和逆向工程的高级技能。

内容层次

第一部分:LLDB基础命令

  • 第1章:入门:介绍了如何绕过系统完整性保护(SIP)并使用LLDB附加到进程。
  • 第2章:概述与获取帮助:讲解了如何使用LLDB的帮助命令和apropos命令来查找相关命令。
  • 第3章:附加到进程:详细介绍了LLDB附加到现有进程、未来进程以及启动进程的不同方式。
  • 第4章:代码中断:探讨了如何设置断点,包括符号断点、正则表达式断点等。
  • 第5章:表达式:介绍了如何使用LLDB的表达式命令来检查和修改变量。
  • 第6章:线程、栈帧与步进:讲解了如何在LLDB中操作线程、查看栈帧以及进行代码步进。
  • 第7章:镜像:介绍了如何使用LLDB的image命令来查询模块信息。

第二部分:理解汇编

  • 第11章:汇编寄存器调用约定:讲解了arm64架构下的寄存器调用约定。
  • 第12章:汇编与内存:深入探讨了程序在内存中的执行过程,包括程序计数器(PC)寄存器的作用。
  • 第13章:汇编与栈:详细介绍了栈的工作原理,包括栈指针(SP)、帧指针(FP)和链接寄存器(LR)的作用。

第三部分:低级调试

  • 第14章:系统调用与ptrace:介绍了系统调用的基础知识,以及如何使用ptrace进行调试。
  • 第15章:共享库:讲解了动态库和静态库的使用,以及如何通过dlopen和dlsym进行代码注入。
  • 第16章:Hello, Mach-O:介绍了Mach-O文件格式的基础知识。
  • 第17章:Mach-O的乐趣:深入探讨了Mach-O文件格式的高级特性。
  • 第18章:代码签名:讲解了苹果平台的代码签名机制。

第四部分:自定义LLDB命令

  • 第20章:Hello, Script Bridging:介绍了如何使用Python脚本扩展LLDB的功能。
  • 第21章:调试脚本桥接:讲解了如何调试LLDB的Python脚本。
  • 第22章:脚本桥接类与层次结构:深入探讨了LLDB的Python脚本桥接API。
  • 第23章:带有选项和参数的脚本桥接:介绍了如何为LLDB脚本添加选项和参数。
  • 第24章:使用SBValue和内存的脚本桥接:讲解了如何使用LLDB的SBValue API操作内存。

第五部分:DTrace

  • 第28章:Hello, DTrace:介绍了DTrace的基础知识和使用方法。
  • 第29章:中级DTrace:深入探讨了DTrace的高级特性。

附录

  • 提供了LLDB命令速查表、Python环境设置指南以及一些有用的代码片段。

适用人群

本书适合以下类型的开发者:

  • 希望提升LLDB调试技能的开发者。
  • 对Swift和Objective-C底层实现感兴趣的开发者。
  • 想要通过逆向工程深入了解程序运行机制的开发者。
  • 关注现代逆向工程策略的开发者。

特色与亮点

  • 实战性强:通过大量实例和代码,帮助读者快速掌握LLDB的高级用法。
  • 深度覆盖:不仅讲解了LLDB的基本命令,还深入探讨了汇编语言、系统调用、Mach-O文件格式等低级知识。
  • 扩展性强:提供了丰富的Python脚本示例,帮助读者自定义LLDB命令。
  • 资源丰富:附录提供了LLDB命令速查表和Python环境设置指南,方便读者快速上手。

总体而言,《Advanced Apple Debugging & Reverse Engineering》是一本内容丰富、层次分明的高级技术书籍,适合希望在苹果平台调试和逆向工程领域深入探索的开发者阅读。

期待您的支持
捐助本站