Book Image

Android Security Cookbook

Book Image

Android Security Cookbook

Overview of this book

Android Security Cookbook discusses many common vulnerabilities and security related shortcomings in Android applications and operating systems. The book breaks down and enumerates the processes used to exploit and remediate these vulnerabilities in the form of detailed recipes and walkthroughs. The book also teaches readers to use an Android Security Assessment Framework called Drozer and how to develop plugins to customize the framework. Other topics covered include how to reverse-engineer Android applications to find common vulnerabilities, and how to find common memory corruption vulnerabilities on ARM devices. In terms of application protection this book will show various hardening techniques to protect application components, the data stored, secure networking. In summary, Android Security Cookbook provides a practical analysis into many areas of Android application and operating system security and gives the reader the required skills to analyze the security of their Android devices.
Table of Contents (16 chapters)
Android Security Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Advanced code obfuscation with DexGuard


DexGuard is a commercial optimizer and obfuscator tool written by Eric Lafortune (who developed ProGuard). It is used in the place of ProGuard. Rather than targeting Java, DexGuard is specialized for Android resources and Dalvik bytecode. As with ProGuard, one of the key advantages for developers is that source code remains maintainable and testable, while the compiled output is both optimized and hardened.

In general terms, it is more secure to use DexGuard, given that it is optimized for Android and provides additional security features. In this recipe, we are going to implement two of those features, API hiding and string encryption, on the previous recipe's signature verification check:

  • API hiding: This uses reflection to disguise the calls to sensitive APIs and code. It is ideal for hiding the key areas attackers will look to compromise. For example, the license check detection will be targeted by software pirates, so it's an area to focus on hardening...