• 格式化字符串泄露内存

    泄露栈变量内存泄露栈变量的值获取栈中被视为第 n+1 个参数的值:%n$x(%n$p) 注意:%x 其实只是 %d 的 16 进制输出,对应的是 32 位也就是 4 字节;在 64 位操作系统下,只会截取后 32 位;%p 和系统位数关联没有问题,因此建议用 %p 。 泄露栈变量对应对应地址的内容获取栈中被视为第 n+1 个参数对应地址的内容:%n$s 泄露任意地址内存获取地址 addr 对...
  • 格式化字符串基础

    基础知识常见格式化字符串函数 函数 基本介绍 printf 输出到stdout fprintf 输出到指定FILE流 vprintf 根据参数列表格式化输出到stdout vfprintf 根据参数列表格式化输出到FILE流 sprintf 输出到字符串 snprintf 输出指定字节数到字符串 vsprintf 根据参数列表格式化输出到字符串 vsnp...
  • TLS

    基本概念线程的访问非常自由,它可以访问进程内存里的所有数据,甚至包括其他线程的堆栈(如果它知道其他线程的堆栈地址,那么这就是很少见的情况),但实际运用中线程也拥有自己的私有存储空间,包括以下几方面: 栈(尽管并非完全无法被其他线程访问,但一般情况下仍然可以认为是私有的数据)。 线程局部存储(Thread Local Storage, TLS)。线程局部存储是某些操作系统为线程单独提供的私有...
  • ELF文件格式

    ELF(Executable and Linkable Format)是一种常见的可执行文件和可链接文件格式,主要用于Linux和类Unix系统。ELF 文件可以包含不同的类型,常见的 ELF 文件类型包括: 可执行文件(ET_EXEC):这种类型的 ELF 文件是可直接执行的程序,可以在操作系统上运行。 共享目标文件(ET_DYN):这种类型的 ELF 文件是可被动态链接的共享库,可以在...
  • MQTT

    简介MQTT是什么?MQTT(Message Queuing Telemetry Transport)是一种基于发布-订阅(Publish-Subscribe)模式的轻量级通讯协议,采用客户端-代理(Client-Broker)模型进行通信,基于TCP协议,属于应用层协议。 它最初由 IBM 在 1999 年开发,目前已成为物联网(IoT)领域中最流行的通讯协议之一。 MQTT 的发布-订阅...
1234