This component allows symbexcel to interact with Office VBA. The symbexcel server implements a multithreaded XML-RPC server, and it exposes serveral functions which are used by the symbexcel client to process Excel files.
-
Install Windows 10 and Office 2019 in a virtual machine
-
Install Python 3.9.6 from the Microsoft Store
-
Install Windows Terminal from the Microsoft Store (recommended)
-
Clone this repository inside the VM
git clone [email protected]:ucsb-seclab/symbexcel-server.git
- Install dependencies
cd symbexcel-server
pip install -e requirements.txt
- Run a test
Z:\> python excel.py .\tests\test.xlsm
[~] Running a test, NOT starting the server..
Defined Names:
{'TEST_NAME': ('=Macro1!$A$3', 1)}
Macro Sheets:
{'Macro1': {'$A$1': (False, '=ALERT("FORMULA1")'),
'$A$2': (2.0, '=SUM(1, 1)'),
'$A$3': (False, '=ALERT(TEST_NAME)'),
'$B$1': (10.0, None)}}
- Run the server:
Z:\> python server.py
14:53:18 [INFO] Server started: listening on 0.0.0.0 port 8000