![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编语言
记录汇编语言, 主要结合C语言实现反汇编, 用于更深入的理解C语言
Coder233
个人比较喜欢技术。
熟悉C语言,
熟悉汇编语言(ARM/X86),
了解linux 操作系统,
了解C++ ,java语言,
喜欢对底层操作系统原理的理解。
喜欢与人讨论底层技术。
可以关注我,以后会时时更新技术的学习心得。
展开
-
C 语言指针反汇编代码阅读
rbp: 0x7fffffffdd00rbp-14: 0x7fffffffdcf2C语言代码: int *p=(int *)0x7fffffffdcf0;rax(保存了0x7fffffffdcf2): 0x7fffffffdcec *0x7fffffffdcec=50x7fffffffdcec就是rbp -14的值, 0x140x7fffffffdcf2是rbp...原创 2019-10-31 22:32:37 · 611 阅读 · 0 评论 -
C语言动态内存反汇编调试
#include<stdio.h>#include<stdlib.h>int main(){ char *str=(char*)malloc(50); str[0]='a'; 13 14 str[1]='b'; 15 16 str[2]='c'; 17 18 ...原创 2019-10-31 11:13:48 · 469 阅读 · 0 评论 -
gdb C语言汇编代码调试
gdb支持源码级调试,这是众所周知的事情。当然,你也可以进行汇编级的调试。理论上这个更应该有用。(因为很多程序的编译常常没有源码级别的调试信息)那么怎么做?先写一个最简单的源代码。$ cat > a.cint main(void){ int i = 0; i = 2; return 0;}Ctrl + D 保存,编译。$ gcc a.c开始...转载 2019-10-31 07:39:52 · 1179 阅读 · 0 评论 -
汇编语言栈帧的理解与坑点
汇编语言栈帧的理解函数栈由三部分组成: setup, Body, Finish%ebp 保存栈帧的起始地址, ebp指向栈帧起始地址%esp 保存栈帧的栈顶地址, esp指向栈顶所以栈的空间就是 esp-ebp案例:swap函数栈:swap: #setup部分 pushl %ebp movl %esp, %ebp pushl %...原创 2019-10-29 16:24:15 · 500 阅读 · 0 评论