zoukankan      html  css  js  c++  java
  • 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

    ---
  • 相关阅读:
    20171229
    对象关系型数据库管理系统(PostgresQL )
    CDN技术之--集群服务与负载均衡
    CDN技术之-介绍
    oracle不同用户间访问表不添加用户名(模式)前缀
    ora-28000 the account is locked
    CDN技术之--该技术概述
    CDN技术之--内容缓存工作原理
    PL/SQL题型代码示例
    在java中使用solr7.2.0 新旧版本创建SolrClient对比
  • 原文地址:https://www.cnblogs.com/cwgk/p/3541845.html
Copyright © 2011-2022 走看看