Commit Graph

489 Commits

Author SHA1 Message Date
Joe Hendrix
230b318dcf
Updates to discovery 2018-08-14 23:29:02 -07:00
Joe Hendrix
4c21eb9a97
Merge remote-tracking branch 'arm-reloc/master' 2018-08-12 23:30:23 -07:00
Kevin Quick
9876c2aff8
Submodule update for crucible. 2018-08-10 15:08:34 -07:00
Kevin Quick
05a4d96cd7
Update register CFG initialization for new label and value fields. 2018-08-10 15:06:04 -07:00
jhendrix
c1a2d253f6 Merge branch 'master' into 'master'
Merge changes from lc-trace-offset

See merge request ABCD/macaw!1
2018-08-09 17:00:29 -07:00
jhendrix
d1ce17f6a9 Merge branch 'lc-trace-offset' into 'master'
Add memory finding utility

See merge request ben/macaw!1
2018-08-09 10:35:23 -07:00
Daniel Wagner
da991102e7 comment IPAlignment more 2018-08-09 13:20:56 -04:00
Ledah Casburn
af826d6c16 Add naive bytestring matching utility.
Used to determine where bytes from execution trace match memory from ELF file.
2018-08-07 17:03:16 -07:00
Joe Hendrix
877682e7a4
Merge branch 'master' of github.com:GaloisInc/macaw 2018-08-07 11:20:37 -07:00
Joe Hendrix
7f00e036b2
Remove error with ARM relocations. 2018-08-07 11:20:03 -07:00
Kevin Quick
d82360f60c Merge branch 'master' of https://github.com/GaloisInc/macaw 2018-08-07 07:59:07 -07:00
Joe Hendrix
b49036ebdf
Fix broken array bounds check in jump table discovery. 2018-07-30 13:58:52 -07:00
Joe Hendrix
aa742d148d
Fix missing negation in function executable check. 2018-07-30 13:32:54 -07:00
Joe Hendrix
036f39cbb4
Bug fixes to code discovery; introduce JumpTableLayout.
This fixes bugs in scanning addresses in memory, and failing to check
the executable status of function entry points.
2018-07-30 13:28:46 -07:00
Kevin Quick
c56f66a150
[x86] Fix/update haddock documentation. 2018-07-28 15:28:28 -07:00
Joe Hendrix
e4a27d7bbc
Merge branch 'master' of github.com:GaloisInc/macaw 2018-07-27 00:28:50 -07:00
Joe Hendrix
c6a1ecba6c
Rename MemSet to RepStos to reflect underlying x86 function. 2018-07-27 00:24:24 -07:00
Tristan Ravitch
4e78ec3b8a x86: Haddock fixes 2018-07-26 20:32:32 -07:00
Tristan Ravitch
1b74262fb5 Merge branch 'master' of github.com:GaloisInc/macaw 2018-07-24 16:54:37 -07:00
Tristan Ravitch
4d1299a6d2 Merge branch 'master' into breaking-change/symbolic-global-map 2018-07-24 16:53:51 -07:00
Joe Hendrix
3906cbd501
Change MemCopy to RepMovS primitive. 2018-07-24 14:13:44 -07:00
Joe Hendrix
59bd994191
Bump parameterized-utils submodule 2018-07-23 14:57:41 -07:00
Joe Hendrix
9193a2d09a
Merge remote-tracking branch 'arm-reloc/master' 2018-07-23 13:49:47 -07:00
Joe Hendrix
43e81ab795
Bump parameterized-utils min version 2018-07-23 13:47:24 -07:00
Joe Hendrix
3ec8a34893
Fix Crucible symbol name error. 2018-07-21 14:14:42 -07:00
Joe Hendrix
564c94a744
Fix missing case. 2018-07-21 14:14:31 -07:00
Joe Hendrix
a6e19e90e2
Merge pull request #10 from GaloisInc/jhx-x86-improvements
Jhx x86 improvements
2018-07-20 20:55:54 -07:00
Joe Hendrix
dc4a4f0f5f
Merge remote-tracking branch 'public/stable' into jhx-x86-improvements 2018-07-20 20:32:09 -07:00
Joe Hendrix
5f6c54d62c
Merge pull request #9 from robdockins/simulator-refactor
Update to track crucible API changes
2018-07-20 19:27:08 -07:00
Rob Dockins
75e4728464 Update to refactor crucible simulator 2018-07-20 18:53:53 -07:00
Rob Dockins
f14222e4a4 Update to track crucible API changes 2018-07-20 18:41:54 -07:00
Joe Hendrix
901446bda5
Add test case for object jump table. 2018-07-20 18:16:52 -07:00
Joe Hendrix
f096cb81c4
Update flexdis 2018-07-20 11:06:49 -07:00
Joe Hendrix
4ea55924b8
Update submodules 2018-07-20 10:46:09 -07:00
Joe Hendrix
2184fab0bc
Update macaw-symbol tests so they at least compile. 2018-07-20 10:07:49 -07:00
Joe Hendrix
0d0898c644
Add support for parsing jump tables with relocations in entries.
This also adds simplification rules and some refactoring of existing
interfaces
2018-07-20 09:57:06 -07:00
Joe Hendrix
f1c5b10fd5
Extend relocation support and 1-1 x86 block association. 2018-07-18 16:57:17 -07:00
Brian Huffman
2330c81ab4 Fix haddock parse errors. 2018-07-17 13:23:48 -07:00
Joe Hendrix
b24649db35
Remove redundant function from Memory. 2018-07-12 13:46:02 -07:00
Tristan Ravitch
ed52c54162 Revise the function handle lookup operation
It needs to take (and return) a Crucible state so that we can insert the new
function handle into the handle map (so that the Crucible Call statement can
find it).
2018-07-05 15:16:17 -07:00
Joe Hendrix
bca405562a
Drop automatic parsing NO_TYPE symbols in ElfLoader. 2018-07-03 16:35:41 -07:00
Andrei Stefanescu
313b2a738a Add parameters and return type to subprogram datatype 2018-06-26 10:58:43 -07:00
Tristan Ravitch
dd53e4231f Revise the GlobalMap API
The GlobalMap is mapping from virtual addresses computed by a program to the
corresponding logical address in the LLVM memory model during symbolic
simulation.  It is needed because addresses in binaries are computed from
bitvectors, which are not valid pointers in the LLVM memory model.

This change turns the GlobalMap from a Data.Map into a function, which is more
flexible and allows for a wider range of possible implementations of this
functionality, especially implementations that introduce numerous disjoint
segments for the original binary contents.
2018-06-19 17:27:30 -07:00
Joe Hendrix
641bfdccba
Update README.md 2018-06-15 10:47:27 -07:00
Joe Hendrix
5310ffff3e
Update README.md 2018-06-15 10:15:02 -07:00
Joe Hendrix
221c302fd4
Merge pull request #7 from GaloisInc/jhx-gnu-stack
General merge
2018-06-15 08:59:23 -07:00
Joe Hendrix
0fc925f989
Update for elf-edit compat 2018-06-15 08:24:52 -07:00
Joe Hendrix
6391a87db1
Merge branch 'master' of github.com:GaloisInc/macaw 2018-06-12 16:20:55 -07:00
Daniel Wagner
d48c434dbd bump parameterized-utils dependency 2018-06-11 10:30:32 -04:00
Daniel Wagner
f4d4e381b7 have a way to align potentially misaligned IPs 2018-06-11 10:30:32 -04:00