Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Reverse Engineering Armv8-A Systems
  • Table Of Contents Toc
Reverse Engineering Armv8-A Systems

Reverse Engineering Armv8-A Systems

By : Austin Kim
close
close
Reverse Engineering Armv8-A Systems

Reverse Engineering Armv8-A Systems

By: Austin Kim

Overview of this book

Unlock the secrets hidden in binary code without needing the source! Written by a Linux kernel engineer and author with over 14 years of industry experience, this book lays a solid foundation in reverse engineering and takes you from curious analyst to expert. You’ll master advanced techniques to dissect kernel binaries, including kernel module files, vmlinux, and vmcore, giving you the power to analyze systems at their core. This practical, three-part journey starts with the essentials of reverse engineering, introducing the key features of Armv8-A processors and the ELF file format. The second part walks you through the reverse-engineering process, from Arm environment setup to using static and dynamic analysis tools, including innovative methods for analyzing kernel binaries and the powerful debugging tool uftrace. The final part covers security, exploring TrustZone and the latest security techniques to safeguard Arm devices at the hardware level. By the end of this reverse engineering book, you'll have comprehensive Armv8-A expertise and the practical skills to analyze any binary with confidence while leveraging advanced security features to harden your systems.
Table of Contents (22 chapters)
close
close
Preface
Lock Free Chapter
1
Part I: Fundamentals of Armv8-A Architecture
7
Part II: Background Knowledge for Binary Analysis
11
Part III: Unlocking Key Binary Analysis Skills for Reverse Engineering
17
Part IV: Security Features in Armv8-A Systems
20
Other Books You May Enjoy
21
Index

Return-oriented programming analysis

Return-oriented programming (ROP) is a commonly used technique to execute a specific function without directly calling it in C code. This method is often exploited in security attacks by corrupting the stack area with specific addresses to redirect execution flow.

Key concept of ROP

Consider the following assembly snippet:

01 ldp x30, x29, [sp]
02 ret

When the ret instruction is executed, the PC is updated with the value stored in the x30 register. This is because the ret instruction copies the return address from x30 into the PC, branching execution to the specified address.

This section provides an example of how a function can be executed without explicitly calling it in the source code. The following shows the content of the example code:

#include <signal.h>
#include <stdio.h>
__attribute__((noreturn)) void call_empty() {
    printf("call_empty() called!\n");
}
void sig_handler(int signum) {
 ...
Visually different images
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Reverse Engineering Armv8-A Systems
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon