前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >由一个简单的程序学习常见汇编指令

由一个简单的程序学习常见汇编指令

作者头像
Elapse
发布2020-08-17 11:38:49
8290
发布2020-08-17 11:38:49
举报
文章被收录于专栏:E条咸鱼

本篇原创作者: Rj45

前言

一直以来,内心有股焦急焦虑,急冲冲的学习,急冲冲的比赛,没有时间和心思回过头来静心总结。突然之间想安静下来回顾和记录一下pwn的知识点 其实是写web有点累了,想切换一下脑壳,看心情更新吧

程序

编译

代码语言:javascript
复制
gcc stack.c -o stack -m32

反汇编分析

代码语言:javascript
复制
objdump -d stack -M intel
代码语言:javascript
复制
080483db <fun>:
 80483db:    55                      push   ebp//将ebp压入栈
 80483dc:    89 e5                   mov    ebp,esp//将esp压入栈
 80483de:    83 ec 10                sub    esp,0x10//在栈上分配0x10个字节的空间
 80483e1:    c7 45 f8 01 00 00 00    mov    DWORD PTR [ebp-0x8],0x1//将0x1存储在[ebp-0x8],dword是双字即四个字节,ptr是指针,这里指[ebp-0x8]地址是一个双字型地址
 80483e8:    8b 45 08                mov    eax,DWORD PTR [ebp+0x8]//将[esp+0x8]的数据复制到eax
 80483eb:    89 45 fc                mov    DWORD PTR [ebp-0x4],eax//将eax内的数据复制到[ebp-0x4]
 80483ee:    8b 55 08                mov    edx,DWORD PTR [ebp+0x8]//将[ebp+0x8]内的数据复制到edx
 80483f1:    8b 45 0c                mov    eax,DWORD PTR [ebp+0xc]//将[ebp+0xc]内的数据复制到eax
 80483f4:    01 d0                   add    eax,edx//将edx内的数据与eax内的数据相加,复制到eax
 80483f6:    c9                      leave  //等价于mov ebp,esp;pop ebp
 80483f7:    c3                      ret   //等价于pop ip;用栈中的数据,修改IP的内容,实现近转移

080483f8 <main>:
 80483f8:    55                      push   ebp
 80483f9:    89 e5                   mov    ebp,esp
 80483fb:    6a 14                   push   0x14//将0x14=20压入栈
 80483fd:    6a 0a                   push   0xa////将0xa=10压入栈
 80483ff:    e8 d7 ff ff ff          call   80483db <fun>//调用fun函数
 8048404:    83 c4 08                add    esp,0x8//esp+8,进行栈帧还原
 8048407:    b8 00 00 00 00          mov    eax,0x0//清空eax内的数据
 804840c:    c9                      leave
 804840d:    c3                      ret
 804840e:    66 90                   xchg   ax,ax//交换ax;等价于nop

常见汇编指令

1、寄存器

2、常见汇编指令

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 E条咸鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本篇原创作者: Rj45
  • 前言
  • 程序
  • 反汇编分析
  • 常见汇编指令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档