scyther/gui
Cas Cremers fe364fbe9d GUI: Canceling verification now also kills back-end thread.
Previously, pressing 'cancel' in the verification window would leave a dangling scyther backend process.
Now the process gets correctly killed.

The following changes enable this:
- External processes are no longer invoked through the shell (otherwise they are subprocesses of the shell and cannot be reliably killed cross-platform).
- The 'safeCommand' procedure now has a hook for passing opened Popen objects.
- The GUI stores and kills the Popen objects on cancel or window close.

To do: an alternative interface for this in 'safeCommand' could expose a 'killMe' method through a callback; this might be cleaner in the long term.
2013-06-30 23:14:28 +02:00
..
Gui GUI: Canceling verification now also kills back-end thread. 2013-06-30 23:14:28 +02:00
Images - Reinstated the graphical about screen. 2007-01-27 22:52:22 +00:00
Protocols Added Wimax models from compositionality paper. 2012-11-27 21:56:05 +01:00
Scripts Added regression test script. 2012-06-12 23:12:14 +02:00
Scyther GUI: Canceling verification now also kills back-end thread. 2013-06-30 23:14:28 +02:00
Time Added initial test script for the constraint solver module. 2008-03-14 00:01:25 +01:00
.gitignore More ignore patterns. 2011-03-31 15:01:13 +02:00
batcher.sh More comments. 2011-03-31 15:01:50 +02:00
Changelog.txt Updated changelogs and readme's. 2012-12-17 11:26:04 +01:00
combos-book.sh Added test scripts for book and iso. 2011-01-25 10:24:37 +01:00
combos-ike.sh Adding missing scripts. 2011-03-31 15:00:56 +02:00
combos-ikev0.sh Adding missing scripts. 2011-03-31 15:00:56 +02:00
combos-ikev1.sh Adding missing scripts. 2011-03-31 15:00:56 +02:00
combos-ikev2.sh Adding missing scripts. 2011-03-31 15:00:56 +02:00
combos-iso.sh ISO test script now points to Scyther models in papers directory. 2011-09-23 11:24:02 +02:00
generate-attack-graphs.py Misc: improving output of generate-attack-graphs.py script. 2013-06-20 10:32:16 +02:00
GNU-General-Public-License.txt Added GPL 2 License to the C sources. 2007-06-11 14:01:04 +02:00
INSTALL.txt Updating INSTALL file. 2013-05-24 12:32:04 +02:00
json-scyther.py Updated dates. 2012-04-24 13:56:51 +02:00
make-bsub.py Adding make-bsub.py, which is needed by batcher.sh. 2011-01-26 13:21:02 +01:00
mpa.spdl Synchronising MPA branch with compromise branch where possible. 2012-04-25 17:03:51 +02:00
notes-brutus-mpa.txt Improving some scripts; exploit cache better. 2011-03-31 15:02:49 +02:00
ns3.spdl Added weak agreement claims to NS. 2012-05-01 16:37:04 +02:00
nsl3-broken.spdl Synchronising MPA branch with compromise branch where possible. 2012-04-25 17:03:51 +02:00
nsl3.spdl Adding weakagree claim to nsl3. 2012-05-02 10:15:33 +02:00
precompute-ike.sh Adding missing scripts. 2011-03-31 15:00:56 +02:00
progressbarDummy.py Updated dates. 2012-04-24 13:56:51 +02:00
README.md Updated changelogs and readme's. 2012-12-17 11:26:04 +01:00
scyther-gui.py BUGFIX: Invoking Scyther scripts from non-standard directories or using symlinks should work consistently now. 2013-05-01 14:16:12 +02:00
scyther-gui.rc - Added a windows resource file. 2006-08-09 09:13:39 +00:00
scyther-manual.pdf Added current manual snapshot. 2012-12-17 11:32:58 +01:00
scyther.py Updated dates. 2012-04-24 13:56:51 +02:00
test-delta.py Updated dates. 2012-04-24 13:56:51 +02:00
test-mpa.py Updated dates. 2012-04-24 13:56:51 +02:00
todo.txt Synchronising MPA branch with compromise branch where possible. 2012-04-25 17:03:51 +02:00
wiper.sh Added some minimal explanation to the wiper script. 2011-09-23 11:24:02 +02:00

The Scyther tool

Scyther is a tool for the symbolic analysis of security protocols. It is developed by Cas Cremers, and is available from http://people.inf.ethz.ch/cremersc/scyther/index.html.

The below instructions apply only to the distribution version of the Scyther tool. If you are working from the source files, some paths may be slightly different, and it is recommended to follow the instructions in '../README.md'.

Running the scyther tool

Graphical user interface

The graphical user interface can be started by running scyther-gui.py, e.g., enter the following in a terminal and press return

python ./scyther-gui.py

Command-line usage

In the directory ./Scyther there should be an executable for the Scyther backend. Its name depends on the platform:

  • scyther-linux (Linux)
  • scyther-w32 (Windows)
  • scyther-mac (Mac OS X)

If this executable does not exist, you probably downloaded the source files, and will need to compile it first. See ../README.md for further details.

There are also various test scripts (for usage in Linux) in this directory.

Obtaining the sources

Scyther is being developed on Github, and its complete source files are availabe from https://github.com/cascremers/scyther.

Manual

We are currently rewriting the manual. The current (incomplete) distribution version of the manual can be found here:

  • ./scyther-manual.pdf

Protocol Models

The protocol models have the extension .spdl and can be found in the following directories:

  • ./Protocols and its subdirectories.

License

Currently the Scyther tool is licensed under the GPL 2, as indicated in the source code. Contact Cas Cremers if you have any questions.