66df447 | phoebe jenkins | 29 March 2018, 22:06:18 UTC | Fix remaining broken instances of assertItemsEqual | 29 March 2018, 22:06:18 UTC |
c28114c | phoebe jenkins | 29 March 2018, 19:37:42 UTC | Stop repeatedly appending to a string | 29 March 2018, 20:47:22 UTC |
c9249c4 | yan | 29 March 2018, 20:03:13 UTC | str->bytes | 29 March 2018, 20:03:13 UTC |
eb175e1 | yan | 29 March 2018, 20:03:04 UTC | Dont need __del__ in lazy wrapper | 29 March 2018, 20:03:04 UTC |
0e4adaf | yan | 29 March 2018, 20:02:40 UTC | py3 doesnt capture enclosing scope and py2 doesnt have nonlocal | 29 March 2018, 20:02:40 UTC |
b98a0cf | yan | 29 March 2018, 20:01:40 UTC | str->unicode | 29 March 2018, 20:02:10 UTC |
321d88d | yan | 29 March 2018, 19:48:06 UTC | str/bytes issues | 29 March 2018, 19:48:06 UTC |
1f79ad6 | yan | 29 March 2018, 19:47:12 UTC | Update how workspace writes strings | 29 March 2018, 19:47:12 UTC |
ff63274 | yan | 29 March 2018, 19:46:29 UTC | Update executor logging | 29 March 2018, 19:46:29 UTC |
92bf189 | yan | 29 March 2018, 16:21:42 UTC | Add test portability to pcmxstrx tests | 29 March 2018, 16:21:42 UTC |
6a63360 | yan | 29 March 2018, 15:42:36 UTC | Update LazyZ3Solver.__del__ | 29 March 2018, 15:42:36 UTC |
a39aae2 | yan | 29 March 2018, 15:36:45 UTC | minor py3 updates | 29 March 2018, 15:36:45 UTC |
caafa25 | yan | 29 March 2018, 15:35:08 UTC | Make some x86 tests py3 compatible | 29 March 2018, 15:35:08 UTC |
18ab1a7 | yan | 29 March 2018, 15:34:50 UTC | Add a lazy z3 wrapper | 29 March 2018, 15:34:50 UTC |
c10f278 | yan | 29 March 2018, 14:59:23 UTC | Make sure we don't initialize a SyncManager in file scope | 29 March 2018, 14:59:23 UTC |
49b4741 | yan | 29 March 2018, 03:11:52 UTC | make data default param bytes | 29 March 2018, 03:11:52 UTC |
361cf9b | yan | 29 March 2018, 03:11:33 UTC | encode solc src if not bytes | 29 March 2018, 03:11:33 UTC |
71cb982 | yan | 28 March 2018, 22:44:29 UTC | memory tests finally passing on py2 and py3 | 28 March 2018, 22:44:29 UTC |
6762995 | yan | 27 March 2018, 18:01:58 UTC | Update generated tests to bytes() for memory read tests | 27 March 2018, 18:01:58 UTC |
f7e97cf | yan | 27 March 2018, 17:31:14 UTC | Bring in the reset dev-rm-slow-solver-code | 27 March 2018, 17:31:14 UTC |
ae3b96d | yan | 27 March 2018, 17:24:37 UTC | py3 bytes handling + util updates | 27 March 2018, 17:24:37 UTC |
0c8189d | yan | 27 March 2018, 17:15:30 UTC | lock condition before notifying | 27 March 2018, 17:15:30 UTC |
fd2c7cf | yan | 27 March 2018, 17:15:14 UTC | Use relative imports | 27 March 2018, 17:15:14 UTC |
054e6f3 | yan | 26 March 2018, 20:01:42 UTC | Update gen script to produce valid bytecode | 26 March 2018, 20:01:42 UTC |
2501ab6 | yan | 26 March 2018, 20:01:28 UTC | Make EVM operate on bytes | 26 March 2018, 20:01:28 UTC |
20df66f | yan | 26 March 2018, 20:01:08 UTC | Update all tests to provide bytes for bytecode | 26 March 2018, 20:01:08 UTC |
47c0548 | Mark Mossberg | 23 March 2018, 21:18:46 UTC | Make Store.load_stream prototype match This fixes bug where non FilesystemStore Stores were broken. | 23 March 2018, 21:18:46 UTC |
74f350d | Mark Mossberg | 23 March 2018, 19:59:26 UTC | Open subproc in line buffered text mode (#836) * Open subproc in line buffered text mode * Make EventsGatherMetaclass more agnostic to inheritance chain * Revert "Make EventsGatherMetaclass more agnostic to inheritance chain" This reverts commit d604c01703ace82b8fb1d6f5cef44191d1905bec. | 23 March 2018, 19:59:26 UTC |
0837044 | Mark Mossberg | 22 March 2018, 21:51:48 UTC | Explicitly override __hash__ to use object.__hash__ (#835) In python3 there are changes to how you are supposed to handle overrides of __eq__, as it relates to __hash__ (http://python3porting.com/preparing.html?highlight=hash#implementing-hash) In python2 we changed __eq__, but did nothing for __hash__, so __hash__ kept using the default one provided by object. In python3 it automatically sets __hash__ to None, so we need to explicitly emulate this. | 22 March 2018, 21:51:48 UTC |
c79a35f | phoebe jenkins | 19 March 2018, 21:15:04 UTC | Fix a number of subtle encoding issues | 19 March 2018, 21:15:04 UTC |
a5c2c78 | phoebe jenkins | 19 March 2018, 21:12:23 UTC | Avoid comparison with None type | 19 March 2018, 21:12:23 UTC |
6edd62a | phoebe jenkins | 19 March 2018, 19:16:56 UTC | Replace calls to file() | 19 March 2018, 19:16:56 UTC |
9bb3dd2 | phoebe jenkins | 19 March 2018, 15:34:25 UTC | Replace depricated function assertItemsEqual | 19 March 2018, 15:34:25 UTC |
e8ec539 | phoebe jenkins | 19 March 2018, 15:04:43 UTC | Merge branch 'master' into python3 | 19 March 2018, 15:04:43 UTC |
fce9957 | phoebe jenkins | 16 March 2018, 21:37:20 UTC | Temporary hack for preventing infinite loops on amd class instantiation | 16 March 2018, 21:37:20 UTC |
8cd5f7d | phoebe jenkins | 16 March 2018, 21:34:42 UTC | Pad with bytes | 16 March 2018, 21:34:42 UTC |
3dde2b9 | phoebe jenkins | 16 March 2018, 19:43:07 UTC | Fix tiny whitespace issue nose complains about | 16 March 2018, 19:43:07 UTC |
26e9914 | phoebe jenkins | 16 March 2018, 19:42:21 UTC | Use python3 compatible hex decoding | 16 March 2018, 19:42:21 UTC |
a982982 | phoebe jenkins | 16 March 2018, 19:34:24 UTC | Replace operator.__div__ call | 16 March 2018, 19:34:24 UTC |
a21c8b6 | Mark Mossberg | 16 March 2018, 17:32:32 UTC | Improve evm docs (#816) * Add docstr for finalize * prune unnecessary stuff from docs * Add trace file * Revert "Add trace file" 4687810e15c2bc6cc3e729c32bdad2f617679d77 | 16 March 2018, 17:32:32 UTC |
e32124e | phoebe jenkins | 16 March 2018, 16:59:55 UTC | Fix series of hex encoding issues | 16 March 2018, 16:59:55 UTC |
eaa0e52 | Mark Mossberg | 15 March 2018, 20:41:29 UTC | Fix off by 1 error in codecopy (#812) * Fix off by 1 in codecopy * Add regression test * Improve formatting | 15 March 2018, 20:41:29 UTC |
fb3938b | Arun John Kuruvilla | 15 March 2018, 20:31:18 UTC | Raises exception for contract with a function without code. Issue #789 (#797) | 15 March 2018, 20:31:18 UTC |
3ab8c43 | phoebe jenkins | 15 March 2018, 15:58:50 UTC | Add missing int import | 15 March 2018, 15:58:50 UTC |
8f76048 | phoebe jenkins | 15 March 2018, 15:57:48 UTC | Revert iterpickle.py | 15 March 2018, 15:57:48 UTC |
f11687e | phoebe jenkins | 15 March 2018, 15:57:19 UTC | Add pickling capabilities for Create | 15 March 2018, 15:57:19 UTC |
cf789a4 | Yan Ivnitskiy | 14 March 2018, 20:45:12 UTC | Introduce concretized_args decorator (#803) * Introduce concretized_args decorator * Add docs * Cleanup * Add basic expression counter * Please codeclimate * pep8 * update docstring * Use default concretization policy when not provided * Add concretizer tests | 14 March 2018, 20:45:12 UTC |
e27ce05 | phoebe jenkins | 12 March 2018, 20:39:23 UTC | Fix method name typo. | 12 March 2018, 20:39:23 UTC |
33dc128 | phoebe jenkins | 12 March 2018, 19:58:15 UTC | Stop importing object from libfuture | 12 March 2018, 19:58:15 UTC |
61babdb | Yan Ivnitskiy | 12 March 2018, 19:27:18 UTC | Fix evm RETURN implementation (#808) * Fix write_buffer issue (#807) * Add test for write_buffer fix * Use Operators.ORD instead of ord (even though were assuming concrete vals) * Cleanup | 12 March 2018, 19:27:18 UTC |
bb4a796 | Dan Guido | 12 March 2018, 18:40:06 UTC | Add codeclimate, tox, and pycodestyle configs (#772) * pep8 autopep8 -r -i -a -a manticore * tox for testing py3k * minimal codeclimate * Add correct Code Climate ID * unignore max line endings since it's set to 160 * more badges * turn off pep8 in code climate * need to remove for codeclimate to work right * re-enable most checks with looser thresholds * remove unused imports autoflake --in-place -r manticore * revert the autoflakes changes * set tox to only py27 for now * cache is hardcoded to python 2.7.13 * Comment cleanup * Try autoflake again * Add dev environment dependency management to tox.ini * Remove count/statistics options from tox.ini Per Dan, these crash pep8 analysis on codeclimate at present * Revert setstate initialization * Re-introduce explicit compare for flags * add back structural comment * rm unneeeded ` as e` * bump py tox | 12 March 2018, 18:40:06 UTC |
dc9ede6 | phoebe jenkins | 12 March 2018, 17:52:54 UTC | Resolve encoding issues in workspace summaries | 12 March 2018, 17:52:54 UTC |
af41937 | phoebe jenkins | 12 March 2018, 17:18:15 UTC | Ensure values are ints before writing to memory | 12 March 2018, 17:18:15 UTC |
dca5260 | phoebe jenkins | 12 March 2018, 17:00:14 UTC | Fix typo | 12 March 2018, 17:00:14 UTC |
3588283 | phoebe jenkins | 12 March 2018, 16:33:48 UTC | Resolve subtle division issue | 12 March 2018, 16:33:48 UTC |
fceb48c | Yan Ivnitskiy | 12 March 2018, 16:19:38 UTC | Update Create (evm exception) arguments (#805) * Update Create arguments * Add integration test * Dial back the procs | 12 March 2018, 16:19:38 UTC |
c9fe346 | phoebe jenkins | 12 March 2018, 15:40:08 UTC | Make certain memory functions agnostic to string types | 12 March 2018, 15:40:08 UTC |
972ac53 | phoebe jenkins | 09 March 2018, 20:37:16 UTC | Resolve most obvious bytestring/unicode confusion issues | 09 March 2018, 20:37:16 UTC |
474aa4f | phoebe jenkins | 07 March 2018, 20:22:56 UTC | Add preliminary python3 compatibility to Manticore core This is the results of running stage1 and stage2 passes on manticore binary and core directories, with the necessary fixes to get tests/test_manticore.py passing. Still needs attention paid to remaining tests in suite and artifact cleanup. | 07 March 2018, 20:22:56 UTC |
fbf0823 | ggrieco-tob | 07 March 2018, 17:57:59 UTC | Very quick fix to avoid STOP instructions to return random values (#792) | 07 March 2018, 17:57:59 UTC |
f4118f4 | ggrieco-tob | 06 March 2018, 21:35:19 UTC | Added a function to generate evm testcases without using callbacks (#791) * Added a function to generate evm testcases without using callbacks Possible fix for #782 * The 'message' parameter in generate_testcase should be optional Requested by @montyly | 06 March 2018, 21:35:19 UTC |
fe2538f | Disconnect3d | 05 March 2018, 23:42:48 UTC | Add docstring for ARM's operand.is_shifted (#788) So that people don't have to google that by themselves! lolo | 05 March 2018, 23:42:48 UTC |
be67c02 | phoebe jenkins | 05 March 2018, 18:29:35 UTC | Use BytesIO due to Python3 string types | 05 March 2018, 18:29:35 UTC |
754a8d8 | phoebe jenkins | 05 March 2018, 18:20:51 UTC | Futurize manticore/binary | 05 March 2018, 18:20:51 UTC |
1bd18e5 | phoebe jenkins | 05 March 2018, 18:09:51 UTC | Clean up imports in test suite | 05 March 2018, 18:09:51 UTC |
25c6604 | phoebe jenkins | 05 March 2018, 17:03:27 UTC | Clean up artifacts from futurize stage 2 | 05 March 2018, 17:03:27 UTC |
7565877 | phoebe jenkins | 02 March 2018, 22:31:39 UTC | Remove a call to old_div | 02 March 2018, 22:31:39 UTC |
3b685e9 | phoebe jenkins | 02 March 2018, 22:30:19 UTC | Fix up futurize stage2 artifacts on Manticore base code | 02 March 2018, 22:30:19 UTC |
328b623 | Disconnect3d | 02 March 2018, 20:55:13 UTC | Change assertion->exception and add msg when target file is not present (#778) | 02 March 2018, 20:55:13 UTC |
7349a0b | Feist Josselin | 02 March 2018, 20:52:56 UTC | Fix out-of-bound index in EVMWorld._process_pending_transaction (#786) | 02 March 2018, 20:52:56 UTC |
fb93b53 | phoebe jenkins | 02 March 2018, 20:28:50 UTC | Integrate stage-2 changes for manticore base code | 02 March 2018, 20:28:50 UTC |
03ecb3f | Mark Mossberg | 01 March 2018, 23:48:10 UTC | Fix cli --data parameter (#781) * Actually use args.data * Update decree | 01 March 2018, 23:48:10 UTC |
17e9098 | Arun John Kuruvilla | 01 March 2018, 23:27:52 UTC | Used a namedtuple for pending transaction. Issue #689 (#775) * Used a namedtuple for pending transaction. Issue #689 * Changed field names in namedtuple. Issue #689 | 01 March 2018, 23:27:52 UTC |
9b75a1f | Disconnect3d | 01 March 2018, 23:24:27 UTC | Unicorn emulator: get uc_arch & uc_mode values just once (#779) | 01 March 2018, 23:24:27 UTC |
20cb97f | Disconnect3d | 01 March 2018, 18:40:51 UTC | Fix Cpu.execute's improper reporting of `Unimplemented instruction` (#777) When particular instruction's implementation raised an `AttributeError` it was catched by `Cpu.execute` and we just saw "oh this instruction is not implemented" while it was, but its implementation was broken. | 01 March 2018, 18:40:51 UTC |
de6b939 | phoebe jenkins | 01 March 2018, 15:28:45 UTC | Integrate stage-2 changes for test generation This does not cover tests generated by the test generation, which will likely require some work | 01 March 2018, 15:28:45 UTC |
48f88be | feliam | 28 February 2018, 23:11:54 UTC | Dev fix solver getvalue (#739) * Increment default gas * Do not solve concrete values * Do not solve concrete values * Do not solve concrete values * Remove comment * Make solver get_value return concrete values untouched - wip * Handle solver.get_value integers * fix reporting * Make solver.get_value return the expression untouched when concrete * Remove hack; we know `c` can't be an int type * Revert "Remove hack; we know `c` can't be an int type" 0849094525d7e4cea0295d4be13552dea9c8ad72 * Fix cli --data argument Previously, it was being ignored :/ * Fix linux output generation solve.get_value returns back an int, if it concretized the sym var * Revert "Fix cli --data argument" 2ee740acb20a9d393e1a7984d7ec0e0fe64dbfaf | 28 February 2018, 23:11:54 UTC |
db30209 | phoebe jenkins | 28 February 2018, 22:49:09 UTC | Integrate stage-2 changes for basic test suite tests This is just one file | 28 February 2018, 22:49:09 UTC |
d51ed2b | phoebe jenkins | 28 February 2018, 22:39:11 UTC | Integrate stage-2 changes for basic test suite tests | 28 February 2018, 22:39:11 UTC |
9a7f7aa | phoebe jenkins | 28 February 2018, 22:38:15 UTC | Add 'future' dependency for Python 2.7 support | 28 February 2018, 22:38:15 UTC |
8c32373 | phoebe jenkins | 28 February 2018, 19:15:18 UTC | Add dev environment dependency management to tox.ini Conflicts: tox.ini | 28 February 2018, 21:21:00 UTC |
5273034 | phoebe jenkins | 28 February 2018, 19:03:32 UTC | Integrate futurize phase-1 changes | 28 February 2018, 19:03:32 UTC |
44a0340 | Dan Guido | 24 February 2018, 15:15:29 UTC | tox for testing py3k | 28 February 2018, 15:15:51 UTC |
470b479 | phoebe jenkins | 27 February 2018, 21:57:55 UTC | Specify 2.7 as Python target version | 27 February 2018, 21:57:55 UTC |
39370cc | Pierre Pronchery | 27 February 2018, 17:33:25 UTC | Let the Python interpreter be specified externally (#774) | 27 February 2018, 17:33:25 UTC |
461da57 | feliam | 27 February 2018, 00:09:34 UTC | Array value configurable. 8,16,32..256 bits (not prefixed to 8) (#732) * 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 * Fix tests * Review fixes * review fix * fix gas variable * Review fixes * Fix vm.gas access | 27 February 2018, 00:09:34 UTC |
a3ee31e | Yan Ivnitskiy | 23 February 2018, 23:31:31 UTC | Manticore 0.1.7 Release (#764) | 23 February 2018, 23:31:31 UTC |
394401e | Yan Ivnitskiy | 23 February 2018, 23:07:49 UTC | Fix ARMv7's ADD (#769) * Fix armv7's ADD | 23 February 2018, 23:07:49 UTC |
b9aa483 | Mark Mossberg | 23 February 2018, 20:42:15 UTC | evm: Fix MUL overflow false positive (#767) * initial * Add test for mul checker * clean * Rename and clean * Rm testing * Better comment, and clean * Split tests, add more tests * Clean up stuff, remove unnecessary masking * fmt * Add back constrain to make it match the originall buggy situation * Clean up surrounding code, make it unit testable * Correct name * Use individual arguments for helpers | 23 February 2018, 20:42:15 UTC |
3f1c51f | Mark Mossberg | 23 February 2018, 16:13:55 UTC | Improve solc error output (#765) * Improve err handling when there's a solc error, print the error * Fix bug, don't merge stdout/err * Simplify * Add more space | 23 February 2018, 16:13:55 UTC |
d0f69c7 | Mark Mossberg | 22 February 2018, 21:04:01 UTC | Add ethereum regression tests (#763) * Clean some unused variables * Add basic infrastructure * Add real eth regression tests * Use check_call * Suppress stdout * Make 705 work * Less error prone way of testing | 22 February 2018, 21:04:01 UTC |
8e47a6e | Jean Jordaan | 22 February 2018, 13:17:49 UTC | Drive-by typo correction ;-) (#762) | 22 February 2018, 13:17:49 UTC |
ebe0baa | Mark Mossberg | 20 February 2018, 20:10:29 UTC | Emit events for exception raising evm instructions (#722) * Create EVMInstructionException, properly emit did_evm_execute_instruction for insns that trap to the platform * Emit event before execution of platform handlers. This is because many of the platform handles actually destroy the cpu (platform.current) via pop_vm. Clients that receive the event may want to access the cpu though, for example to see the current PC. so we emit the event right before, so they can do this * simplify * move closure below result decl * Add comment to explain * Fix typo * Revert back to pythonic style It was this way to test emitting the did execute signal here, rather than in the evm cpu * Remove inline function definition from critical path * Add test for events for exception instructions | 20 February 2018, 20:10:29 UTC |
9f0d25c | Mark Mossberg | 20 February 2018, 12:57:07 UTC | Fix evm state handling regression (#741) * Revert breaking change * Add assertion to verify states being queued | 20 February 2018, 12:57:07 UTC |
105a7d3 | Disconnect3d | 20 February 2018, 01:48:26 UTC | Speedup x86 execution by caching AMD64RegFile.all_registers (#755) * Cache `all_registers` for AMD64RegFile | 20 February 2018, 01:48:26 UTC |
680fc8f | Disconnect3d | 17 February 2018, 16:51:58 UTC | Armv7 code refactor (#749) * Armv7 code refactor Removes dead imports, makes code style more consistent and a bit more compliant with pep8 (yeah i seems we don't enforce any particular style, but this seems to be a reasonable default for me). * Review fix: add comment for armv7 _shift | 17 February 2018, 16:51:58 UTC |
c6f457d | Garret Reece | 15 February 2018, 20:47:36 UTC | Updates for thumb mode (#610) * WIP. issues with setting PC correctly via POP are corrected. issues with pc relative addressing in thumb mode corrected. Still a memory access error, but getting there * WIP - PC relative addressing in thumb mode now aligns the value for PC per the spec before applying offset * General thumb mode fixes: * ldr pc, <operand> now swaps modes and sets pc correctly * the bl instruction sets the lr appropriately for the current mode * the two operand forms of the ORR, EOR, and BIC instructions now exist * tests added for these updates * comment cleanup * WIP :more thumb mode instructions, a special case for the sys_brk handled, and a really ugly solution to an internal plumbing problem * First attempt at concretizing ARM mode * Handle symbolic mode for ARMv7 * Clean up imports * Make comment more accurate and use instruction.size * Collapse _Shift and _Shift_thumb * Make ARM mode handling more Pythonic * Improve comment on arm shift register handling and capstone behavior | 15 February 2018, 20:47:36 UTC |
fca3179 | Srinivas P G | 14 February 2018, 21:52:54 UTC | System calls addition - sys_getrandom and sys_openat (#640) * version argument in manticore * Fix 591 - Exception Handler * Issue 597 - Remove the unused policy argument * getrandom system call - Initial commit * openat system call initial commit * getrandom system call fixes * openat and getrandom system call * Update sys_getrandom * Make BadFd more generic as FdError * Resolve mode inside File * Support opening directory with open(2) * Fix fd leak * add sys_openat tests | 14 February 2018, 21:52:54 UTC |
843a4f3 | feliam | 14 February 2018, 21:28:50 UTC | Fix finalize (#738) * fix finalize * Document the state id -1 | 14 February 2018, 21:28:50 UTC |
2f2de29 | feliam | 14 February 2018, 20:13:40 UTC | Better plugin context management. (#730) * Better plugin context management. Example UseDef logging plugin for evm * Example plugin to log use-def * Better plugin name checking hints * Better plugin name checking hints2 * Fix uninititalize-plugins (found via the warning) * Remove redundant variables in example * Typo * Better warning print (class name) * better safety check + context fix * better variabke naming * Update manticore.py | 14 February 2018, 20:13:40 UTC |