Angr源码分析
胖胖鹏鹏胖胖鹏
专心
展开
-
Angr源码分析——SimState类
本博客由闲散白帽子胖胖鹏鹏胖胖鹏潜力所写,仅仅作为个人技术交流分享,不得用做商业用途。转载请注明出处,未经许可禁止将本博客内所有内容转载、商用。0x00 官方API说明和SimState的构建函数 在前面一篇博客中,我们介绍了Angr的一种简单地使用方法。再接下来的几天中,我阅读了Angr的部分源码,包括factory类、Angr.Project类(新建工程的过程)、cle.Loade...原创 2018-05-23 19:35:31 · 1668 阅读 · 0 评论 -
Angr源码分析——CFGFast._pre_analysis()
本博客由闲散白帽子胖胖鹏鹏胖胖鹏潜力所写,仅仅作为个人技术交流分享,不得用做商业用途。转载请注明出处,未经许可禁止将本博客内所有内容转载、商用。 最近分析的时候要去修复CFG,那就免不了要去看CFGFast的源码(有人写过了这个解析),那么从官方的解释来看呢,CFGFast采用静态分析的方法,简单来讲就是用程序序言,也就是程序开头的固定字符串匹配比如(push {xxx} /...原创 2018-06-14 20:04:05 · 924 阅读 · 0 评论 -
Angr源码分析——Explorer 技术及ExplorationTechnique机制简单解析
本博客由闲散白帽子胖胖鹏鹏胖胖鹏潜力所写,仅仅作为个人技术交流分享,不得用做商业用途。转载请注明出处,未经许可禁止将本博客内所有内容转载、商用。 我们在使用Angr分析代码的时候,最常用的功能应该是Simulation Manager的explore()功能了,这个函数能够很方便的让Angr搜索到我们想要的state,并且求出运行到该state所需的约束条件。那今天,我们来分析一...原创 2018-06-25 20:49:16 · 1828 阅读 · 0 评论 -
Angr源码分析——DDG的生成
本博客由闲散白帽子胖胖鹏鹏胖胖鹏潜力所写,仅仅作为个人技术交流分享,不得用做商业用途。转载请注明出处,未经许可禁止将本博客内所有内容转载、商用。 上一篇博客我们分析了DTaint这篇论文是如何进行静态分析的,同时我注意到论文中说Angr的DDG很慢,我们这次来看一下Angr的DDG是如何生成的,对比一下两者的方法,看下是由于代码问题造成的还是由于方法造成的。首先看下Angr中对D...原创 2019-01-09 17:29:20 · 1848 阅读 · 0 评论