diff options
| author | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2023-12-31 18:29:31 +0100 |
|---|---|---|
| committer | Theofilos Augoustis <theofilos.augoustis@gmail.com> | 2023-12-31 18:29:31 +0100 |
| commit | eae0b3b08bd078ad2f621ce2ef201e656da3f16a (patch) | |
| tree | eb93252f39543c46146297264ff548d9925178e0 /utils.py | |
| parent | d26ae0a7d583da5034cd6271f953b6253119ceae (diff) | |
| download | focaccia-eae0b3b08bd078ad2f621ce2ef201e656da3f16a.tar.gz focaccia-eae0b3b08bd078ad2f621ce2ef201e656da3f16a.zip | |
Refactor project structure
Read concrete state on demand during concolic exec During concolic tracing, don't record full program snapshots at each basic block, but instead read concrete values directly from the concrete target when they are needed.
Diffstat (limited to 'utils.py')
| -rw-r--r-- | utils.py | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/utils.py b/utils.py deleted file mode 100644 index f2c2256..0000000 --- a/utils.py +++ /dev/null @@ -1,38 +0,0 @@ -import sys -import shutil - -def print_separator(separator: str = '-', stream=sys.stdout, count: int = 80): - maxtermsize = count - termsize = shutil.get_terminal_size((80, 20)).columns - print(separator * min(termsize, maxtermsize), file=stream) - -def check_version(version: str): - # Script depends on ordered dicts in default dict() - split = version.split('.') - major = int(split[0]) - minor = int(split[1]) - if sys.version_info.major < major and sys.version_info.minor < minor: - raise EnvironmentError("Expected at least Python 3.7") - -def to_str(expr): - """Convert a claripy expression to a nice string representation. - - Actually, the resulting representation is not very nice at all. It mostly - serves debugging purposes. - """ - import claripy - - if not issubclass(type(expr), claripy.ast.Base): - return f'{type(expr)}[{str(expr)}]' - - assert(expr.depth > 0) - if expr.depth == 1: - if expr.symbolic: - name = expr._encoded_name.decode() - return f'symbol[{name}]' - else: - assert(expr.concrete) - return f'value{expr.length}[{hex(expr.v)}]' - - args = [to_str(child) for child in expr.args] - return f'expr[{str(expr.op)}({", ".join(args)})]' |