Skip to content

Latest commit

 

History

History
18 lines (15 loc) · 1.87 KB

Prerequisites.md

File metadata and controls

18 lines (15 loc) · 1.87 KB

Prerequisites Recommended concepts

This course is intended to help anyone that wants to start learning about reverse engineering iOS applications, understand the basics of runtime manipulation and binary patching. Since its target audience is beginners and maybe intermediate researchers/developers/engineers/etc there are no mandatory prerequisites, I instead give you some nice-to-have s. Here's a list of recommended concepts and tools that might help you navigate through this course easier:

  • A computer, ideally a Mac. (All the material covered in this course was created using a Mac but almost all the tools used have a Windows version or alternative, except Xcode)
  • Jailbroken iPhone/iPad/iPod on iOS 10 and above.
  • Lightning cable to connect your iDevice to your computer.
  • Xcode and the developer tools.
  • Basic SSH knowledge.
  • Basic SCP knowledge.
  • An ARM disassembler like IDA, Hopper or Ghidra. (Hopper's trial version is enough, no need to spend money if you don't want to. Or use Ghidra, which is free and open source.)
  • Basic understanding of the Objective-C and Swift programming languages.
  • Basic understanding of Javascript.
  • Basic understanding of HTML.
  • Basic understanding of Man-in-the-Middle attacks.
  • Curiosity and excitement 😉

Don't worry if you've never heard of some of these, I'll give you step-by-step instructions on each chapter that will explain exactly what are we doing and why.