quarkslab/arybo

GitHub: quarkslab/arybo

Arybo 是一款专注于混合布尔算术表达式符号化处理的研究工具,支持表达式的规范化、化简和模式识别。

Stars: 323 | Forks: 37

# Arybo Arybo 是一个用于操作此类表达式的软件,它使用位向量(bit vectors)并提供逐位的符号表示。 它使用了 ANF(Algebric Normal Form,代数正规型)形式,其本质上是使用 XOR 和 AND 运算符来表示布尔表达式。 完整文档可在此处获取:https://pythonhosted.org/arybo/ # 快速入门 在 Linux/OSX/Windows 下,可以通过 pip 为 Python 2 和 3 安装 Arybo: .. code:: $ pip install arybo 请注意,Windows 下的 Python 2 不支持 pytanque,因为 Python 扩展的官方编译器是 Visual Studio 2010,它无法编译 libpetanque。 在 Linux/OS 下编译 Python 扩展 "pytanque" 至少需要 clang 3.5 或 GCC 4.9。 Ubuntu 14.04 的用户需要安装 GCC 6。请参阅文档获取详细说明: https://github.com/quarkslab/arybo/blob/master/docs/source/setup.rst#notes-for-ubuntu-1404. 关于安装过程的更多细节可以在这里找到:https://pythonhosted.org/arybo/setup.html 为了快速使用 Arybo,你可以简单地通过启动 ``iarybo`` 来使用 IPython shell: .. code:: # 启动一个定义了 8 位符号变量的 IPython 交互式 shell $ iarybo 8 In [1]: x|0x7f Out[1]:Vec([ 1, 1, 1, 1, 1, 1, 1, x7 ]) In [2]: (x^y)&a Out[2]: Vec([ ((x0 * a0) + (y0 * a0)), ((x1 * a1) + (y1 * a1)), ((x2 * a2) + (y2 * a2)), ((x3 * a3) + (y3 * a3)), ((x4 * a4) + (y4 * a4)), ((x5 * a5) + (y5 * a5)), ((x6 * a6) + (y6 * a6)), ((x7 * a7) + (y7 * a7)) ]) 教程可以在这里找到:https://pythonhosted.org/arybo/tutorial.html. 高级用法的示例可以在 **examples** 目录中找到。 # 许可证 本项目基于 BSD 许可证发布(参见 LICENSE.txt 文件) # 联系方式 如有任何问题,请随时在 Github 上开启 issue 或创建 pull request。
标签:ANF, CTF工具, DNS 反向解析, MBA表达式, Python, 二进制分析, 云安全运维, 云资产清单, 代数正规型, 代码混淆, 位向量, 可视化界面, 形式化验证, 数学规范化, 无后门, 混合布尔算术, 混淆分析, 漏洞搜索, 符号执行, 表达式简化, 逆向工具, 逆向工程