- 博客(4)
- 收藏
- 关注
原创 llvm:Data Flow Graph
Data Flow Graph基本概念Data Flow Graph又叫数据流程图,表示在一个函数中的数据流动的方向。比如一个指令1定义了一个新变量%a,而另一个指令2用到了变量%a,此时就存在从指令1到指令2的边。llvm IR的表示形式是SSA,简单的来说SSA表示形式就是一个变量只能定义一次。x = y + 1;x = y + 2;y = 3;上面的形式就不是SSA的表示形式,因为x被定义
2017-09-24 14:07:46 2335
原创 llvm:Call Graph And Control Flow Graph
前言最近对llvm框架进行了初步的了解,才体会了llvm真正的魅力。它不仅是一个编译器框架,更是研究者们研究程序的一个有力的工具。本篇文章主要介绍一下如何对llvm的中间语言IR进行处理从而生成Call Graph(CG)和Control Flow Graph。Call GraphCall Graph又叫做函数调用图,用来记录程序中的函数调用关系的。比如: void foo(){
2017-09-24 14:07:14 3019 1
原创 linux堆内存漏洞利用之fastbin
背景介绍在前一节主要介绍了Glibc的堆内存管理的机制,在上一节的基础上,我打算介绍一下针对Glibc堆内存管理的攻击。此系列我打算按攻击面是哪一个bin来展开,主要分为: - fastbin的攻击 - smallbin的攻击 - largebin的攻击 - unsorted bin的攻击 - top chunk的攻击本文主要介绍fastbin的攻击fastbin漏洞利
2017-09-24 12:12:32 1794
原创 ptmalloc堆内存管理
背景介绍Linux的栈内存管理相信大家都已经很熟悉了,针对栈内存的攻击也是比较常见的。然而对于堆内存的管理机制可能不太熟悉,针对堆内存的攻击也是比较困难的,所以我通过阅读各种资料以及Glibc的相关源码,对Glibc下的堆内存管理机制有了一定的了解,故在此记录下学习心得。首先不同平台的堆内存管理机制是不一样的,我现在主要是针对Glibc的堆内存管理机制进行分析,Glibc的堆内存管理机制叫做ptma
2017-09-23 14:54:33 833
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人