2020-04-28

  • 学习如何计算arm机器码

  •  
  • 机器码的计算方式

  1. 前4位: 31-28 需要查表ARM学习之-----------机器码计算,此处为arm7
  2. 27~25(101 固定的)
  3. 24(1或者0;如何具体判断:B:0 /BL:1)
  4. 偏移地址,计算公式:(目标地址-(指令地址+8))/4
    1. 加8原因:三级流水线
    2. 除4:因为指令定长,存储指令个数差,而不是地址差
  5. 然后将123步骤的地址 |  偏移地址
  6. 小段存放
  7. 指令如下ARM学习之-----------机器码计算,此处为arm7
    1. 根据前三步骤的处 0001 1010 0000 0000 0000 0000 0000 0000 = 0x1A00 0000
    2. 偏移 = ( 0xB4C85434 - ( 0xB4C853E0 +8 ) ) / 4 = 0x13 ;
    3. 所以机器码 =  0x13 | 0x1A00 0000 = 0x1A00 0013
    4. 小端存放 = 13 00 00 1A 
    5. 结果和IDA分析一致,表明计算正确

相关文章:

  • 2022-01-18
  • 2021-09-29
  • 2021-07-29
  • 2021-05-10
  • 2022-12-23
  • 2022-02-15
  • 2022-12-23
  • 2021-10-02
猜你喜欢
  • 2021-12-12
  • 2022-01-29
  • 2021-09-20
  • 2022-02-12
  • 2021-06-19
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案