自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (3)
  • 收藏
  • 关注

原创 classic heap unlink exploit(protostar Heap3)

1 概述https://exploit-exercises.com/protostar/heap3/本题展示了classic heap unlink exploit。 前置技能:要了解ptmalloc堆;熟悉classic heap unlink exploit。2 题目Heap3.c#include <stdlib.h>#include <unistd.h>#includ...

2018-05-23 10:34:53 712 1

原创 ptmalloc heap unlink exploit

1 概述Heap unlink exploit 前提是要对ptmalloc堆有一定的了解。2 Unlink宏Unlink:用来将一个双向 bin 链表中的一个 chunk 取出来参数:AV:arena header(malloc_state)P :将要unlink的chunkBK:P后面的chunk    <--FD:P前面的chunk    -->具体过程如下:将chunk从FD/B...

2018-05-21 14:29:11 654 1

原创 ptmalloc堆实现

1 概述在 glibc-2.3.x. 之后,glibc 中集成了ptmalloc2。 可以下载glibc源码查看ptmallochttp://ftp.gnu.org/gnu/glibc/ 查看glibc版本millionsky@ubuntu-16:~/tmp$ ldd --versionldd (Ubuntu GLIBC 2.23-0ubuntu9) 2.23 这里主要参考:https://ctf...

2018-05-10 15:08:05 1245

原创 ptmalloc堆数据结构

1 概述在 glibc-2.3.x. 之后,glibc 中集成了ptmalloc2。 可以下载glibc源码查看ptmallochttp://ftp.gnu.org/gnu/glibc/ 查看glibc版本millionsky@ubuntu-16:~/tmp$ ldd --versionldd (Ubuntu GLIBC 2.23-0ubuntu9) 2.23 这里主要参考:https://ctf...

2018-05-10 14:53:41 775

原创 ptmalloc堆概述

ptmalloc堆概述1 概述堆的概念在程序运行过程中,堆可以提供动态分配的内存,允许程序申请大小未知的内存。堆其实就是程序虚拟地址空间的一块连续的线性区域,它由低地址向高地址方向增长。 堆管理器我们一般称管理堆的那部分程序为堆管理器。· dlmalloc – General purpose allocator· ptmalloc2 – glibc· jemalloc – FreeBSD and ...

2018-05-10 14:42:04 1546

原创 ptmalloc堆概述-多线程支持

ptmalloc堆概述-多线程支持1 多线程支持在原来的 dlmalloc 实现中,当两个线程同时要申请内存时,只有一个线程可以进入临界区申请内存,而另外一个线程则必须等待直到临界区中不再有线程。这是因为所有的线程共享一个堆。在glibc的ptmalloc2实现中,比较好的一点就是支持了多线程的快速访问。在新的实现中,所有的线程共享多个堆。 Ptmalloc2中,两个线程同时调用malloc时,每...

2018-05-10 14:33:00 1074

原创 ptmalloc堆概述-mmap系统调用

ptmalloc堆概述-mmap系统调用1 概述malloc 会使用 mmap来创建独立的匿名映射段。匿名映射的目的主要是可以申请以0填充的内存,并且这块内存仅被调用进程所使用。 Malloc分配大于128KB时,直接使用mmap进行分配。2 Mmap2.1 API#include <sys/mman.h>void *mmap(void *addr, size_t length, in...

2018-05-10 14:24:13 701

原创 Ptmalloc堆概述-Brk系统调用

1 brk1.1 program break未初始化数据段末尾后的第一个位置;等于或超过此地址的地方均不可访问;增加program break可以为进程分配内存;减少program break则释放内存;初始时,堆的起始地址 start_brk 以及堆的当前末尾 brk 指向同一地址。根据是否开启ASLR,两者的具体位置会有所不同l 不开启 ASLR 保护时,start_brk 以及 brk 会指...

2018-05-10 14:16:54 770

Learning Linux Binary Analysis

First published: February 2016 Production reference: 1250216 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78216-710-5 www.packtpub.com

2018-06-19

深入理解程序设计使用Linux汇编语言

深入理解程序设计.使用Linux汇编语言.高清.完整版 是否真正理解汇编语言,常常是普通程序员和优秀程序员的分水岭。《深入理解程序设计:使用Linux汇编语言》介绍了Linux平台下的汇编语言编程,教你从计算机的角度看问题,从而了解汇编语言及计算机的工作方式,为成就自己的优秀程序员之梦夯实基础。 很多人都认为汇编语言晦涩难懂,但New Medio技术总监Jonathan Bartlett的这本书将改变人们的看法。本书首先介绍计算机的体系结构,然后从编写简单程序开始,一步一步扩充函数、文件、读写处理等知识,并平滑过渡到程序共享、存储与优化,由浅入深地介绍了Linux汇编语言编程。作者不仅会带你了解向计算机传递信息的方式方法,还让你学会向修改和使用程序的人传递信息,并最终用自己的规则构建“世界”,按自己对问题的理解和解决方案创造“世界”。, 主要内容:, 计算机体系结构(详解内存及寻址方式);, 编程初体验;, 函数使用及复杂度处理;, 文件处理及缓冲区分析;, 记录读写及修改;, 通过测试及错误处理打造健壮程序;, 程序共享;, 内存布局及处理;, 计算机的计数原理;, 程序优化(时机、位置及方式)。

2018-06-19

Learning the bash Shell, 3rd Edition(EN)

学习bash shell的经典书籍,中文名为学习bash(第三版)。里面有关于shell 命令的完全实际的例子解说。学习shell可以使Linux的使用更容易。

2008-12-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除