我是靠谱客的博主 优秀黑夜,最近开发中收集的这篇文章主要介绍pwn入门(1)二进制基础1 PWN是什么?2 程序的编译与链接5 程序的装载与进程的执行6 ×86&amd64汇编概述小知识点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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。

最后

以上就是优秀黑夜为你收集整理的pwn入门(1)二进制基础1 PWN是什么?2 程序的编译与链接5 程序的装载与进程的执行6 ×86&amd64汇编概述小知识点的全部内容,希望文章能够帮你解决pwn入门(1)二进制基础1 PWN是什么?2 程序的编译与链接5 程序的装载与进程的执行6 ×86&amd64汇编概述小知识点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部