这里是普通文章模块栏目内容页
Xori:一款来自BlackHat 2018的二进制反汇编和静态分析工具

Xori是一个自动化的反汇编和静态分析库,它使用shellcode或PE二进制文件并提供分类分析数据。

体系结构:

I386 X86-64

文件格式

PE,PE + 普通的shellcode

目前的特点

1.输出json格式结果

2.反汇编函数

3.支持导入。 

管理图像和堆栈内存。 

Light仿真 – 用于枚举所有路径(寄存器,堆栈,某些指令)。 

完全仿真 – 仅遵循代码的路径(性能缓慢)。 

模拟TEB和PEB结构。 

评估基于DLL导出的函数。

根据引用的内存位置显示字符串。

使用FLIRT样式签名(快速库识别和识别技术)。

允许使用模拟PEB。

在不返回的调用后检测填充。

尝试从偏移中识别函数引用。

它还一些的不足:

引擎是互动的。

不能转储字符串。

不处理非可执行的部分。

对非pe文件不启用TEB和PEB。

只模拟了一部分的x86指令。

修补和组装。

没有其他插件或第三方脚本。

Requirements

rustc 1.27.0

为OSX和Linux Distros安装rust

curl https://sh.rustup.rs -sSf | sh

为Windows安装防rust

https://www.rust-lang.org/en-US/other-installers.html

选择:

x86_64-pc-windows-gnu x86_64-pc-windows-msvc(需要Visual Studio构建工具)

安装

1.Build Xori

此命令还将创建其他二进制文件,例如 pesymbols 和 peinfo。

git clone https://github.com/endgameinc/xori.git cd xori cargo build --release

2.创建xori.json配置文件 cp xori.json.example xori.json [edit if desired]

3.(可选)构建symbols文件

如果要创建自己的symbols文件,则需要将dll文件夹设置为存储Windows dll的位置。

"function_symbol32": "./src/analysis/symbols/generated_user_syswow64.json", "function_symbol64": "./src/analysis/symbols/generated_user_system32.json", "symbol_server": {     "dll_folder32": "./dlls/32bit",     "dll_folder64": "./dlls/64bit"

运行pesymbols来覆盖function_symbol json./target/release/pesymbols

运行

./target/release/xori -f test.exe

运行所有测试

cargo test

浏览器GUI

| Chrome | Firefox | Safari | IE |Opera|| :——| ——: | :——: | :——: | :——: || Latest ✔   | Latest ✔ | Latest ✔ | x | Latest ✔ |

要求

nodejs yarn(UI dev可选)

Build cd gui npm install

运行

在一个终端输入

cd gui node src/server.js

在另一个终端输入

cd gui npm start

它将打开您的默认浏览器到:3000/。后端API正在侦听localhost:5000。

收藏
0
有帮助
0
没帮助
0