Advanced Apple Debugging & Reverse Engineering: Exploring Apple code through LLBD, Python, and DTrace

Advanced Apple Debugging & Reverse Engineering: Exploring Apple code through LLBD, Python, and DTrace
  • eBook:
    Advanced Apple Debugging & Reverse Engineering: Exploring Apple code through LLBD, Python, and DTrace
  • Author:
    Derek Selander
  • Edition:
  • Categories:
  • Data:
    January 21, 2019
  • ISBN:
  • ISBN-13:
  • Language:
  • Pages:
    561 pages
  • Format:

Book Description
Learn the powerful secrets of Apple's software debugger, LLDB, that can get more information out of any program than you ever thought possible.In Advanced Apple Debugging and Reverse Engineering, you'll come to realize debugging is an enjoyable process to help you better understand software. Not only will you learn to find bugs faster, but you’ll also learn how other developers have solved problems similar to yours. You'll also learn how to create custom, powerful debugging scripts that will help you quickly find the secrets behind any bit of code that piques your interest.This book is for intermediate to advanced iOS/macOS developers who are already familiar with either Swift or Objective-C and want to take their debugging skills to the next level.Topics Covered in Advanced Apple Debugging & Reverse Engineering:
  • LLDB Max Achievement: Master LLDB and learn about its extensive list of subcommands and options.
  • 1's and 0's: Learn the low-level components available to help extract useful information from a program, from assembly calling conventions to exploring the process of dynamically-loaded frameworks.
  • The Power of Python: Use LLDB’s Python module to create powerful custom debugging commands to introspect and augment existing programs.
  • Nothing is Secret: Learn how to use DTrace, a dynamic tracing framework, and how to write D scripts to query anything you were ever curious about on your macOS machine.
  • Case Studies: Quickly find and solve the real-world issues that iOS and macOS developers typically face in their day-to-day development workflow.
After reading this book, you'll have the tools and knowledge to answer even the most obscure question about your code — or someone else’s.


Section I: Beginning LLDB Commands
Chapter 1: Getting Started
Chapter 2: Help & Apropos
Chapter 3: Attaching with LLDB
Chapter 4: Stopping in Code
Chapter 5: Expression
Chapter 6: Thread, Frame & Stepping Around
Chapter 7: Image
Chapter 8: Watchpoints
Chapter 9: Persisting & Customizing Commands
Chapter 10: Regex Commands

Section II: Understanding Assembly
Chapter 11: Assembly Register Calling Convention
Chapter 12: Assembly & Memory
Chapter 13: Assembly & the Stack

Section III: Low Level
Chapter 14: Hello, Ptrace
Chapter 15: Dynamic Frameworks
Chapter 16: Hooking & Executing Code with dlopen & dlsym
Chapter 17: Exploring & Method Swizzling Objective-C Frameworks
Chapter 18: Hello, Mach-O
Chapter 19: Mach-O Fun
Chapter 20: Code Signing

Section IV: Custom LLDB Commands
Chapter 21: Hello, Script Bridging
Chapter 22: Debugging Script Bridging
Chapter 23: Script Bridging Classes & Hierarchy
Chapter 24: Script Bridging with Options & Arguments
Chapter 25: Script Bridging with SBValue & Memory
Chapter 26: SB Examples, Improved Lookup
Chapter 27: SB Examples, Resymbolicating a Stripped ObjC Binary
Chapter 28: SB Examples, Malloc Logging

Section V: DTrace
Chapter 29: Hello, DTrace
Chapter 30: Intermediate DTrace
Chapter 31: DTrace vs. objc_msgSend

Free sample

Add comments
Введите код с картинки:*
Кликните на изображение чтобы обновить код, если он неразборчив
Copyright © 2019