a5a12db | feliam | 01 June 2018, 17:30:52 UTC | Fix/refactor visit_ArraySelect. Better solver.__del__ | 01 June 2018, 17:30:52 UTC |
d99b7e2 | yan | 01 June 2018, 16:50:38 UTC | More updates | 01 June 2018, 16:50:38 UTC |
7f55ada | yan | 01 June 2018, 16:00:18 UTC | formatting | 01 June 2018, 16:00:18 UTC |
21ef8d7 | yan | 01 June 2018, 15:59:42 UTC | reapply formatting fix | 01 June 2018, 15:59:42 UTC |
fc58d59 | yan | 01 June 2018, 15:52:28 UTC | Install z3-solver | 01 June 2018, 15:52:28 UTC |
d4848af | yan | 01 June 2018, 15:46:48 UTC | Fix tests+hash behavior for bitvecs | 01 June 2018, 15:46:48 UTC |
abb068d | yan | 31 May 2018, 21:51:04 UTC | install_requires format fix | 31 May 2018, 21:51:04 UTC |
3512817 | yan | 31 May 2018, 21:47:07 UTC | Only install functools32 on py2 | 31 May 2018, 21:47:07 UTC |
44a3267 | yan | 31 May 2018, 21:43:36 UTC | Merge branch 'master' into python3 | 31 May 2018, 21:43:36 UTC |
0589437 | Paul Kehrer | 30 May 2018, 15:06:06 UTC | absolute imports (#907) | 30 May 2018, 15:06:06 UTC |
78df0e9 | Paul Kehrer | 30 May 2018, 13:42:04 UTC | install z3-solver in our install script so it's available (#906) | 30 May 2018, 13:42:04 UTC |
69c9d9b | Paul Kehrer | 30 May 2018, 13:38:42 UTC | py3 incremental: remove long literals (#905) * py3 incremental: remove long literals * install z3-solver in our install script so it's available | 30 May 2018, 13:38:42 UTC |
2d2ba90 | Paul Kehrer | 30 May 2018, 03:16:59 UTC | switch the exception syntax to py3 compatible (#904) | 30 May 2018, 03:16:59 UTC |
c29c3cc | feliam | 25 May 2018, 23:22:49 UTC | [WIP] Large EVM refactor (#843) * Array value configurable. 8,16,32..256 bits (not prefixed to 8) * Test Array256->256 * Remove old 8 bit assumptions * Add arrayProxy copy constructors and remove old 8 bit assumptions * remove old 8 bit assumptions * remove old 8 bit assumptions * Better ArrayProxy special case handling * WiP-research Use raw no-optimized smtlib generic arrays as memory and storage * remove pdebug print: * Fix tests * Review fixes * review fix * fix gas variable * Review fixes * git hell * fix asm_to_smtlib * Fix vm.gas access * getvalue hack * Improve internal API * solver.can_be_true(cs, True) must check that cs is feasible * Simpler callstack code * Fix merge and tests * Fix copy.copy * Move state ids to private * New internal add_transaction api * Fix tx.return_data * Remove comments * Do not rely on .last_exception * Fix evm tests * peping * peping * Peping +test fixes * Peping +test fixes * Peping +test fixes * Fix endTx pop vm * Improve speed and simplifications. Remove internal_transaction mess * Change test_eth.EthTests test a bit * Fix some tests and CALLDATALOAD * Add CALLCODE and reachability test frame * Fix calldataload, msize. Add reachability test frame * Fixlog * Clean reachability test * Fixe CODECOPY concrete * Some style sdded * peping * Remove origin and price from EVM as it can be retrieved from human tx * Added current_human_transaction and last_human_transaction * peping * Refactor tests * Increased argument count allowed CC * Initial automatic library loading (no toposort) * pep8 * Accepts any number of libaries on any ordering * pep8 and relaxed codeclimate * Simple library test * merge libraries in * Solve https://capturetheether.com/challenges/math/mapping/ * Remove debug print * More robust path creation for test files * DELEGATECALL support * generate testcases only at finalize() * Add functools32 as dependency for lru in py2 * Manticore Library PoC * Favor bytearray * Favor bytearray * config * Fix concolic and sha3 arraybyte-> str * Fix concolic * Fix typo * remove absolute path from tests so it fits in link placeholders * Shrink path spec for solc * Hopefuly Fix solc invocation bug * FFFFFFFFFIIIIIIIIIIIIX ITTTTTTTTTTTTTTT * Better performance on visitors cache, and new ArraySlice * better os joining, evm library link, and tx based events * Fitering solidity functions plugin * add itereator capabilities to ConstarintSet * Some solver functions exported to state * bye bye metaclass dynamic check * extra simplification * Improved symbolic gas and other bugfixes * Better visit_BitVecExtract * Default initial timestamp and block number * 99 typos * Re-enable account.named_func() trick * typo * Better stronger * Added default symbolic arguments to constructor.. * Remove constant marked functions from multi_tx * Add default 16G memory cap to z3 * concretized_args now supports concretizing address arguments to all possible accounts * Fix coverage calc * reset fails sometimes * PEP8 ROA (#900) * pep8 formatting * Code Climate updates * cyclocomplexity-- * Refunds moved from the instruction to the the exeption catching * merge * merge * accept both bytearray and str * doc * blockhash changed and returns a symbolic value now, so these tests are wrong * A bugfix * pep8/complexity updates * remove more questionable tests same thing as with the blockhash thing. we're doing things a little more symbolically now so comparing to concrete will not work * Accomodate our chubby State class * Keep moving the refunds * Disble reachability test for now * Remove double declaring log for now * Fix coverage calculation was prev creating a generator, which you can't do `in` on?? * require 1 tx for int overflow test * Fix path tests * Remove debug print in tests * Only enable gas when necessary * codeclimate fixes * Fix concretize_args * only 1 tx * Disable max/min support in solver | 25 May 2018, 23:22:49 UTC |
f73fc40 | Matias Bordese | 25 May 2018, 17:58:18 UTC | Install capstone from next branch, optional via pip --process-dependency-links. (#896) * Install capstone from next branch, optional when passing --process-dependency-links to pip. * Alter readme wording | 25 May 2018, 17:58:18 UTC |
b9af9bf | Kirwan | 25 May 2018, 14:35:24 UTC | Fixed variable name typo. Issue #898. (#899) | 25 May 2018, 14:35:24 UTC |
b5d9d1d | Pierre Pronchery | 18 May 2018, 22:01:09 UTC | Khorben/479 assert brk (#890) * Remove assertion on brk() Manticore assumed that new calls to brk(2) were always increasing the size of the data segment. This is not always true, since programs may decide to reduce it as well. Tested with a static Linux/i386 program on macOS/amd64. * Minor optimization Only compute perms if actually needed. * Avoid creating memory mappings with a negative size This should completely fix #479 this time. * Update sys_brk() implementation * Add regression tests for brk * Added brk test binary src | 18 May 2018, 22:01:09 UTC |
68c4716 | feliam | 18 May 2018, 21:14:34 UTC | Remove solidity in minimal.py example (#895) * Remove all needs for solidity in minimal.py example * Separate evm only minimal example | 18 May 2018, 21:14:34 UTC |
f4c4c9a | Catena cyber | 18 May 2018, 16:19:11 UTC | Add LD_LIBRARY_PATH type feature (#878) * Add LD_LIBRARY_PATH type feature Use of environment variable MANTICORE_LD_PATH instead of LD_LIBRARY_PATH which is protected on MacOS Fixes #93 * Comments taken into account Commit to be squashed afterwards * Codeclimate fix * Support LD_LIBRARY_PATH in the loader | 18 May 2018, 16:19:11 UTC |
71c90c3 | Catena cyber | 18 May 2018, 15:40:15 UTC | Add dedicated files for ARGV/ENVP in report (#863) * Add dedicated files for ARGV/ENVP in report Fixes #169 * Add unit test for argv/env reports * Code review taken into account | 18 May 2018, 15:40:14 UTC |
cb1f244 | Yan Ivnitskiy | 18 May 2018, 15:36:05 UTC | Fix Linux initialization (#894) * Move _open() outside of assert * Make a few tests aware of assert-less exec * Use the __debug__ builtin instead of sys flags | 18 May 2018, 15:36:05 UTC |
efbcd08 | feliam | 16 May 2018, 14:39:23 UTC | Rollback to old mini assembler only example (#889) * Rollback to old mini assembler only example * Rollback reordering and remove comment * Ah no. We need to keep the states in the lists until the end * Update ethereum.py * Use calculate coverage funciton | 16 May 2018, 14:39:23 UTC |
79d90ae | Daniel James | 15 May 2018, 16:29:43 UTC | Typo in ManticoreEVM#last_return (#886) Encountered the following trace: ``` Traceback (most recent call last): …, in <module> m.last_return() File "…/manticore/ethereum.py", line 906, in last_return return state.platform.last_return AttributeError: 'EVMWorld' object has no attribute 'last_return' ``` It appears this bug was introduced in commit ed29a22f The same bug was also lurking in `EVMWorld#run` https://github.com/trailofbits/manticore/pull/886#issuecomment-386626556 | 15 May 2018, 16:29:43 UTC |
6747c43 | Pierre Pronchery | 11 May 2018, 15:52:07 UTC | Partially implement fork(2) (#892) * Partially implement fork(2) Really this return ENOSYS (not implemented), which allows sub-processes to detect the condition and continue to run (or crash on their own if they did not expect fork() to fail). * Move sys_fork to correct class; add a basic docstring | 11 May 2018, 15:52:07 UTC |
f6d0cd4 | Pierre Pronchery | 11 May 2018, 15:43:27 UTC | Partially implement chroot(2) (#891) * Partially implement chroot(2) Really this return EPERM (permission denied), which seems to be absolutely fine since a non-privileged user is currently assumed. This is what would normally be returned in this scenario. * update chroot implementation | 11 May 2018, 15:43:27 UTC |
44ef97e | Catena cyber | 08 May 2018, 18:15:03 UTC | Loads shared ELF to analyze a function (#861) * Loads shared ELF to analyze a function See #69 * Bring in recent changes to concolic.py * Loads shared ELF to analyze a function * Fix the 'linux' class method prototype | 08 May 2018, 18:15:03 UTC |
b9a515c | ggrieco-tob | 07 May 2018, 13:23:40 UTC | Added optional message parameter in ConcretizeMemory (#885) * Added optional message parameter in ConcretizeMemory In some files (e.g. manticore/core/cpu/abstractcpu.py), ConcretizeMemory is invoked with a message but it is interpreted as the "policy" value now, causing a crash. This commit should fix that issue. * Small code refactoring to address code review | 07 May 2018, 13:23:40 UTC |
109180f | feeb | 04 May 2018, 20:03:35 UTC | Merge pull request #888 from trailofbits/dev-019 Manticore 0.1.9 | 04 May 2018, 20:03:35 UTC |
23a1412 | Mark Mossberg | 04 May 2018, 18:27:41 UTC | Finish changelog | 04 May 2018, 18:27:41 UTC |
66640c8 | Mark Mossberg | 04 May 2018, 18:17:47 UTC | Initial changelog | 04 May 2018, 18:17:47 UTC |
5c9e635 | Mark Mossberg | 04 May 2018, 18:07:20 UTC | Bump version | 04 May 2018, 18:07:20 UTC |
9c258bd | Yan Ivnitskiy | 03 May 2018, 22:52:29 UTC | Update concolic.py (#887) * Update concolic.py * update what evt we subscribe to | 03 May 2018, 22:52:29 UTC |
ca51a7a | phoebe jenkins | 02 May 2018, 21:52:59 UTC | Performance: remove import from issymbolic | 02 May 2018, 21:52:59 UTC |
2b838e6 | phoebe jenkins | 02 May 2018, 18:06:33 UTC | Performance: make sure cPickle is being used | 02 May 2018, 18:06:33 UTC |
824e9fe | phoebe jenkins | 02 May 2018, 17:11:10 UTC | Performance: refactor abstractcpu methods to not use hasattr or hacks | 02 May 2018, 17:11:10 UTC |
21c8d20 | phoebe jenkins | 01 May 2018, 22:46:38 UTC | Performance: have munmap stop clearing if all memory is cleared | 01 May 2018, 22:46:38 UTC |
d834ef3 | phoebe jenkins | 30 April 2018, 20:47:08 UTC | Merge branch 'python3' of github.com:trailofbits/manticore into python3 | 30 April 2018, 20:47:08 UTC |
04d3cd3 | phoebe jenkins | 30 April 2018, 20:46:39 UTC | Clean up binary flags on stream functions | 30 April 2018, 20:46:39 UTC |
1381c8c | phoebe jenkins | 30 April 2018, 20:46:04 UTC | Add default value for in travis script | 30 April 2018, 20:46:04 UTC |
4e3050c | yan | 30 April 2018, 20:28:14 UTC | Fix setstate typo | 30 April 2018, 20:28:14 UTC |
ac38fc8 | phoebe jenkins | 30 April 2018, 19:52:40 UTC | Move assert to more logical position | 30 April 2018, 19:52:40 UTC |
eeedadf | phoebe jenkins | 30 April 2018, 19:52:20 UTC | Re-add removed comment | 30 April 2018, 19:52:20 UTC |
abbbf9c | phoebe jenkins | 30 April 2018, 19:51:53 UTC | Remove unnecessary parens | 30 April 2018, 19:51:53 UTC |
7d1bee2 | phoebe jenkins | 30 April 2018, 19:51:40 UTC | Fix typo | 30 April 2018, 19:51:40 UTC |
2b321c6 | phoebe jenkins | 30 April 2018, 16:35:35 UTC | Fix encoding issue during IPC | 30 April 2018, 16:35:35 UTC |
7b34393 | phoebe jenkins | 30 April 2018, 16:33:39 UTC | Re-add number that was accidentally deleted | 30 April 2018, 16:33:39 UTC |
76bb805 | phoebe jenkins | 30 April 2018, 16:33:11 UTC | Remove unnecessary loop | 30 April 2018, 16:33:11 UTC |
119cd0f | phoebe jenkins | 30 April 2018, 14:17:54 UTC | Remove duplicated function | 30 April 2018, 14:17:54 UTC |
de51f3b | phoebe jenkins | 30 April 2018, 14:17:40 UTC | Remove unnecessary codec | 30 April 2018, 14:17:40 UTC |
18a74b5 | phoebe jenkins | 30 April 2018, 14:17:23 UTC | Update example | 30 April 2018, 14:17:23 UTC |
ab2ce00 | phoebe jenkins | 30 April 2018, 14:17:07 UTC | Fix accidental revert | 30 April 2018, 14:17:07 UTC |
b992961 | phoebe jenkins | 30 April 2018, 14:16:47 UTC | Solver output should be treated as text | 30 April 2018, 14:16:47 UTC |
1c91c9d | phoebe jenkins | 24 April 2018, 19:53:25 UTC | Fix indentation | 24 April 2018, 19:53:25 UTC |
6ceeb03 | phoebe jenkins | 24 April 2018, 19:22:34 UTC | Fix up API and documentation for some load/save stream calls | 24 April 2018, 19:22:34 UTC |
9307475 | Arun John Kuruvilla | 24 April 2018, 16:36:06 UTC | Raises exception for Solidity compiler not installed. Issue #867 (#877) | 24 April 2018, 16:36:06 UTC |
6634cac | phoebe jenkins | 24 April 2018, 15:39:35 UTC | Standardize binary flags on filesystem operations | 24 April 2018, 15:39:35 UTC |
3285a45 | phoebe jenkins | 24 April 2018, 14:51:19 UTC | Make output of type in exception cleaner | 24 April 2018, 14:51:19 UTC |
7757e71 | phoebe jenkins | 24 April 2018, 14:46:53 UTC | Comment assertItemsEqual implementations | 24 April 2018, 14:46:53 UTC |
42375b8 | phoebe jenkins | 24 April 2018, 14:41:52 UTC | libfuture newbytes doesn't have .hex() method | 24 April 2018, 14:41:52 UTC |
1b9f620 | phoebe jenkins | 24 April 2018, 14:41:18 UTC | libfuture bytes() doesn't like iterators | 24 April 2018, 14:41:18 UTC |
fb3c01f | Catena cyber | 24 April 2018, 10:32:18 UTC | Sign extends x86 AND operand (capstone bug) (#852) * Sign extends x86 AND operand (capstone bug) Fixes #560 * Regression test for X86 AND with sign extension For issue #560 | 24 April 2018, 10:32:18 UTC |
4a98110 | Daniel James | 20 April 2018, 15:05:04 UTC | Support Solidity compilation of a file handle (#873) This preserves the current behavior of using a string value as Solidity source code, but now also supports instances of the `file` type, and will use the `name` property of the file object to pass to the subprocess invocation of solc. This implementation also now ensures resource cleanup for the stdout and stderr pipe handles. Make use of compiling via file handles in multi_tx_analysis This will enable import statements in Solidity code to work for the Manticore CLI out of the box Note, Manticore still wants the source code, so if we compiled using a file handle, rather than a source string, we need to read in the source fixes #705 | 20 April 2018, 15:05:04 UTC |
232e8a0 | phoebe jenkins | 19 April 2018, 20:51:53 UTC | Remove debug output from travis_test | 19 April 2018, 20:51:53 UTC |
eb34630 | phoebe jenkins | 19 April 2018, 20:27:14 UTC | Quote wildcard expansion | 19 April 2018, 20:27:14 UTC |
3203c26 | phoebe jenkins | 19 April 2018, 19:37:34 UTC | Add more debugging output | 19 April 2018, 19:37:34 UTC |
b31a1f0 | phoebe jenkins | 19 April 2018, 18:44:58 UTC | Add some debug output to travis_test | 19 April 2018, 18:44:58 UTC |
1d24d22 | phoebe jenkins | 19 April 2018, 17:26:17 UTC | Revert changes to logger calls | 19 April 2018, 17:26:17 UTC |
fb8e9c9 | phoebe jenkins | 19 April 2018, 17:06:29 UTC | Revert changes to logger calls | 19 April 2018, 17:06:29 UTC |
d5645d9 | phoebe jenkins | 19 April 2018, 17:02:02 UTC | Revert changes to logger calls | 19 April 2018, 17:02:02 UTC |
e6a78a5 | phoebe jenkins | 19 April 2018, 16:53:02 UTC | Revert changes to logger calls | 19 April 2018, 16:53:02 UTC |
7e48ae8 | phoebe jenkins | 19 April 2018, 16:51:32 UTC | Revert changes to logger calls | 19 April 2018, 16:51:32 UTC |
05977a7 | phoebe jenkins | 19 April 2018, 16:48:36 UTC | Revert changes to logger calls | 19 April 2018, 16:48:36 UTC |
54a5f95 | phoebe jenkins | 19 April 2018, 15:59:41 UTC | Remove redundant import | 19 April 2018, 15:59:41 UTC |
2e19bc9 | phoebe jenkins | 19 April 2018, 15:59:27 UTC | Replace variable names | 19 April 2018, 15:59:27 UTC |
9f28638 | phoebe jenkins | 19 April 2018, 15:59:06 UTC | Remove redundant variable | 19 April 2018, 15:59:06 UTC |
23dc21c | phoebe jenkins | 19 April 2018, 15:58:41 UTC | Fix typo in docstring | 19 April 2018, 15:58:41 UTC |
a13f2b8 | phoebe jenkins | 19 April 2018, 15:58:26 UTC | without_metadata -> remove_metadata | 19 April 2018, 15:58:26 UTC |
af3a8e4 | phoebe jenkins | 19 April 2018, 15:57:07 UTC | Make travis fail jobs for inadequate coverage | 19 April 2018, 15:57:07 UTC |
b95288f | phoebe jenkins | 18 April 2018, 22:26:49 UTC | Remove mysterious typo | 18 April 2018, 22:26:49 UTC |
08fe3ae | phoebe jenkins | 18 April 2018, 22:04:37 UTC | Fix literal { | 18 April 2018, 22:04:37 UTC |
f58c1ad | phoebe jenkins | 18 April 2018, 21:51:44 UTC | Specify pip version in .travis.yml | 18 April 2018, 21:51:44 UTC |
c2a3a24 | phoebe jenkins | 18 April 2018, 21:33:42 UTC | Fix format string code | 18 April 2018, 21:33:42 UTC |
cf2688d | phoebe jenkins | 18 April 2018, 21:28:29 UTC | Fix encoding issues | 18 April 2018, 21:28:29 UTC |
39676ab | phoebe jenkins | 18 April 2018, 20:58:23 UTC | Fix formatting typo | 18 April 2018, 20:58:23 UTC |
ab7b0a7 | phoebe jenkins | 18 April 2018, 20:57:58 UTC | Don't hand a generator to bytes() | 18 April 2018, 20:57:58 UTC |
16d02a1 | phoebe jenkins | 18 April 2018, 18:07:52 UTC | Update string formatting | 18 April 2018, 18:07:52 UTC |
92cfab3 | feliam | 17 April 2018, 21:58:58 UTC | Fix check of solc metadata tail (#848) * Fix check of solc metasata tail * Remove debug print * fix metadat tail removal * Yet another loose end - fixed * Better version parsing and review fixes * Remove debug print * pep8 | 17 April 2018, 21:58:58 UTC |
f02fb97 | phoebe jenkins | 17 April 2018, 21:43:09 UTC | Update string formatting | 17 April 2018, 21:43:09 UTC |
71bf5d4 | Pierre Pronchery | 17 April 2018, 21:25:40 UTC | Remove assertion on brk() (#860) Manticore assumed that new calls to brk(2) were always increasing the size of the data segment. This is not always true, since programs may decide to reduce it as well. Tested with a static Linux/i386 program on macOS/amd64. (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/mm/mmap.c?h=v4.17-rc1#n226) | 17 April 2018, 21:25:40 UTC |
0022c0f | phoebe jenkins | 17 April 2018, 20:21:35 UTC | Update string formatting | 17 April 2018, 20:21:35 UTC |
2fa336d | phoebe jenkins | 17 April 2018, 18:45:53 UTC | Update string formatting | 17 April 2018, 18:45:53 UTC |
96cada4 | phoebe jenkins | 17 April 2018, 17:13:47 UTC | Update string formatting | 17 April 2018, 17:13:47 UTC |
a9e3556 | phoebe jenkins | 17 April 2018, 15:44:36 UTC | Update string formatting | 17 April 2018, 15:44:36 UTC |
162e0cf | phoebe jenkins | 17 April 2018, 14:27:37 UTC | Update string formatting | 17 April 2018, 14:27:37 UTC |
2814723 | Daniel James | 17 April 2018, 00:44:29 UTC | Support ABI parsing of specs that use function types (#874) See http://solidity.readthedocs.io/en/v0.4.21/types.html#function-types This is a special case of `bytes24`, 24 bytes are right zero padded in a 32 byte word. | 17 April 2018, 00:44:29 UTC |
a45cc39 | phoebe jenkins | 16 April 2018, 16:51:59 UTC | Re-add removed import | 16 April 2018, 16:51:59 UTC |
d5a9efe | phoebe jenkins | 16 April 2018, 16:51:50 UTC | Update string formatting | 16 April 2018, 16:51:50 UTC |
bfffa78 | Daniel James | 13 April 2018, 20:32:17 UTC | Fix Issue #869 (#872) * Add testcase for empty types bug * Fix Issue 869 Bug introduced in https://github.com/trailofbits/manticore/commit/0fc4bba9ad8ef61f9e1f23bc6d0a88b7a05aa385#diff-6cf4568b5e8712514d226faa04e417fbR450 - Move empty string up to the beginning of the if-else chain. - Correct test for bool type case fixes #869 | 13 April 2018, 20:32:17 UTC |
7476841 | phoebe jenkins | 13 April 2018, 17:58:21 UTC | Replace isstring where isunicode was intended | 13 April 2018, 17:58:21 UTC |
efa2bc4 | phoebe jenkins | 13 April 2018, 17:57:13 UTC | Fix typo | 13 April 2018, 17:57:13 UTC |