-
-
[旧帖] [求助]汇编指令求解 0.00雪花
-
发表于: 2013-7-19 16:38 1439
-
在论坛看到了一个文章:http://bbs.pediy.com/showthread.php?p=1200121
(arm入门)反汇编分析一个arm函数调用的生死因果
反汇编分析-------------------------------------------------------------
sub:
1. 84a0: 4808 ldr r0, [pc, #32] ; (84c4 <printf@plt+0x6c>)
2. 84a2: 2100 movs r1, #0
3. 84a4: b510 push {r4, lr}
4. 84a6: 4c08 ldr r4, [pc, #32] ; (84c8 <printf@plt+0x70>)
5. 84a8: 4478 add r0, pc
6. 84aa: 447c add r4, pc
7. 84ac: f7ff efc8 blx 8440 <dlopen@plt>
8. 84b0: b138 cbz r0, 84c2 <printf@plt+0x6a>
9. 84b2: 4906 ldr r1, [pc, #24] ; (84cc <printf@plt+0x74>)
10. 84b4: 4479 add r1, pc
11. 84b6: f7ff efca blx 844c <dlsym@plt>
12. 84ba: 4905 ldr r1, [pc, #20] ; (84d0 <printf@plt+0x78>)
13. 84bc: 5863 ldr r3, [r4, r1]
14. 84be: 6018 str r0, [r3, #0]
15. 84c0: 4780 blx r0
16. 84c2: bd10 pop {r4, pc}
看到下面的解释:
/ 为6.做准备
// 必须对齐到(0,4,8,c),所以0x84ca变成0x84c8
4. r4 = [0x84a6+4+32] = [0x84ca] = [0x84c8] = 0xc26
这里有三个问题:
1 为什么 [0x84a6+4+32]会有+4呢?我发现主要有操作pc的就要+4,是因为要pc自动往后么?
2 所以0x84ca变成0x84c8,为什么不是0x84cc,我理解的是栈都是从高地址到低地址的原因,所以地址要往下,对么?
3 [0x84c8] 怎么变成0xc26,跟帖主说的thumb指令集有啥关系么?
(arm入门)反汇编分析一个arm函数调用的生死因果
反汇编分析-------------------------------------------------------------
sub:
1. 84a0: 4808 ldr r0, [pc, #32] ; (84c4 <printf@plt+0x6c>)
2. 84a2: 2100 movs r1, #0
3. 84a4: b510 push {r4, lr}
4. 84a6: 4c08 ldr r4, [pc, #32] ; (84c8 <printf@plt+0x70>)
5. 84a8: 4478 add r0, pc
6. 84aa: 447c add r4, pc
7. 84ac: f7ff efc8 blx 8440 <dlopen@plt>
8. 84b0: b138 cbz r0, 84c2 <printf@plt+0x6a>
9. 84b2: 4906 ldr r1, [pc, #24] ; (84cc <printf@plt+0x74>)
10. 84b4: 4479 add r1, pc
11. 84b6: f7ff efca blx 844c <dlsym@plt>
12. 84ba: 4905 ldr r1, [pc, #20] ; (84d0 <printf@plt+0x78>)
13. 84bc: 5863 ldr r3, [r4, r1]
14. 84be: 6018 str r0, [r3, #0]
15. 84c0: 4780 blx r0
16. 84c2: bd10 pop {r4, pc}
看到下面的解释:
/ 为6.做准备
// 必须对齐到(0,4,8,c),所以0x84ca变成0x84c8
4. r4 = [0x84a6+4+32] = [0x84ca] = [0x84c8] = 0xc26
这里有三个问题:
1 为什么 [0x84a6+4+32]会有+4呢?我发现主要有操作pc的就要+4,是因为要pc自动往后么?
2 所以0x84ca变成0x84c8,为什么不是0x84cc,我理解的是栈都是从高地址到低地址的原因,所以地址要往下,对么?
3 [0x84c8] 怎么变成0xc26,跟帖主说的thumb指令集有啥关系么?
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- [求助]汇编指令求解 1440
- [求助]临时会员伤不起啊 7858
- [求助]关于堆栈的返回地址 1978
看原图
赞赏
雪币:
留言: