专栏名称: FreeBuf
国内关注度最高的全球互联网安全新媒体
目录
相关文章推荐
储能与电力市场  ·  10%,2h配储,甘肃宁县驭风行动风电试点项目竞配 ·  昨天  
FreeBuf  ·  安全什么时候才能被看见? ·  4 天前  
国机工程集团  ·  张晓仑赴阿联酋考察调研 ·  6 天前  
看雪学苑  ·  2024 ... ·  1 周前  
51好读  ›  专栏  ›  FreeBuf

Amoco:一款针对二进制源码的安全分析工具

FreeBuf  · 公众号  · 互联网安全  · 2024-09-14 18:56

正文


关于Amoco


Amoco是一款功能强大的二进制源码静态分析工具,该工具基于Python 3.8开发,可以帮助广大研究人员轻松对二进制程序执行静态符号分析。



工具特性


1、一个通用的指令解码框架,旨在减少实现对新架构的支持所需的时间。例如,大多数 IA32 指令(通用)的解码器只需要不到 800 行 Python 代码。完整的 SPARCv8 RISC 解码器(或 ARM THUMB-1 集)只需要不到 350 行代码。ARMv8 指令集解码器只需要不到 650 行代码。

2、符号代数模块可以描述每条指令的语义并计算指令块的功能表示。

3、通用执行模型,提供抽象的内存模型来透明地处理具体或符号值以及其他依赖于系统的功能。

4、各种类实现了通常的反汇编技术,比如线性扫描、递归遍历,或者更复杂的技术,比如路径谓词,它依赖于 SAT/SMT 求解器来继续发现控制流图,甚至实现像 DARE(定向自动随机探索)这样的技术。

5、各种通用助手和依赖于 arch 的漂亮打印机允许自定义外观配置(想想 AT&T 与 Intel 语法、绝对与相对偏移、十进制或十六进制立即数等)。

6、一个持久的数据库设施,允许将发现的图表与其他先前分析过的代码片段进行比较。

7、可以作为独立客户端或 IDA 插件运行的图形用户界面。


工具要求


traitlets

rich

pyparsing

crysp>=1.2

grandalf>=0.8

click

sqlalchemy

ccrawl>=1.9

prompt_toolkit>=3.0.28


工具安装


由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3.8环境。


接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/bdcht/amoco.git


然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:

cd amoco
pip install -r requirements.txt

运行工具安装脚本:

python setup.py install


工具运行演示



 

许可证协议


本项目的开发与发布遵循GPL-2.0开源许可协议。

项目地址


Amoco

https://github.com/bdcht/amoco


FreeBuf粉丝交流群招新啦!
在这里,拓宽网安边界
甲方安全建设干货;
乙方最新技术理念;
全球最新的网络安全资讯;
群内不定期开启各种抽奖活动;
FreeBuf盲盒、大象公仔......
扫码添加小蜜蜂微信回复「加群」,申请加入群聊

http://amoco.readthedocs.io/en/latest/index.html