pwn入门(1)二进制基础

1 PWN是什么?

  • 破解、利用成功(程序的二进制漏洞)

  • 攻破(设备、服务器)

  • 控制(设备、服务器)

  • exploit:用于攻击的脚本与方案

  • payload:攻击载荷,是的目标进程被劫持控制流的数据

  • shellcode:调用攻击目标的shell代码

2 程序的编译与链接

从C源代码到可执行文件的生成过程

  • 编译:由C语言代码生成汇编代码。
  • 汇编:由汇编代码生成机器代码。
  • 链接:将多个机器码的目标文件链接成一个可执行文件。
    在这里插入图片描述
    将代码转换为汇编代码:

gcc -S test.c
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 Linux下的可执行文件格式ELF

什么是可执行文件?

  • 广义:文件中的数据是可执行代码的文件(out exe sh py)
  • 狭义:文件中的数据是机器码的文件(out exe dll so)
    可执行文件的分类
  • Windows:PE(Portable Executable)
    • 可执行程序exe
    • 动态链接库dll
    • 静态链接库lib
  • Linux:ELF(Executable and LInkable Format)
    • 可执行程序out
    • 动态链接库so
    • 静态链接库a
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

4 进程虚拟地址空间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
局部变量全部存放在栈中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 程序的装载与进程的执行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6 ×86&amd64汇编概述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小知识点

  • vim 中将文件装换文二进制文件的命令 %!xxd,还原的命令%!xxd - r。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值