diff options
| author | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2023-11-10 12:56:38 +0100 |
|---|---|---|
| committer | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2023-11-10 12:56:38 +0100 |
| commit | 1d649ee44c2f49c11077d5b851d3ed110c2d6f65 (patch) | |
| tree | 50b0a476d183efeaa7dff0b86d84debb8b786d6c /README.md | |
| parent | ca7044cdc7fe99d8065594d455b7f41505f796ab (diff) | |
| download | focaccia-1d649ee44c2f49c11077d5b851d3ed110c2d6f65.tar.gz focaccia-1d649ee44c2f49c11077d5b851d3ed110c2d6f65.zip | |
Implement interpreter for symbolic expressions
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/README.md b/README.md index 04ef446..0397afe 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,9 @@ more architectures later. Currently, we only have X86. The following files belong to a prototype of a data-dependency generator based on symbolic execution: + - `symbolic.py`: Algorithms and data structures to compute and manipulate symbolic program +transformations. + - `gen_trace.py`: An invokable tool that generates an instruction trace for an executable's native execution. Is imported into `trace_symbols.py`, which uses the core function that records a trace. @@ -45,8 +48,8 @@ changes it has made to the program state before that instruction. 3. Writes the program state at each instruction to log files; writes the concrete state of the real execution to 'concrete.log' and the symbolic difference to 'symbolic.log'. - This first version is very fragile. As soon as angr can't handle a branch instruction (which is -the case for almost any branch instruction), it aborts with an error. + - `interpreter.py`: Contains an algorithm that evaluates a symbolic expression to a concrete value, +using a reference state as input. ## Helpers |