XiaoKL

iOS.ARM-Assembly

ARM Assembly for iOS with Xcode

0. Introduction

0.1 arm asm vs. arm64(ARMv8) asm

AArch64:   

 

0.2 __arm64__, __arm__, NEON

#ifdef __arm64__" and "#ifdef __arm__"

NEON intrinsics

 

1. arm assembly

 

2. arm64 assembly

 

 

3. inline assembly

"There are many reasons not to use https://gcc.gnu.org/wiki/DontUseInlineAsm" Ref[4]

 


Reference

1. iOS Assembly Tutorial: Understanding ARM

http://www.raywenderlich.com/37181/ios-assembly-tutorial 

2. ARM assembly for iOS with XCode

https://blog.noctua-software.com/arm-asm.html

3. An iOS app in assembly

https://github.com/richardjrossiii/iOSAppInAssembly

4. RGBA to ABGR: Inline arm neon asm for iOS/XCode

http://stackoverflow.com/questions/38035351/rgba-to-abgr-inline-arm-neon-asm-for-ios-xcode

5. Larry D. Pyeatt, PhD

http://www.mcs.sdsmt.edu/lpyeatt/

Modern Assembly Language Programming with the ARM Processor, 1st Edition

6. Introduction to ARMv8 64-bit Architecture (AAAAA)

https://quequero.org/2014/04/introduction-to-arm-architecture/

介绍: 通用寄存器、ARMv8 64-bit的架构、扩展、指令集。

 

7. ARM Cortex-A Series Programmer’s Guide for ARMv8-A (AAAAA)

http://infocenter.arm.com/help/index.jsp?topic=%2Fcom.arm.doc.den0024a%2Fch01s01.html

 

7.1 ARM Cortex-A Series Programmer’s Guide for ARMv8-A Documentation

https://developer.arm.com/docs/den0024/latest

 

8. keil

http://www.keil.com/

MDK Version 5 Microcontroller Development Kit 

 

9. linaro

http://www.linaro.org/

 

10. Getting Started with 64-bit ARM Development: Hello World and Linux on ARMv8 Fast Models

https://www.cnx-software.com/2012/11/06/getting-started-with-64-bit-arm-development-hello-world-and-linux-on-armv8-fast-models/ 

google "ARM Techcon"

 

11. 64-BIT ARM INTRODUCTION TO PORTING (AAAA)

http://people.linaro.org/~rikuvoipio/aarch64-talk/#/ 

 

12. CPU Architecture

https://developer.arm.com/architectures/cpu-architecture

"The different architecture profiles and version numbers are written as Armv8-A, Armv7-R, Armv6-M. A, R and M refer

to the relevant architecture profiles and 6, 7 and 8 refer to the different versions of the architecture."

A-Profile: Optimized for high-level operating systems.

R-Profile: Optimized for real-time high-performance applications.

M-Profile: Optimized for discrete processing and microcontrollers.

 

13. A Guide to ARM64 / AArch64 Assembly on Linux with Shellcodes and Cryptography (AAAA+)

https://modexp.wordpress.com/2018/10/30/arm64-assembly/

 

14. The A64 Instruction Set (AAAA+)

https://github.com/odzhan/shellcode/blob/master/docs/arm/the_a64_Instruction_set_100898_0100.pdf

14.1 nix_async.s 

https://github.com/odzhan/shellcode/blob/master/cshells/arm64/nix_async.s

 

15. ARM assembly for iOS with XCode

2014-03-31

https://blog.noctua-software.com/arm-asm.html

 

16. ARM GCC Inline Assembler Cookbook

http://www.ethernut.de/en/documents/arm-inline-asm.html 

 

17. Compiler Explorer

https://godbolt.org

 


TODO

1. Getting Started with 64-bit ARM Development: Hello World and Linux on ARMv8 Fast Models

http://www.cnx-software.com/2012/11/06/getting-started-with-64-bit-arm-development-hello-world-and-linux-on-armv8-fast-models/

2. ARMv8

http://www.linaro.org/projects/armv8/

3. google "Linaro GCC install on macosx"

4. ARM GCC Inline Assembler Cookbook

http://www.ethernut.de/en/documents/arm-inline-asm.html

5. ARM's 64-bit mode (AArch64 ARMv8):

http://shervinemami.info/arm64bit.html

6. ARM Assembly language 

http://shervinemami.info/armAssembly.html

7. iOS Application Security Part 43 - FAT Binaries & LLDB Usage Continued

http://highaltitudehacks.com/2015/05/17/ios-application-security-part-43-fat-binaries-and-lldb-usage-continued/

8. ARM Assembly Basics - How to Write a Simple ARM Program (on iOS) 

https://www.youtube.com/watch?v=Ls2P-B6fqEI

9. The ARM University Program, ARM Architecture Fundamentals

https://www.youtube.com/watch?v=7LqPJGnBPMM

10. iOS Hacking Basics - Reverse Engineering iOS Apps & Runtime Modification Tutorial

https://www.youtube.com/watch?v=YcfuQY5z_-A

11. How to Become an iOS Hacker - How to Learn, ARM Assembly, Exploit Development, Reverse Engineering

http://www.ninoishere.com/how-to-become-an-ios-hacker-how-to-learn-arm-assembly-exploit-development-reverse-engineering/ 

12. arm64 assembly crash course (To Continue)

https://github.com/Siguza/ios-resources/blob/master/bits/arm64.md

 

 

 

 

 

 

 

 

posted on 2014-02-09 20:14  XiaoKL  阅读(310)  评论(0编辑  收藏  举报

导航