Analysis of ARM Bare-Metal Programs

Analysis of ARM Bare-Metal Programs

One Introduction Often, programs run without an operating system, which is known as bare-metal operation and cannot run directly in Linux. Therefore, alternative methods must be used for analysis. Taking a CTF problem as an example, we will learn about analyzing bare-metal programs on the ARM architecture. Two Analysis Program address: https://dn.jarvisoj.com/challengefiles/confusedARM.hex.f4e616545ff1a18526b9d1c90ea648ff This program is … Read more

Does ARM Architecture Support Interrupt Nesting?

Does ARM Architecture Support Interrupt Nesting?

Click the blue "Arm Selected" in the upper left corner and select "Set as Star" Note: This article primarily discusses the ARMV8-aarch64 architecture, gicv3, and Linux kernel 5.14 by default. Consideration: Have you ever thought about a scenario where a high-priority interrupt preempts another interrupt that is currently being processed? This is known as interrupt … Read more

ARM Series – P Channel

ARM Series - P Channel

ARM defines two low-power interfaces for low power control handshakes, namely Q-Channel and P-Channel. The Q-Channel was discussed previously in “SoC Design Power Consumption – Q Channel“. The Q-Channel is relatively simpler than the P-Channel, as it only controls two states: on and off. This is fine for handshakes controlling clocks, but insufficient for handshakes … Read more

Comprehensive Summary of ARM Basics

Comprehensive Summary of ARM Basics

One ARM Assembly Generally, our computers are X86 architecture machines. Here we use clang to compile our files. Compiling files by ourselves and using IDA to learn alongside makes it easier to understand. Two Some instructions about clang: Using clang to directly compile into an executable file // Compile our file into ARMv5 architecture file … Read more

A Detailed Explanation of Why Developers Are Migrating to Arm Platforms

This article is reproduced from the Jishu Community Jishu Column: Arm Technology Blog Source: A Detailed Explanation of Why Developers Are Migrating to Arm Platforms Developers understand that building applications that can scale efficiently while controlling costs is crucial. Cloud technology is evolving rapidly, and the underlying technologies are also continuously developing. In recent years, … Read more

A Brief History of the Global Chip Industry (Part 3): Computing Chips

A Brief History of the Global Chip Industry (Part 3): Computing Chips

Intel: Microprocessor Chip 01 Intel 4004 Microprocessor Release Date: November 15, 1971 Features: 10-micron process, 2250 transistors, speed 108KHz, size 3mm×4mm, 4-bit processor, 45 instructions, executes 50,000 instructions/second, priced at $200 The 4004 can read and execute instructions and exchange information with other computer components. It can perform 60,000 calculations per second, with a computing … Read more

ARM Assembly Language Instructions Guide

ARM Assembly Language Instructions Guide

To learn ARM, one must learn ARM instructions. ARM instructions are the interface provided to us by the CPU, and they are the key to unlocking the Pandora’s box of the CPU. There are many ARM instructions. To help everyone get started quickly, I have compiled some of the most helpful instructions. For the operation … Read more

Basic Tutorial on ARM Assembly Language

Basic Tutorial on ARM Assembly Language

This tutorial includes some sample programs that can be debugged hands-on to deepen understanding. To debug ARM programs, we need an environment that can run ARM programs and a debugger that supports the ARM architecture. This tutorial will introduce how to set up an ARM cross-compilation, running, and debugging environment based on the x86 platform … Read more

Introduction to ARM Assembly Programming

Introduction to ARM Assembly Programming

Welcome to the series of articles “Introduction to ARM Assembly Programming.” This series is designed to lay the groundwork for the upcoming “ARM Exploit Development Tutorial” (in progress). Before we dive into writing shellcode and constructing ROP chains using ARM assembly, we need to first grasp some fundamental knowledge about ARM assembly. We will cover … Read more

CTF Assembly Challenge: Learning ARM and X86 Assembly

CTF Assembly Challenge: Learning ARM and X86 Assembly

The problem is relatively simple but tests the basics of binary assembly.I personally think that the fundamentals are veryimportant, so I spent some time carefully studying this problem to solidify my foundation.If it wereoffline, without GPT’s help, contestants would need a solid understanding of assembly to conduct a detailed analysis of the problem. If you … Read more