GreenHandX1H angrdoc 阅读笔记①

原创 2017年01月04日 00:39:06

angrdoc 阅读笔记①

记得当初刚接触csdn blog的时候还不支持功能如此强大的Markdown,只是一些基础的操作,现在搂了一眼发现已经加上了好多不错的功能,比如说目录、代码段。下面这个系列将会记录一下有关于angr这一平台的阅读笔记。将会以问题的形式记录。

0x001 什么是angr

angr是当下一款功能比较强大的开源的支持多平台的(like windows,liux,etc.)基于二进制上的符号执行工具(like KLEE),同时搭配了基于二进制上的静态分析。

0x002 angr的大体工作流程是什么

Created with Raphaël 2.1.0开始将二进制程序读入到分析程序当中将二进制码转换成可以被angr识别的中间表示中间表示再转换成可以直接被angr处理的包含语义信息的中间表示进行一系列的分析工作(angr中包含很多很多组件用来完成不同的功能)结束

图尚且并不完善,随着进一步阅读,会更加丰富

0x003 angr目前改进的方向有哪些

  • 目前angr只支持对c的二进制的分析因此我们希望让他对更多的语言进行分析比如JAVA(引入对SOOT的支持)
  • 支持更多的架构比如PIC,AVR架构
  • 作者最希望能提供对LLVM IR的支持,angr将不再仅仅是一个二进制的分析框架,将会变成一个程序分析框架,大大的拓展了他的能力
  • 当然一些老生常谈的问题,比如说路径爆炸、多线程进程问题的处理等依然是angr需要再进一步的改进的问题

0x004 有关Top-level interfaces

在这里我遇到以下几个问题

  1. 一开始我打算在mac上搭载环境,失败,具体原因查到有讲mac上需要安装作者要求的Z3的环境
  2. 于是我用VMware Fusion搭建了linux平台,按照命令走,但是在 import angr出现了错误import angr出现的错误提示
  3. 出现错误之后查doc,师兄说要在虚拟环境下运行,于是通过 mkvirtualenv angr命令创建了虚拟环境,source bin/activate 开启虚拟环境
  4. 在虚拟环境下pip install angr之后再import发生了同样的错误
  5. 鉴于此再查doc,说capstone出现了问题,于是通过命令pip install -I –no-use-wheel capstone 重新安装了capstone 至此,问题基本都已经解决。

arch :返回平台信息 比如 arch AMD64 (LE)
filename :返回文件名包括路径比如/bin/true
loader:CLEloader实例,返回地址信息(具体参数返回什么参照loader.py)

0x005

欢迎使用Markdown编辑器写博客

本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:

  • Markdown和扩展Markdown简洁的语法
  • 代码块高亮
  • 图片链接和图片上传
  • LaTex数学公式
  • UML序列图和流程图
  • 离线写博客
  • 导入导出Markdown文件
  • 丰富的快捷键

快捷键

  • 加粗 Ctrl + B
  • 斜体 Ctrl + I
  • 引用 Ctrl + Q
  • 插入链接 Ctrl + L
  • 插入代码 Ctrl + K
  • 插入图片 Ctrl + G
  • 提升标题 Ctrl + H
  • 有序列表 Ctrl + O
  • 无序列表 Ctrl + U
  • 横线 Ctrl + R
  • 撤销 Ctrl + Z
  • 重做 Ctrl + Y

Markdown及扩展

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]

使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。

本编辑器支持 Markdown Extra ,  扩展了很多好用的功能。具体请参考Github.

表格

Markdown Extra 表格语法:

项目 价格
Computer $1600
Phone $12
Pipe $1

可以使用冒号来定义对齐方式:

项目 价格 数量
Computer 1600 元 5
Phone 12 元 12
Pipe 1 元 234

定义列表

Markdown Extra 定义列表语法:
项目1
项目2
定义 A
定义 B
项目3
定义 C

定义 D

定义D内容

代码块

代码块语法遵循标准markdown代码,例如:

@requires_authorization
def somefunc(param1='', param2=0):
    '''A docstring'''
    if param1 > param2: # interesting
        print 'Greater'
    return (param2 - param1 + 1) or None
class SomeClass:
    pass
>>> message = '''interpreter
... prompt'''

脚注

生成一个脚注1.

目录

[TOC]来生成目录:

数学公式

使用MathJax渲染LaTex 数学公式,详见math.stackexchange.com.

  • 行内公式,数学公式为:Γ(n)=(n1)!n
  • 块级公式:

x=b±b24ac2a

更多LaTex语法请参考 这儿.

UML 图:

可以渲染序列图:

Created with Raphaël 2.1.0张三张三李四李四嘿,小四儿, 写博客了没?李四愣了一下,说:忙得吐血,哪有时间写。

或者流程图:

Created with Raphaël 2.1.0开始我的操作确认?结束yesno
  • 关于 序列图 语法,参考 这儿,
  • 关于 流程图 语法,参考 这儿.

离线写博客

即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入write.blog.csdn.net/mdeditor即可。Markdown编辑器使用浏览器离线存储将内容保存在本地。

用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。

博客发表后,本地缓存将被删除。 

用户可以选择 把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。

注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱

浏览器兼容

  1. 目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。
  2. IE9以下不支持
  3. IE9,10,11存在以下问题
    1. 不支持离线功能
    2. IE9不支持文件导入导出
    3. IE10不支持拖拽文件导入


  1. 这里是 脚注内容.
版权声明:本文为博主原创文章,未经博主允许不得转载。

人脸识别学习笔记(1)

人脸识别学习笔记(1)  1) 相关科学      神经生理学,神经病理学,心理学,脑神经学,计算机视觉。2...
  • hawksoft
  • hawksoft
  • 2017年08月01日 15:00
  • 456

代码阅读和实践笔记

高级c数据类型 C指针 c程序中,指针一般用来: 构造链式数据结构 引用动态分配的数据结构 #define new(type) (type*) calloc(sizeof((type),1)...
  • laoj1228
  • laoj1228
  • 2017年01月14日 22:20
  • 227

数学建模之论文写作笔记

要将数学建模的论文当做科技论文的要求来撰写。数学建模的训练过程就是一次科研训练的过程。 一、摘要     反应这篇论文作者是否真正把握了问题以及是否找准了正确解决问题的方法来建模以及模型的准确性和...
  • Qin605
  • Qin605
  • 2016年12月14日 17:25
  • 281

2017年阅读笔记整理

2017年4月份阅读笔记整理     这个月技术相关的书重点在看高洪岩的《java多线程编程核心技术》,工作外书籍看了马尔萨斯的《人口原理》、大卫·克里斯蒂安的《极简人类史》、纳西姆·尼古拉斯·塔勒...
  • maofenghua
  • maofenghua
  • 2017年04月30日 14:17
  • 487

阅读代码时,用excel做笔记。

我在阅读代码时,因为代码量大,用以下方式做了笔记。 1、利用dir /s/b > d:\a.txt 将java目录下的文件目录导入a.txt。 2、把a.txt中文件名拷入excel文件,...
  • waxwork
  • waxwork
  • 2017年01月10日 09:55
  • 287

PRML阅读笔记

1.最前面 作为一个搞机器的人,因为毕设的需要,接触了图像处理和机器视觉的知识。渐渐地发现,只会一些最基本的图像处理的知识,是没有资格谈论这门学科的。在研一的时候,被推荐这本书,由于当时接触的模式识别...
  • simplelove17
  • simplelove17
  • 2016年03月05日 08:30
  • 1357

如何有效地阅读文献并做笔记

简要介绍了文献的检索、阅读、积累、写作的方法。
  • u014749005
  • u014749005
  • 2016年09月16日 22:16
  • 1422

PPT制作笔记

听了一个很喜欢的ppt达人曹将做的一期分享会,特地记了一些笔记希望自己在ppt制作的道路上越走越远。...
  • leiline
  • leiline
  • 2017年03月31日 16:13
  • 425

论文笔记:A survey on vision-based human action recognition.

A survey on vision-based human action recognition.这篇文章写的是关于人体动作识别的综述类文章,论文中没有对某个具体的模型或算法做详细的描述,只是将其分...
  • xiaguangzhiying
  • xiaguangzhiying
  • 2015年05月21日 12:38
  • 1475

redis 源码阅读笔记

十一放假在家,没有更新博客,现在忙里偷闲,记录一下这几天源码的总结,redis的源码还是比较容易理解的,至少目前是,它有自己的lis实现和字符串的管理办法,也有自己的内存管理策略。现在就从这三部分一一...
  • ituling
  • ituling
  • 2016年10月04日 21:41
  • 529
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GreenHandX1H angrdoc 阅读笔记①
举报原因:
原因补充:

(最多只允许输入30个字)