今天給大家介紹的是一款名叫Xori的自動化反編譯與靜態分析工具,廣大研究人員可以利用該工具來對PE32、32+和Shellcode進行審計分析。
支持架構
i386
x86-64
文件格式
PE,PE+
明文shellcode
工具功能
1、 管理棧內存;
2、 輕量級模擬:枚舉全部路徑(寄存器、棧和某些指令);
3、 完整模擬:僅跟蹤代碼路徑(性能慢);
4、 模擬TEB&PEB結構;
5、 顯示引用內存地址的字符串;
6、 使用FLIRT風格簽名;
7、 識別偏移量地址中的函數引用。
工具依賴組件
rustc 1.27.0
rust安裝-macOS & Linux發行版
curl https://sh.rustup.rs -sSf | sh
rust安裝-Windows
rust工具集下載地址:【rustup.exe】
該工具將會安裝rust的編譯器-rustc,rust包管理器-cargo,以及其他用於rut環境下的實用工具。
安裝rust依賴組件
如果大家遇到了下圖所示的情況,是因為沒有安裝Build Tools for Visual Studio【解決方案】:
1、 按照提示要求,點擊上述鏈接,或直接點擊【這裡】;
2、 取消rustup-init.exe;
3、 回到瀏覽器,往下滑,點開“Tools forVisual Studio 2017”標籤頁,下載“Build Tools for Visual Studio2017”;
4、 運行下載好的可執行文件;
選擇“Visual C++ build tools”並點擊安裝,安裝完成後關閉安裝程序:
安裝rust工具鏈
運行rustup.exe,你將會看到如下所示的輸出:
成功安裝後,你將會看到rust編譯器-rustc、rust包管理器-cargo和其他實用工具已經全部安裝完成了。路徑分別為“C:\Users\%username%\.cargo“和”C:\Users\%username%\.rustu”。
Xori安裝與配置
下載和構建Xori代碼:
git clone https://github.com/endgameinc/xori.git
cd xori
cargo build --release
創建xori.json配置文件:
cpxori.json.example xori.json
[editif desired]
構建符號文件(可選項):
如果你想要創建自己的符號文件,你需要設置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文件:
./target/release/pesymbols
工具運行
./target/release/xori-f test.exe
運行所有測試
cargo test
瀏覽器GUI
工具要求
Nodejs
Yarn
構建
cd gui
npm install
運行
在一個終端下:
cd gui
node src/server.js
在另一個終端下:
cd gui
npm start
瀏覽器默認地址為http://localhost:3000/,後端API監聽地址為http://localhost:5000/。
項目地址
Xori:【GitHub傳送門】
* 參考來源:gildasio,FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM今天給大家介紹的是一款名叫Xori的自動化反編譯與靜態分析工具,廣大研究人員可以利用該工具來對PE32、32+和Shellcode進行審計分析。
支持架構
i386
x86-64
文件格式
PE,PE+
明文shellcode
工具功能
1、 管理棧內存;
2、 輕量級模擬:枚舉全部路徑(寄存器、棧和某些指令);
3、 完整模擬:僅跟蹤代碼路徑(性能慢);
4、 模擬TEB&PEB結構;
5、 顯示引用內存地址的字符串;
6、 使用FLIRT風格簽名;
7、 識別偏移量地址中的函數引用。
工具依賴組件
rustc 1.27.0
rust安裝-macOS & Linux發行版
curl https://sh.rustup.rs -sSf | sh
rust安裝-Windows
rust工具集下載地址:【rustup.exe】
該工具將會安裝rust的編譯器-rustc,rust包管理器-cargo,以及其他用於rut環境下的實用工具。
安裝rust依賴組件
如果大家遇到了下圖所示的情況,是因為沒有安裝Build Tools for Visual Studio【解決方案】:
1、 按照提示要求,點擊上述鏈接,或直接點擊【這裡】;
2、 取消rustup-init.exe;
3、 回到瀏覽器,往下滑,點開“Tools forVisual Studio 2017”標籤頁,下載“Build Tools for Visual Studio2017”;
4、 運行下載好的可執行文件;
選擇“Visual C++ build tools”並點擊安裝,安裝完成後關閉安裝程序:
安裝rust工具鏈
運行rustup.exe,你將會看到如下所示的輸出:
成功安裝後,你將會看到rust編譯器-rustc、rust包管理器-cargo和其他實用工具已經全部安裝完成了。路徑分別為“C:\Users\%username%\.cargo“和”C:\Users\%username%\.rustu”。
Xori安裝與配置
下載和構建Xori代碼:
git clone https://github.com/endgameinc/xori.git
cd xori
cargo build --release
創建xori.json配置文件:
cpxori.json.example xori.json
[editif desired]
構建符號文件(可選項):
如果你想要創建自己的符號文件,你需要設置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文件:
./target/release/pesymbols
工具運行
./target/release/xori-f test.exe
運行所有測試
cargo test
瀏覽器GUI
工具要求
Nodejs
Yarn
構建
cd gui
npm install
運行
在一個終端下:
cd gui
node src/server.js
在另一個終端下:
cd gui
npm start
瀏覽器默認地址為http://localhost:3000/,後端API監聽地址為http://localhost:5000/。
項目地址
Xori:【https://github.com/endgameinc/xori】
閱讀更多 A1d2m3i4n5 的文章