9 Commits

Author SHA1 Message Date
Peter Goodman c002b8505c Formats the code with clang-format and my additional stylistic mojojojo (#682) 2020-08-05 16:14:01 -04:00
Peter Goodman 2d55d02cc3 API improvements. Must be used with the api_improvements branches of Remill and Anvill (#666)
* API improvements. Must be used with the api_improvements branch of both Remill and McSema

fixes for x86 and running the lifted code with klee

* Update dockerfile to clone anvill

* update remill commit id

* Add python3 to dockerfile

* update python3

* disable abi script

* Updated cmake to find anvill

* Update main.cpp

* update find_package for anvill

* WIP:updated prebuild cfg

* update prebuild cfg files

* enable abi build for testsuite

* Fix memory leak

* install missing package for testcases

* frontend: Reflect cfg file changes in dyninst frontend.

* frontend: Update local files copyrights to reflect overall change to agplv3.

* fix failing testcases

* update test cfgs

* Fix test failure with local state pointer

* set the flag to use local state_ptr in default mode

Co-authored-by: kumarak <iit.akshay@gmail.com>
Co-authored-by: Lukas Korencik <xkorenc1@fi.muni.cz>
2020-07-23 02:14:56 -04:00
Peter Goodman c7914b84e5 In-progress trace diffing tool 2017-09-20 17:40:31 -04:00
Peter Goodman bf62bb3807 Updated the reg tracer PIN tool so that its output more closely matches the output from lifted bitcode. This required special handling of REP-prefixed instructions and thunks. This commit should fix issue #285. Added some checks to avoid treating certain kinds of data embedded in code sections as code. This came up with some windows DLLs. Played around with the reference-adding and string-adding heuristics. The most recent SQLite3 bug was due to a reference being added where it shouldn't have been. SQLite3's .databases command still does not do the right thing, though. 2017-09-15 00:54:31 -04:00
Peter Goodman d908fa4128 Minor fix to the ELF64 runtime where RDI is clobbered in one spot. 2017-08-15 15:10:19 -04:00
Peter Goodman 8452475933 Big improvements to get_cfg.py, especially for SQLite. Still, SQLite doesn't lift correctly. Also, ls using -la segfaults, although -lax does work. 2017-05-06 18:04:17 -04:00
Peter Goodman 93b4aa56b4 WIP. Modified license to apache 2.0 to follow remill, also most code is new anyway. 2017-04-15 16:27:35 -04:00
Peter Goodman 3f2d6f4303 Fixes a bug where the check for call +5 instructions was far too permissive. Modifies the PIN tracer to not print out register state for instruction in the .plt section. This reduces the number of spurious differences when comparing lifted and native state traces. Added a missing return statement to the semantics of CALLm. 2017-03-15 16:30:03 -04:00
Peter Goodman 9ee7bec444 How to debug mcsema (#188)
* Generalizes two debugging features. The first, -add-breakpoints, adds instruction-specific 'breakpoint' function calls before every lifted instruction. The second, -add-reg-tracer, adds in a function that prints out the value of every general purpose register before each instruction execution.

* In-progress doc

* ...

* More of the debugging doc, some more images, a PIN tool to complement the new -add-reg-tracer option to mcsema-lift. Still a ways from being done though.
2017-03-13 22:09:45 -04:00