iOS 逆向工程 app安全 网络安全iOS逆向工程女程序猿

iOS汇编基础(一)

2018-04-24  本文已影响70人  meryin

一 高级语言运行过程

二 汇编语言的特点

三 iPhone里面用到的是ARM汇编

架构 设备
armv6 iPhone, iPhone2, iPhone3G, 第一代、第二代 iPod Touch
armv7 iPhone3GS, iPhone4, iPhone4S,iPad, iPad2, iPad3(The New iPad), iPad mini, iPod Touch 3G, iPod Touch4
armv7s iPhone5, iPhone5C, iPad4(iPad with Retina Display)
arm64 iPhone5S 以后 iPhoneX , iPad Air, iPad mini2以后

四 APP/程序的执行过程

五 CPU通过总线跟外部器件进行交互

1. 比如cpu读取内存3的数据
cpu根据地址总线找到内存3,然后用控制总线控制数据总线读写3的数据
2. 地址总线的宽度决定了CPU的_寻址能力

比如8086的地址总线宽度是20,因为只有0和1两种状态,所以寻址能力是1M( 2^20 )

3. 数据总线的宽度决定了CPU的单次数据传送量,也就是数据传送速度

比如8086的数据总线宽度是16,所以单次最大传递2个字节的数据(因为一个字节等于8位)

4. 控制总线的宽度决定了CPU对其他器件的控制能力、能有多少种控制

六 计算机中常见的数据宽度

1. 有符号数帮组记忆
无符号数,直接换算!
有符号数:
正数:  0    1    2    3    4    5    6    7 
负数:  F    E    D    B    C    A    9    8
      -1   -2   -3   -4   -5   -6   -7   -8
2. 八进制加法表
 0  1  2  3  4  5  6  7 
10 11 12 13 14 15 16 17
20 21 22 23 24 25 26 27
...

1+1 = 2                     
1+2 = 3   2+2 = 4               
1+3 = 4   2+3 = 5   3+3 = 6
1+4 = 5   2+4 = 6   3+4 = 7   4+4 = 10  
1+5 = 6   2+5 = 7   3+5 = 10  4+5 = 11  5+5 = 12
1+6 = 7   2+6 = 10  3+6 = 11  4+6 = 12  5+6 = 13  6+6 = 14
1+7 = 10  2+7 = 11  3+7 = 12  4+7 = 13  5+7 = 14  6+7 = 15  7+7 = 16
3. 八进制乘法表
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21 22 23 24 25 26 27...
1*1 = 1                     
1*2 = 2   2*2 = 4               
1*3 = 3   2*3 = 6   3*3 = 11    
1*4 = 4   2*4 = 10  3*4 = 14  4*4 = 20
1*5 = 5   2*5 = 12  3*5 = 17  4*5 = 24  5*5 = 31
1*6 = 6   2*6 = 14  3*6 = 22  4*6 = 30  5*6 = 36  6*6 = 44
1*7 = 7   2*7 = 16  3*7 = 25  4*7 = 34  5*7 = 43  6*7 = 52  7*7 = 61

七 CPU的组成

接下篇-寄存器
上一篇 下一篇

猜你喜欢

热点阅读