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 inline-assembly: 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/
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
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的更多相关文章
- [转]Whirlwind Tour of ARM Assembly
ref:http://www.coranac.com/tonc/text/asm.htm 23.1. Introduction Very broadly speaking, you can divid ...
- [转]iOS Assembly Tutorial: Understanding ARM
iOS Assembly Tutorial: Understanding ARM Do you speak assembly? When you write Objective-C code, it ...
- ARM architecture
http://en.wikipedia.org/wiki/ARM_architecture ARM architecture ARM architectures The ARM logo De ...
- 我也要学iOS逆向工程--函数
大家好,这篇我开始学习函数了.先学 C 函数,然后再 OC 的吧.OC 应该复杂点的吧. 然后看看汇编情况哦! 学习函数呢,肯定要弄清楚几个事情. 1.跳转地址. 2.返回地址 3.参数 4.函数获取 ...
- VS2005混合编译ARM汇编代码-转
原文地址:http://blog.csdn.net/annelcf/article/details/5468093 公司HW team有人希望可以给他们写一个在WinCE上,单独读写DDR的工具,以方 ...
- ARM 汇编的mov操作立即数的疑问
1. 因为对arm汇编有些指令还不能理解,特别是一些相似功能指令间的区别.偶然在网上搜到"faq ARM assembly",其中描述的几个问题还是值得好好研究一下. 2. 慢慢的 ...
- 用汇编语言(ARM 32位)编写TCP Bind Shell的菜鸟教程
用汇编语言(ARM 32位)编写TCP Bind Shell的菜鸟教程 来源 https://www.4hou.com/info/news/9959.html Change 新闻 2018年1月19日 ...
- 推荐一篇讲arm架构gcc内联汇编的文章
这是来自ethernut网站的一篇文章,原文链接: http://www.ethernut.de/en/documents/arm-inline-asm.html 另外,据说nut/os是个不错的开源 ...
- android ARM 汇编学习 —— hello world
android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析 adb putty 连上手机,用busybox vi 写一个 hello ...
随机推荐
- 学习JS的心路历程-参数的传递(下)
今天我们要来探讨JS到底是透过何种参数传递方式呢? 废话不多说,上示例!! 我们先声明原始型别和物件型别来看看两者是否会有不一样的差异: var myStr = 'Hola': var myObj = ...
- linux服务器中Jenkins集成git、Gradle持续构建Springboot项目
Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器中使用Jenkins自动发布一个可作为linux服务发布的Springboot项目. 自动 ...
- date命令转换日期命令提示date: illegal time format
问题:运行date命令抛错 date -j -f "%a %b %d %T %Z %Y" "Sat Sep 29 11:33:00 CST 2018" &quo ...
- 一、Blender/Python 快速入门
原文:https://docs.blender.org/api/blender_python_api_current/info_quickstart.html#native-types 1 前言 可以 ...
- 截图软件FastStone
屏幕截图软件(FastStone Capture) 好用,可以粘贴 / 复制. 可以做页面设计,有屏幕标尺,取色器.
- C#调用dll提示"试图加载格式不正确的程序"原因及解决方法
转载:https://blog.csdn.net/songyi160/article/details/51354660 程序在32位操作系统上运行正常,在64位操作系统上运行读卡功能提示”试图加载格式 ...
- CSS clip:rect矩形剪裁功能及应用
.clip{ position:absolute; clip: rect(10px 30px 20px 10px); } 最后有必要说明下:clip:rect矩形剪裁只能作用于position:abs ...
- 合并两个排序的链表(python)
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. # -*- coding:utf-8 -*- # class ListNode: # def _ ...
- Numpy函数库基础
利用Numpy函数库构造4*4随机数组,然后将数组转化为矩阵,然后矩阵与其逆矩阵相乘,计算机处理的误差 from numpy import * random.rand(4,4) print(rando ...
- poj1850(组合数)
题目链接:http://poj.org/problem;jsessionid=B0D9A01EC0F1043088A37454B6CED469?id=1850 题意:给字符串编号,该字符串必须满足由小 ...