-
-
[求助]求一条blx指令的decode
-
发表于: 2013-7-1 11:06 4373
-
IDA分析出来的反汇编
.plt: 000083F0 sub_83F0 ...
...
.text:00008436 FF F7 DC EF BLX sub_83F0
想知道FF F7 DC EF是怎么来的
---------------------------------------------
按照
91aK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4y4@1j5h3y4C8L8%4k6W2M7X3k6D9L8%4N6Q4x3X3g2U0L8$3#2Q4x3V1k6I4N6h3g2K6N6r3W2G2L8Y4y4Q4x3V1j5^5z5e0p5#2x3o6b7H3i4K6u0r3k6r3g2U0L8$3c8A6L8X3N6Q4x3X3c8T1L8s2S2Q4x3X3c8A6L8Y4y4@1M7Y4g2U0N6r3W2G2L8W2)9J5k6r3!0F1i4K6u0V1j5i4u0E0i4K6u0V1N6r3S2#2L8h3u0Q4x3X3c8A6L8%4x3`.
计算这个跳转的offset
FF F7 DC EF
F7 FF EF DC
11110111111111111110111111011100
11110 1 1111111111 11 1 0 1 1111101110 0
S imm10H J1 J2 imm10L
I1 = NOT(J1 EOR S) = 1
I2 = NOT(J2 EOR S) = 1
imm32 = SignExtend(S:I1:I2:imm10H:imm10L:00)
= SignExtend(1111111111111111110111000)
= SignExtend(0x1FFFFB8)
= ?
---------------------------------------------
那么offset是FFB8?
但是0x83F0-0X8436-4=0xFFB6
(-4 -> thumb指令长度为2,2*2=4)
.plt: 000083F0 sub_83F0 ...
...
.text:00008436 FF F7 DC EF BLX sub_83F0
想知道FF F7 DC EF是怎么来的
---------------------------------------------
按照
91aK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4y4@1j5h3y4C8L8%4k6W2M7X3k6D9L8%4N6Q4x3X3g2U0L8$3#2Q4x3V1k6I4N6h3g2K6N6r3W2G2L8Y4y4Q4x3V1j5^5z5e0p5#2x3o6b7H3i4K6u0r3k6r3g2U0L8$3c8A6L8X3N6Q4x3X3c8T1L8s2S2Q4x3X3c8A6L8Y4y4@1M7Y4g2U0N6r3W2G2L8W2)9J5k6r3!0F1i4K6u0V1j5i4u0E0i4K6u0V1N6r3S2#2L8h3u0Q4x3X3c8A6L8%4x3`.
计算这个跳转的offset
FF F7 DC EF
F7 FF EF DC
11110111111111111110111111011100
11110 1 1111111111 11 1 0 1 1111101110 0
S imm10H J1 J2 imm10L
I1 = NOT(J1 EOR S) = 1
I2 = NOT(J2 EOR S) = 1
imm32 = SignExtend(S:I1:I2:imm10H:imm10L:00)
= SignExtend(1111111111111111110111000)
= SignExtend(0x1FFFFB8)
= ?
---------------------------------------------
那么offset是FFB8?
但是0x83F0-0X8436-4=0xFFB6
(-4 -> thumb指令长度为2,2*2=4)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
赞赏
雪币:
留言: