编程语言
首页 > 编程语言> > 反汇编测试

反汇编测试

作者:互联网

反汇编测试

任务代码

int g(int x){
    return x+3;
}
int f(int x){
     int i = 13;
    return g(x)+i;
}
int main(void){
    return f(8)+1;
}

任务过程

main函数中

f函数中

g函数中

f函数中

main函数中

f函数中寄存器和堆栈值的变化情况

指令 eip ebp esp eax 堆栈(高->低)
endbr32 0x8049185 0xffffd3c8 0xffffd3c0 -134551544 0x80491b1
push %ebp 0x8049189 0xffffd3c8 0xffffd3bc -134551544 0x80491b1,0xffffd3c8
mov %esp,%ebp 0x804918a 0xffffd3bc 0xffffd3bc -134551544 0x80491b1,0xffffd3c8
sub $0x10,%esp 0x804918c 0xffffd3bc 0xffffd3ac -134551544 0x80491b1,0xffffd3c8,0xd
movl $0xd,-0x4(%ebp) 0x804918f 0xffffd3bc 0xffffd3ac -134551544 0x80491b1,0xffffd3c8,0xd
pushl 0x8(%ebp) 0x8049196 0xffffd3bc 0xffffd3a8 -134551544 0x80491b1,0xffffd3c8,0xd,0x8
call 0x8049176 0x8049199 0xffffd3bc 0xffffd3a4 -134551544 0x80491b1,0xffffd3c8,0xd,0x8,0x804919e
add $0x4,%esp 0x804919e 0xffffd3bc 0xffffd3ac 11 0x80491b1,0xffffd3c8,0xd
mov -0x4(%ebp),%edx 0x80491a1 0xffffd3bc 0xffffd3ac 11 0x80491b1,0xffffd3c8,0xd
add %edx,%eax 0x80491a4 0xffffd3bc 0xffffd3ac 24 0x80491b1,0xffffd3c8,0xd
leave 0x80491a6 0xffffd3c8 0xffffd3c0 24 0x80491b1
ret 0x80491a7 0xffffd3c8 0xffffd3c4 24 NULL

标签:0x80491b1,FP,0xffffd3bc,esp,ebp,反汇编,测试,0xffffd3c8
来源: https://www.cnblogs.com/WANGYUHAN/p/15511425.html