Skip to content

Commit

Permalink
Merge branch 'master' into dm/desync
Browse files Browse the repository at this point in the history
  • Loading branch information
danmatichuk committed Feb 20, 2024
2 parents c7e56f8 + 6c69dce commit 68b5b72
Show file tree
Hide file tree
Showing 18 changed files with 253 additions and 331 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 0 additions & 26 deletions pate_binja/.idea/runConfigurations/test_may23_c10_replay.xml

This file was deleted.

26 changes: 0 additions & 26 deletions pate_binja/.idea/runConfigurations/test_nov23_t1_rm1018_live.xml

This file was deleted.

26 changes: 0 additions & 26 deletions pate_binja/.idea/runConfigurations/test_nov23_t1_rm1018_replay.xml

This file was deleted.

This file was deleted.

This file was deleted.

35 changes: 23 additions & 12 deletions pate_binja/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,26 @@
# PATE Verifier Plugin for Binary Ninja

This is an early release of the PATE plugin for Binary Ninja (Binja). At this time, there is no interface to specify PATE parameters. There are three hard coded demos that can be run in replay or live mode:
This is an early release of the PATE plugin for Binary Ninja (Binja). At this time, there is no interface to specify PATE run parameters. You must create a run configuration file in json format. For example:
```json
{
"original": "may23-challenge10.original.exe",
"patched": "may23-challenge10.patched.exe",
"args": [
"-b may23-challenge10.toml",
"--original-bsi-hints may23-challenge10.bsi-hints.json",
"--patched-bsi-hints may23-challenge10.bsi-hints.json",
"--original-csv-function-hints may23-challenge10.function-hints.csv",
"--patched-csv-function-hints may23-challenge10.function-hints.csv",
"-e ContinueAfterRecoverableFailures",
"-r AllowEqRescopeFailure",
"-s transport_handler",
"--save-macaw-cfgs CFGs"
]
}
```

There are several examples in [PATE Binja Demos repo](https://gitlab-ext.galois.com/pate/pate-binja-demos).

- May23 Challenge 10
- Nov23 Target 1 Room 1018
- Nov23 Target 4 Room 1011 dendy

## Installation

Expand All @@ -14,20 +30,14 @@ To use this plugin in Binja, put this directory (or a symlink to this directory)
- macOS: ~/Library/Application Support/Binary Ninja/plugins/
- Linux: ~/.binaryninja/plugins/

Clone the [PATE Binja Demos repo](https://gitlab-ext.galois.com/pate/pate-binja-demos) and define an environment variable to point at the cloned directory;
```bash
export PATE_BINJA_DEMOS=<pate binja demos directory>
```

To run replays of the PATE Verifier you do not need any more configuration.

If you want to run the PATE Verifier live, you need to install a PATE docker image or build PATE from source. See the [PATE project](https://github.com/GaloisInc/pate) for instructions. To run PATE built from source you do not also need to define these the environment variables:
If you want to run the PATE Verifier live, you need to install a PATE docker image or build PATE from source. See the [PATE project](https://github.com/GaloisInc/pate) for instructions. No environment variables are needed to run PATE docker. To run PATE built from source you do need to define these the environment variables:
```bash
export PATE=<pate source directory>
export PATE_BINJA_MODE=BUILD
```

No environment variables are needed to run PATE docker.


## Running

Expand All @@ -39,6 +49,7 @@ If you only want to run replays, you can launch Binary Ninja from the macOS Dock

Once Binary Ninja is running, the demos are available in the "Plugins" menu.


## Developer Notes (macOS with PyCharm Pro)

You must launch PyCharm Pro from a bash shell because it needs your bash environment. For example, on macOS:
Expand Down
Loading

0 comments on commit 68b5b72

Please sign in to comment.