首页 > 其他 > 详细

反汇编入门

时间:2014-05-26 18:27:04      阅读:438      评论:0      收藏:0      [点我收藏+]

写了一个简单的C语言代码:

1
2
3
4
5
6
7
8
9
#include<stdio.h>
int main()
{
    int a,b,c;
    a=1;
    b=2;
    c=a+b;
    printf("%d",c);
}

使用arm-linux-objdump -d 反汇编

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
00000000 <main>:
   0:   e92d4800    push    {fp, lr}
   4:   e28db004    add fp, sp, #4
   8:   e24dd010    sub sp, sp, #16
   c:   e3a03001    mov r3, #1
  10:   e50b3010    str r3, [fp, #-16]
  14:   e3a03002    mov r3, #2
  18:   e50b300c    str r3, [fp, #-12]
  1c:   e51b2010    ldr r2, [fp, #-16]
  20:   e51b300c    ldr r3, [fp, #-12]
  24:   e0823003    add r3, r2, r3
  28:   e50b3008    str r3, [fp, #-8]
  2c:   e59f3014    ldr r3, [pc, #20]   ; 48 <main+0x48>
  30:   e1a00003    mov r0, r3
  34:   e51b1008    ldr r1, [fp, #-8]
  38:   ebfffffe    bl  0 <printf>
  3c:   e24bd004    sub sp, fp, #4
  40:   e8bd4800    pop {fp, lr}
  44:   e12fff1e    bx  lr
  48:   00000000    .word   0x00000000

地址对应指令内容,可以读懂。

配合arm-linux-gdb单步调试和查看寄存器内容。反汇编利器。

反汇编入门,布布扣,bubuko.com

反汇编入门

原文:http://www.cnblogs.com/fistao/p/3752519.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!