From 90a3c819e9c66dd42cbc28b6df35b839df029af4 Mon Sep 17 00:00:00 2001 From: Peter Goodman Date: Tue, 13 Aug 2024 18:26:12 -0400 Subject: [PATCH] Update web-browser.md --- docs/web-browser.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/docs/web-browser.md b/docs/web-browser.md index 2eeea5b1e..7384d3a16 100644 --- a/docs/web-browser.md +++ b/docs/web-browser.md @@ -6,10 +6,29 @@ from an indexed database. The web browser also implements a feature [requested]( by Phil Eaton: being able to quickly find functions that share the same function signature. The underlying analysis for finding same-typed functions is its own [tool](group-functions.md). -To run the web browser, first install NiceGUI using `pip install nicegui`. Then: + + +To run the web browser, first download a [pre-built release for Linux](https://github.com/trailofbits/multiplier/releases) of Multiplier. Then, +follow the [instructions to index a codebase](INDEXING.MD). In this example, I indexed OpenSSH. + +If you're using a pre-built release extracted to `/path/to/multiplier/release`, then you'll want to set up a Python virtual environment as follows: + +```shell +$ python3.12 -m venv /path/multiplier/release +$ source /path/multiplier/release/bin/activate +(multiplier) $ +``` + +Next, install NiceGUI into the Python virtual environment: + +```shell +(multiplier) $ python -m pip install nicegui +``` + +Finally, invoke [WebBrowser.py](../bin/Examples/WebBrowser.py) from a *source checkout* of Multiplier. ```shell -python /path/to/multiplier/checkout/bin/Examples/WebBrowser.py --db /tmp/openssh.db +(multiplier) $ python /path/to/multiplier/source/bin/Examples/WebBrowser.py --db /tmp/openssh.db ``` Using and indexed OpenSSH as an example, here is what the web browser looks like @@ -31,4 +50,4 @@ References are both clickable, triggering redirects to their definitions Clicking each of the right click menu options for the `addr_unicast_masklen` function shows the following for references to, references from, and same-typed functions: -![File tree view](images/web-browser-3.png) \ No newline at end of file +![File tree view](images/web-browser-3.png)