Book Image

IoT Penetration Testing Cookbook

By : Aaron Guzman, Aditya Gupta
Book Image

IoT Penetration Testing Cookbook

By: Aaron Guzman, Aditya Gupta

Overview of this book

IoT is an upcoming trend in the IT industry today; there are a lot of IoT devices on the market, but there is a minimal understanding of how to safeguard them. If you are a security enthusiast or pentester, this book will help you understand how to exploit and secure IoT devices. This book follows a recipe-based approach, giving you practical experience in securing upcoming smart devices. It starts with practical recipes on how to analyze IoT device architectures and identify vulnerabilities. Then, it focuses on enhancing your pentesting skill set, teaching you how to exploit a vulnerable IoT device, along with identifying vulnerabilities in IoT device firmware. Next, this book teaches you how to secure embedded devices and exploit smart devices with hardware techniques. Moving forward, this book reveals advanced hardware pentesting techniques, along with software-defined, radio-based IoT pentesting with Zigbee and Z-Wave. Finally, this book also covers how to use new and unique pentesting techniques for different IoT devices, along with smart devices connected to the cloud. By the end of this book, you will have a fair understanding of how to use different pentesting techniques to exploit and secure various IoT devices.
Table of Contents (19 chapters)
Title Page
About the Authors
About the Reviewers
Customer Feedback

Decompiling Android applications

With a target IoT app and APK file downloaded, the application can now be decompiled to view its contents. For Android apps, this task can be completed in a matter of minutes. Later, automation testing techniques for statically analyzing an app will be covered in more detail. Decompiling an application is one of the first steps in reverse engineering an application to manipulate its functions. Apps can also be recompiled and packaged after modification, however this is out of scope for our purposes.

Getting ready

To decompile an Android app, we will make use of Enjarify and JD-GUI. Enjarify translates Dalvik bytecode to Java bytecode which will be used to analyze it further with JD-GUI. JD-GUI is a Java decompiler used to view Java code. Both tools are included in the accompanied virtual machine:


Enjarify does require Python 3 as a dependency.

  • JD-GUI is available via...