Virtual Function and Virtual Function Call Hijacking

20171211001

Introduction

In this post, I will first give a detailed explanation on how virtual function works on Linux platform. Based on my given information, I will further explain how virtual function call can be utilised to hijack control flow.Read More »

Introduction on Ptmalloc Part1

20171204002

Introduction

Ptmalloc is the memory allocator used in libc. I am planning to give a detailed introduction on ptmalloc in two parts. This post is the first. In this post, I will introduce the common data structures used in ptmalloc and present the work flow of allocation procedure in ptmalloc. In the second part, I will present the work flow of deallocation and reallocation procedure in ptmalloc. Furthermore, I will also list the security checks used in ptmalloc. I use the source code of libc-2.25 for demonstration. Read More »

ELF file format and dynamic linking

20171204001

Introduction

ELF (Executable and Linkable Format) is the file format of the executable file under Unix system. This post will give a basic demonstration on the ELF file format and briefly explain how dynamic link works. First of all, I will present the structure of an object file and basic data structures to resolve an ELF file. Next I will further present the structure of an executable file and how the dynamic linking works under unix system.Read More »