iPhone Development, Exploitation, and Reversing

Duration:

5 Days

Audience:

Employees of federal, state and local governments; and businesses working with the government.

Learn the fundamentals of Software Development and Hacking of the iPhone Operating System

This course is designed for individuals looking to gain a working knowledge in iPhone development and hacking. Through a combination of instructor-led examples and a series of programming assignments and challenges, you will build and enhance your practical knowledge of software development, exploitation, and hacking in the iPhone operating system. Additionally you will learn how to deploy, execute, and test all developed programs on iPhone emulation software and iPhone hardware devices provided in this class.

What You’ll Learn

  • iPhone architecture and design
  • ARM Assembly Code and programming applications
  • Reserve engineering application and decompiling applications
  • Extracting information remotely
  • Geo-location and Jailbreaking

Who Needs to Attend

  • Programmers who want an introduction to mobile application development
  • Reverse engineers who need a thorough understanding of ARM Assembly language
  • Red team members who need training in hacking iPhone devices
  • Security professionals that want solid defense strategy for their mobile devices

Prerequisites

  • Experience with Apple products such as MacBooks and iPhones are recommended
  • Programming experience in C, Python, Perl or Java is highly recommended

Course Outline

Day 1

1. iPhone Overview

  • Inside the iPhone
  • Hardware
  • Memory Storage Unit
  • Operating System
  • The iPhone SDK
  • Coding iPhone Application Crash Course
  • Cocoa
  • Objective C
  • Getting Familiar with the iPhone
  • Setting Up the Development Environment
  • Developing an iPhone Application

Day 2

2. Reverse Engineering Applications and Decompiling

3. Why RE?

4. ARM Assembly

5. iPhone Binary Format

  • Header
  • Load Commands
  • Segments and Sections
  • The Process of Loading
  • Examining a Binary

Day 3

6. Examining a Binary

  • The Process of Binary RE
  • Encryption and Digital Signing
  • Bypassing Encryption of AppStore Binaries
  • iPhone Binary Internals
  • Disassembling a Binary

Day 4

7. iPhone Hacking Basics

  • Learning the Language of iPhone Hacking
  • Discovering iPhone’s Hackability
  • Jailbreaking the iPhone
  • Installing Third-Party Apps
  • Manipulating iPhone’s FileSystem
  • Backing up iPhone’s Files

8. Advanced iPhone Forensics

  • Extracting Text Messages
  • Extracting Address Books
  • Extracting Voice Mails
  • Extracting Browsing History

9. iPhone Network Hacks

  • Tracking an iPhone (Geo-Location)
  • Connecting to an iPhone via the Internet
  • Tethering the iPhone
  • Wi-Fi Hacks

Day 5

10. Student Practical Demonstration

Labs

Lab 1: iPhone Overview

Lab 2: Reverse Engineering Applications and Decompiling

Lab 3: iPhone Binary Format

Lab 4: Examining a Binary

Lab 5: iPhone Hacking Basics

Lab 6: Advanced iPhone Forensics

Lab 7: Phone Network Hacks

Lab 8: Develop an iPhone Trojan Horse Application