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 inline-assemblyhttps://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)

april 9, 2014 by pnuic

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

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

8. keil

http://www.keil.com/

MDK Version 5 Microcontroller Development Kit

9. linaro

http://www.linaro.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

iOS.ARM-Assembly的更多相关文章

  1. [转]Whirlwind Tour of ARM Assembly

    ref:http://www.coranac.com/tonc/text/asm.htm 23.1. Introduction Very broadly speaking, you can divid ...

  2. [转]iOS Assembly Tutorial: Understanding ARM

    iOS Assembly Tutorial: Understanding ARM Do you speak assembly? When you write Objective-C code, it ...

  3. ARM architecture

    http://en.wikipedia.org/wiki/ARM_architecture ARM architecture     ARM architectures The ARM logo De ...

  4. 我也要学iOS逆向工程--函数

    大家好,这篇我开始学习函数了.先学 C 函数,然后再 OC 的吧.OC 应该复杂点的吧. 然后看看汇编情况哦! 学习函数呢,肯定要弄清楚几个事情. 1.跳转地址. 2.返回地址 3.参数 4.函数获取 ...

  5. VS2005混合编译ARM汇编代码-转

    原文地址:http://blog.csdn.net/annelcf/article/details/5468093 公司HW team有人希望可以给他们写一个在WinCE上,单独读写DDR的工具,以方 ...

  6. ARM 汇编的mov操作立即数的疑问

    1. 因为对arm汇编有些指令还不能理解,特别是一些相似功能指令间的区别.偶然在网上搜到"faq ARM assembly",其中描述的几个问题还是值得好好研究一下. 2. 慢慢的 ...

  7. 用汇编语言(ARM 32位)编写TCP Bind Shell的菜鸟教程

    用汇编语言(ARM 32位)编写TCP Bind Shell的菜鸟教程 来源 https://www.4hou.com/info/news/9959.html Change 新闻 2018年1月19日 ...

  8. 推荐一篇讲arm架构gcc内联汇编的文章

    这是来自ethernut网站的一篇文章,原文链接: http://www.ethernut.de/en/documents/arm-inline-asm.html 另外,据说nut/os是个不错的开源 ...

  9. android ARM 汇编学习 —— hello world

    android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析 adb putty 连上手机,用busybox vi 写一个 hello ...

随机推荐

  1. android开源项目框架大全:

    android开源项目框架大全: 1.多页切换TabHost9 高仿网易云音乐客户端的Home页面切换Tabhost 高仿网易云音乐客户端的Home页面切换Tabhost,并且三角形是透明的,实现方式 ...

  2. Hadoop分布式HA的安装部署

    Hadoop分布式HA的安装部署 前言 单机版的Hadoop环境只有一个namenode,一般namenode出现问题,整个系统也就无法使用,所以高可用主要指的是namenode的高可用,即存在两个n ...

  3. 如何用java完成一个中文词频统计程序

    要想完成一个中文词频统计功能,首先必须使用一个中文分词器,这里使用的是中科院的.下载地址是http://ictclas.nlpir.org/downloads,由于本人电脑系统是win32位的,因此下 ...

  4. 模块移除 命令rmmod 的实现

    // rmmod.c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include < ...

  5. linux 内核根文件系统

    参考: http://blog.csdn.net/guopeixin/article/details/5962482 http://www.yunweipai.com/archives/1184.ht ...

  6. JS拖拽元素原理及实现代码

    一.拖拽的流程动作 ①鼠标按下②鼠标移动③鼠标松开 二.拖拽流程中对应的JS事件 ①鼠标按下会触发onmousedown事件 ②鼠标移动会触发onmousemove事件 ③鼠标松开会触发onmouse ...

  7. SO减单后MO分配给其他SO的问题修复

    逻辑:MO取进FP系统之前,首先判断是否带有SO号+SO行号,如果带有SO号+SO行号,则判断此SO号和SO行号是否存在订单表中,如果不存在则表示此MO对应的订单已减单,此MO需要做过滤,并展现在报表 ...

  8. 无线渗透wpa加密路由器

    破解wpa加密路由器的原理不同于破解wep加密路由器,只能通过暴力破解获取. 但是获取握手keystream的原理差不多 首先杀死可能会和破解冲突的进程 airmon-ng check kill 开启 ...

  9. TOJ 5225: 玩转二叉树

    传送门:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=5225 时间限制(普通/Java): ...

  10. decay

    decay - 必应词典 美[dɪ'keɪ]英[dɪ'keɪ] v.衰减:腐朽:衰败 n.腐烂:衰退:腐朽 网络衰变:腐败 变形过去分词:decayed:现在分词:decaying:第三人称单数:de ...