Description

Book Synopsis
See your app through a hacker''s eyes to find the real sources of vulnerability

The Mobile Application Hacker''s Handbook is a comprehensive guide to securing all mobile applications by approaching the issue from a hacker''s point of view. Heavily practical, this book provides expert guidance toward discovering and exploiting flaws in mobile applications on the iOS, Android, Blackberry, and Windows Phone platforms. You will learn a proven methodology for approaching mobile application assessments, and the techniques used to prevent, disrupt, and remediate the various types of attacks. Coverage includes data storage, cryptography, transport layers, data leakage, injection attacks, runtime manipulation, security controls, and cross-platform apps, with vulnerabilities highlighted and detailed information on the methods hackers use to get around standard security.

Mobile applications are widely used in the consumer and enterprise markets to process and/or store sens

Trade Review

“..there is a shocking lack of published material on the topic of mobile security. The Mobile Application Hacker’s Handbook seeks to change this and be a positive movement to educating others in the topic of mobile security awareness.” (Vigilance-Security Magazine, March 2015)



Table of Contents

Introduction xxxi

Chapter 1 Mobile Application (In)security 1

The Evolution of Mobile Applications 2

Mobile Application Security 4

Summary 15

Chapter 2 Analyzing iOS Applications 17

Understanding the Security Model 17

Understanding iOS Applications 22

Jailbreaking Explained 29

Understanding the Data Protection API 43

Understanding the iOS Keychain 46

Understanding Touch ID 51

Reverse Engineering iOS Binaries 53

Summary 67

Chapter 3 Attacking iOS Applications 69

Introduction to Transport Security 69

Identifying Insecure Storage 81

Patching iOS Applications with Hopper 85

Attacking the iOS Runtime 92

Understanding Interprocess Communication 118

Attacking Using Injection 123

Summary 131

Chapter 4 Identifying iOS Implementation Insecurities 133

Disclosing Personally Identifi able Information 133

Identifying Data Leaks 136

Memory Corruption in iOS Applications 142

Summary 146

Chapter 5 Writing Secure iOS Applications 149

Protecting Data in Your Application 149

Avoiding Injection Vulnerabilities 156

Securing Your Application with Binary Protections 158

Summary 170

Chapter 6 Analyzing Android Applications 173

Creating Your First Android Environment 174

Understanding Android Applications 179

Understanding the Security Model 206

Reverse‐Engineering Applications 233

Summary 246

Chapter 7 Attacking Android Applications 247

Exposing Security Model Quirks 248

Attacking Application Components 255

Accessing Storage and Logging 304

Misusing Insecure Communications 312

Exploiting Other Vectors 326

Additional Testing Techniques 341

Summary 351

Chapter 8 Identifying and Exploiting Android Implementation Issues 353

Reviewing Pre‐Installed Applications 353

Exploiting Devices 365

Infiltrating User Data 416

Summary 426

Chapter 9 Writing Secure Android Applications 427

Principle of Least Exposure 427

Essential Security Mechanisms 429

Advanced Security Mechanisms 450

Slowing Down a Reverse Engineer 451

Summary 455

Chapter 10 Analyzing Windows Phone Applications 459

Understanding the Security Model 460

Understanding Windows Phone 8.x Applications 473

Developer Sideloading 483

Building a Test Environment 484

Analyzing Application Binaries 506

Summary 509

Chapter 11 Attacking Windows Phone Applications 511

Analyzing for Data Entry Points 511

Attacking Transport Security 525

Attacking WebBrowser and WebView Controls 534

Identifying Interprocess Communication Vulnerabilities 542

Attacking XML Parsing 560

Attacking Databases 568

Attacking File Handling 573

Patching .NET Assemblies 578

Summary 585

Chapter 12 Identifying Windows Phone Implementation Issues 587

Identifying Insecure Application Settings Storage 588

Identifying Data Leaks 591

Identifying Insecure Data Storage 593

Insecure Random Number Generation 601

Insecure Cryptography and Password Use 605

Identifying Native Code Vulnerabilities 616

Summary 626

Chapter 13 Writing Secure Windows Phone Applications 629

General Security Design Considerations 629

Storing and Encrypting Data Securely 630

Secure Random Number Generation 634

Securing Data in Memory and Wiping Memory 635

Avoiding SQLite Injection 636

Implementing Secure Communications 638

Avoiding Cross‐Site Scripting in WebViews and WebBrowser Components 640

Secure XML Parsing 642

Clearing Web Cache and Web Cookies 642

Avoiding Native Code Bugs 644

Using Exploit Mitigation Features 644

Summary 645

Chapter 14 Analyzing BlackBerry Applications 647

Understanding BlackBerry Legacy 647

Understanding BlackBerry 10 652

Understanding the BlackBerry 10 Security Model 660

BlackBerry 10 Jailbreaking 665

Using Developer Mode 666

The BlackBerry 10 Device Simulator 667

Accessing App Data from a Device 668

Accessing BAR Files 669

Looking at Applications 670

Summary 678

Chapter 15 Attacking BlackBerry Applications 681

Traversing Trust Boundaries 682

Summary 691

Chapter 16 Identifying BlackBerry Application Issues 693

Limiting Excessive Permissions 694

Resolving Data Storage Issues 695

Checking Data Transmission 696

Handling Personally Identifiable Information and Privacy 698

Ensuring Secure Development 700

Summary 704

Chapter 17 Writing Secure BlackBerry Applications 705

Securing BlackBerry OS 7.x and Earlier Legacy Java Applications 706

General Java Secure Development Principals 706

Making Apps Work with the Application Control Policies 706

Memory Cleaning 707

Controlling File Access and Encryption 709

SQLite Database Encryption 710

Persistent Store Access Control and Encryption 711

Securing BlackBerry 10 Native Applications 716

Securing BlackBerry 10 Cascades Applications 723

Securing BlackBerry 10 HTML5 and JavaScript (WebWorks) Applications 724

Securing Android Applications on BlackBerry 10 726

Summary 726

Chapter 18 Cross‐Platform Mobile Applications 729

Introduction to Cross‐Platform Mobile Applications 729

Bridging Native Functionality 731

Exploring PhoneGap and Apache Cordova 736

Summary 741

Index 743

The Mobile Application Hackers Handbook

    Product form

    £47.50

    Includes FREE delivery

    RRP £50.00 – you save £2.50 (5%)

    Order before 4pm tomorrow for delivery by Mon 22 Jun 2026.

    A Paperback / softback by Dominic Chell, Tyrone Erasmus, Shaun Colley


      View other formats and editions of The Mobile Application Hackers Handbook by Dominic Chell

      Publisher: John Wiley & Sons Inc
      Publication Date: 03/04/2015
      ISBN13: 9781118958506, 978-1118958506
      ISBN10: 1118958500

      Description

      Book Synopsis
      See your app through a hacker''s eyes to find the real sources of vulnerability

      The Mobile Application Hacker''s Handbook is a comprehensive guide to securing all mobile applications by approaching the issue from a hacker''s point of view. Heavily practical, this book provides expert guidance toward discovering and exploiting flaws in mobile applications on the iOS, Android, Blackberry, and Windows Phone platforms. You will learn a proven methodology for approaching mobile application assessments, and the techniques used to prevent, disrupt, and remediate the various types of attacks. Coverage includes data storage, cryptography, transport layers, data leakage, injection attacks, runtime manipulation, security controls, and cross-platform apps, with vulnerabilities highlighted and detailed information on the methods hackers use to get around standard security.

      Mobile applications are widely used in the consumer and enterprise markets to process and/or store sens

      Trade Review

      “..there is a shocking lack of published material on the topic of mobile security. The Mobile Application Hacker’s Handbook seeks to change this and be a positive movement to educating others in the topic of mobile security awareness.” (Vigilance-Security Magazine, March 2015)



      Table of Contents

      Introduction xxxi

      Chapter 1 Mobile Application (In)security 1

      The Evolution of Mobile Applications 2

      Mobile Application Security 4

      Summary 15

      Chapter 2 Analyzing iOS Applications 17

      Understanding the Security Model 17

      Understanding iOS Applications 22

      Jailbreaking Explained 29

      Understanding the Data Protection API 43

      Understanding the iOS Keychain 46

      Understanding Touch ID 51

      Reverse Engineering iOS Binaries 53

      Summary 67

      Chapter 3 Attacking iOS Applications 69

      Introduction to Transport Security 69

      Identifying Insecure Storage 81

      Patching iOS Applications with Hopper 85

      Attacking the iOS Runtime 92

      Understanding Interprocess Communication 118

      Attacking Using Injection 123

      Summary 131

      Chapter 4 Identifying iOS Implementation Insecurities 133

      Disclosing Personally Identifi able Information 133

      Identifying Data Leaks 136

      Memory Corruption in iOS Applications 142

      Summary 146

      Chapter 5 Writing Secure iOS Applications 149

      Protecting Data in Your Application 149

      Avoiding Injection Vulnerabilities 156

      Securing Your Application with Binary Protections 158

      Summary 170

      Chapter 6 Analyzing Android Applications 173

      Creating Your First Android Environment 174

      Understanding Android Applications 179

      Understanding the Security Model 206

      Reverse‐Engineering Applications 233

      Summary 246

      Chapter 7 Attacking Android Applications 247

      Exposing Security Model Quirks 248

      Attacking Application Components 255

      Accessing Storage and Logging 304

      Misusing Insecure Communications 312

      Exploiting Other Vectors 326

      Additional Testing Techniques 341

      Summary 351

      Chapter 8 Identifying and Exploiting Android Implementation Issues 353

      Reviewing Pre‐Installed Applications 353

      Exploiting Devices 365

      Infiltrating User Data 416

      Summary 426

      Chapter 9 Writing Secure Android Applications 427

      Principle of Least Exposure 427

      Essential Security Mechanisms 429

      Advanced Security Mechanisms 450

      Slowing Down a Reverse Engineer 451

      Summary 455

      Chapter 10 Analyzing Windows Phone Applications 459

      Understanding the Security Model 460

      Understanding Windows Phone 8.x Applications 473

      Developer Sideloading 483

      Building a Test Environment 484

      Analyzing Application Binaries 506

      Summary 509

      Chapter 11 Attacking Windows Phone Applications 511

      Analyzing for Data Entry Points 511

      Attacking Transport Security 525

      Attacking WebBrowser and WebView Controls 534

      Identifying Interprocess Communication Vulnerabilities 542

      Attacking XML Parsing 560

      Attacking Databases 568

      Attacking File Handling 573

      Patching .NET Assemblies 578

      Summary 585

      Chapter 12 Identifying Windows Phone Implementation Issues 587

      Identifying Insecure Application Settings Storage 588

      Identifying Data Leaks 591

      Identifying Insecure Data Storage 593

      Insecure Random Number Generation 601

      Insecure Cryptography and Password Use 605

      Identifying Native Code Vulnerabilities 616

      Summary 626

      Chapter 13 Writing Secure Windows Phone Applications 629

      General Security Design Considerations 629

      Storing and Encrypting Data Securely 630

      Secure Random Number Generation 634

      Securing Data in Memory and Wiping Memory 635

      Avoiding SQLite Injection 636

      Implementing Secure Communications 638

      Avoiding Cross‐Site Scripting in WebViews and WebBrowser Components 640

      Secure XML Parsing 642

      Clearing Web Cache and Web Cookies 642

      Avoiding Native Code Bugs 644

      Using Exploit Mitigation Features 644

      Summary 645

      Chapter 14 Analyzing BlackBerry Applications 647

      Understanding BlackBerry Legacy 647

      Understanding BlackBerry 10 652

      Understanding the BlackBerry 10 Security Model 660

      BlackBerry 10 Jailbreaking 665

      Using Developer Mode 666

      The BlackBerry 10 Device Simulator 667

      Accessing App Data from a Device 668

      Accessing BAR Files 669

      Looking at Applications 670

      Summary 678

      Chapter 15 Attacking BlackBerry Applications 681

      Traversing Trust Boundaries 682

      Summary 691

      Chapter 16 Identifying BlackBerry Application Issues 693

      Limiting Excessive Permissions 694

      Resolving Data Storage Issues 695

      Checking Data Transmission 696

      Handling Personally Identifiable Information and Privacy 698

      Ensuring Secure Development 700

      Summary 704

      Chapter 17 Writing Secure BlackBerry Applications 705

      Securing BlackBerry OS 7.x and Earlier Legacy Java Applications 706

      General Java Secure Development Principals 706

      Making Apps Work with the Application Control Policies 706

      Memory Cleaning 707

      Controlling File Access and Encryption 709

      SQLite Database Encryption 710

      Persistent Store Access Control and Encryption 711

      Securing BlackBerry 10 Native Applications 716

      Securing BlackBerry 10 Cascades Applications 723

      Securing BlackBerry 10 HTML5 and JavaScript (WebWorks) Applications 724

      Securing Android Applications on BlackBerry 10 726

      Summary 726

      Chapter 18 Cross‐Platform Mobile Applications 729

      Introduction to Cross‐Platform Mobile Applications 729

      Bridging Native Functionality 731

      Exploring PhoneGap and Apache Cordova 736

      Summary 741

      Index 743

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account