Skip to content

Latest commit

 

History

History
709 lines (645 loc) · 44.3 KB

File metadata and controls

709 lines (645 loc) · 44.3 KB

C++ links: ARM and AArch64 Assembly

Note: see Computer Architecture -- recommended background (which makes the following significantly more approachable) includes at least an undegraduate-level course.

Contents


Readings

Concurrency

Formalization, Specification, Verification

Instruction Set Architecture

M-profile

Performance

Security

TrustZone

Virtualization


References

Intrinsics, NEON, SIMD

Toolchains


Software

Binary Analysis

Debugging, Tracing

Emulation, Simulation

Lifting: Disassemblers, Decompilers, Recompilers

  • Dynarmic: A dynamic recompiler for the ARMv6K architecture
  • IDA script for highlighting and decoding ARM system instructions
  • retools: a reverse engineering toolkit for normies
    • Collection of tools (disassembler, emulator, binary parser) aimed at reverse enginering tasks, more specifically, bug finding related. Currently we target ARMv7 and Mach-O though in the future more architectures and formats are planned.
    • retools is somewhat unique in that most of the semantics for relevant instructions are parsed out of the specification PDFs as opposed to being generated by hand. Currently the disassembler, emulator, and binary parsers are partially done, with a symbolic execution engine and instrumentation/hooking framework to come as I get more time.
    • https://github.com/agustingianni/retools
  • Spedi: a speculative disassembler for the variable-size Thumb ISA

Performance


Talks

2018

2017

2016

2015

2014

2012

2011

2010

History


Tutorials, Courses