Book Image

Mastering Malware Analysis - Second Edition

By : Alexey Kleymenov, Amr Thabet
5 (2)
Book Image

Mastering Malware Analysis - Second Edition

5 (2)
By: Alexey Kleymenov, Amr Thabet

Overview of this book

New and developing technologies inevitably bring new types of malware with them, creating a huge demand for IT professionals that can keep malware at bay. With the help of this updated second edition of Mastering Malware Analysis, you’ll be able to add valuable reverse-engineering skills to your CV and learn how to protect organizations in the most efficient way. This book will familiarize you with multiple universal patterns behind different malicious software types and teach you how to analyze them using a variety of approaches. You'll learn how to examine malware code and determine the damage it can possibly cause to systems, along with ensuring that the right prevention or remediation steps are followed. As you cover all aspects of malware analysis for Windows, Linux, macOS, and mobile platforms in detail, you’ll also get to grips with obfuscation, anti-debugging, and other advanced anti-reverse-engineering techniques. The skills you acquire in this cybersecurity book will help you deal with all types of modern malware, strengthen your defenses, and prevent or promptly mitigate breaches regardless of the platforms involved. By the end of this book, you will have learned how to efficiently analyze samples, investigate suspicious activity, and build innovative solutions to handle malware incidents.
Table of Contents (20 chapters)
1
Part 1 Fundamental Theory
4
Part 2 Diving Deep into Windows Malware
10
Part 3 Examining Cross-Platform and Bytecode-Based Malware
14
Part 4 Looking into IoT and Other Platforms

File formats and APIs

Here are the most important file formats associated with applications written for different versions of Android.

DEX

The DEX format holds a set of class definitions and associated data. The file layout is as follows:

The rest of the fields define the sizes and offset of other data blocks:

Figure 13.8 – A DEX header with the fields described in detail

The header starts with an 8-byte DEX_FILE_MAGIC value that consists of a dex string (\x64\x65\x78) followed by the newline symbol (\x0a), the 3 bytes defining the format version, and finally a zero byte (\x00). This format aims to provide a way to identify DEX files and the corresponding layout used, and to prevent basic data corruption.

ODEX

Actively used before the appearance of ART, ODEX files are the result of the optimizations made to DEX on the device in order to improve performance and decrease the result size. ODEX files consist of...