https://github.com/trailofbits/manticore

sort by:
Revision Author Date Message Commit Date
71784eb Be mega forgiving on global expression usage - EVM 31 July 2018, 02:23:35 UTC
442ad0b Yolo dev evm fix address concretization (#1002) * DAO detector + bugfixes * The actual benchmark tests * The actual benchmark tests * CC * Experiment reporting the finding at a JUMPI * Fix taint. Detect returned overflowded data * DAO -> Reentrancy * DAO -> reentrancy, C -> Benchmark * DAO -> reentrancy, C -> Benchmark * Allow function names to have numbers * Fix contract names in benchmark * Fix contract names in benchmark * Move default plugin registration * Better regexp * Fix minimal_bytecode example * Fix Array Slice and test * add tests * correct other bug * implement bytesM * BROKEN partial progress * need bytearray here * rm cmt * add basic tests for bytesM and bytes symbolic * correct bytes symbolic test * Refactor, clean bytesM handling * Add initial symbolic 'bytes' handling * refactor tests * Unify symbolic/concrete bytes handling in bytesM/bytes * Rm import * Rm debug assert * cc * Visitor/migrate/simplify fixes to make the seth refactor pass * Fix concolic? * Fix concolic? * CC * bytesM fix * Fix address and caller concretization on symb tx * Fix account policy refactor * CC 27 July 2018, 22:21:36 UTC
0b60f9a rm make_evm (#978) 27 July 2018, 21:32:10 UTC
f32db4b Experiment reporting the finding at a JUMPI (#949) * Experiment reporting the finding at a JUMPI * Fix taint. Detect returned overflowded data * Fix contract names in benchmark * Move default plugin registration * merge 27 July 2018, 21:31:33 UTC
e18016a py3 yolo_master (feature / bugfixes) (#994) * DAO detector + bugfixes * The actual benchmark tests * The actual benchmark tests * CC * Experiment reporting the finding at a JUMPI * Fix taint. Detect returned overflowded data * DAO -> Reentrancy * DAO -> reentrancy, C -> Benchmark * DAO -> reentrancy, C -> Benchmark * Allow function names to have numbers * Fix contract names in benchmark * Fix contract names in benchmark * Move default plugin registration * Better regexp * Fix minimal_bytecode example * Fix Array Slice and test * add tests * correct other bug * implement bytesM * BROKEN partial progress * need bytearray here * rm cmt * add basic tests for bytesM and bytes symbolic * correct bytes symbolic test * Refactor, clean bytesM handling * Add initial symbolic 'bytes' handling * refactor tests * Unify symbolic/concrete bytes handling in bytesM/bytes * Rm import * Rm debug assert * cc * Visitor/migrate/simplify fixes to make the seth refactor pass * Fix concolic? * Fix concolic? * CC * bytesM fix * Fix address and caller concretization on symb tx * Fix/refactor symbolic address/caller concretization * Fix caller concretization * Fix expression visiting * Fix account policy refactor * Accept numbers in function names abitypes * Simplify installation instructions to recommend install manticore only for the current user * Run some tests in parallel (#970) This PR splits the current test runner into three environments: 1. Linux examples 2. Ethereum tests 3. Remaining tests to faster complete each testing run. Ethereum tests include a number of integration tests that execute scripts to completion, which takes a while. We run them concurrently with other tests to save on execution time. The split is done by naming Ethereum tests differently (`eth_*.py` vs `test_*.py`) and updating what pattern unittest's `discover` uses. This change also updates the installation script and chooses to forego installing Keystone for EVM tests as it takes a while, and it adds a `setup.cfg` config file so that Nose finds the eth tests as well by default. * Be less verbose when testing * Fix slicing wrongly reference to proxyArray. Fix #912 * Only export human/external tx in the testcase (#972) * Make ManticoreEVM.make_symbolic_value size adjustable (#974) * Make size adjustable * Default to 256 * Dev evm yolo fix gas (#975) * Fix gas stipend on CALL and check dao * Add order dependence 1 * missing files * 985 * formatting fixes; codeclimate * review changes 27 July 2018, 18:12:09 UTC
664e53b Python 3 (#968) * Initial commit for Python3 branch that targets porting the following; * Core manticore functionality * x86/x64/arm architectures * linux platform * functioning unit tests for the above * WIP ethereum support notes: * eth unit tests passing * decree disabled * ManticoreEVM.__init__ procs=1 * no iterpickle; see eth tests for setting stack size/recursion * EVMAccount; add __hash__ remove redefinition of __eq__ port/update EVM examples * update stacksize / recursion limit * pyevmasm dep updates, port linux examples * update docs, tox/travis configs, port missing x86 unit test * disable decree tests * update example, update pyevmasm dep_links * disable testArgumentsAssertions to speed up tests * py35/36 json.loads compat fix * fix summary output encoding * disable eth binary test 808 * PEP479 - Python 3.7 support * travisci; fix code coverage reporting * port decree and tests * codeclimate * review changes; * cleanup * reset version * remove EVMAccount.__hash__, fix EVMWorld.get_balance() * switch to official pyevmasm * z3 version check - py3.5 fix * pyevmasm; remove version requirement * review changes; * remove redundant locking * shutdown executor manager on deletion * review changes; * cleanup PY3FIX comments * _run_solc version ascii to utf encoding * save_summary - use filter instead of comprehension * comments * __get_related - set literal mistake * review changes; * remove redundant [] * cleanup unused code, params, vars, imports * additional comments * review changes; * fix symbolic const instruction decoding and add unit test * misc cleanup * fix verbose logging output * Update manticore defaults / requirements; * Changes docs for 18.04 * Python >= 3.6 * minor review changes * minor review changes, codeclimate 25 July 2018, 14:10:44 UTC
61270a2 Merge pull request #958 from trailofbits/dev-query-blockhash Moved block hash calculation to EVMWorld and genericized it 29 June 2018, 20:07:38 UTC
82487ab Fixes to satisfy Code Climate 29 June 2018, 12:15:17 UTC
82eb2f1 Moved block hash calculation to EVMWorld and genericized it (#957) 29 June 2018, 12:03:35 UTC
1ae5059 Add some unit tests, rm dead code (#956) * test init * rm dead code * test symbolic argv envp 28 June 2018, 21:21:29 UTC
dda1d6d Allow function identifiers on smart contract to have numbers on them (#953) 27 June 2018, 12:18:36 UTC
24e4688 Allow users to specify path to solc and solc import remappings (#945) * Allow users to specify path to solc and solc import remappings 26 June 2018, 17:38:36 UTC
66afb1f Fix #947 (#948) * Fix #947 * Fixed code climate 26 June 2018, 01:31:02 UTC
63ac45c Manticore 0.1.10 (#941) * Bump version number * Add changelog skeleton * Add changelog * Add missing detect-all flag * Don't forget --avoid-constant 22 June 2018, 23:10:41 UTC
e2f2583 Change EVMAsm offset by pc (#938) * Change offte by pc * EVMASM offset -> pc * Keep refactoreing offset -> pc (evmasm) * The forgotten offset 1 * New format() 22 June 2018, 23:09:09 UTC
5c14e47 Better temporary expression handling (#944) * Rearrange Detectors closer to ethereum. Fix Detector reporting for each state. * codeclimate * codeclimate * Move detectors back to __main__. Commandline argument added * Codeclimate * Findings and global_findings for each detectot. Move global findings to its own file on reports * Codeclimate * Better commandline arguments. Better report on failing constructors * Codeclimate. All assertion bench done * Convenience evm stack function. Doc improvements * Explicit reference in ded_evm_execute_instruction * Assembler to solidity line number fixed * Better variable names * CC * CC * Regression tests * Better int overflow detector (expensive) * Added a few more IO reg tests * CC * CC * CC * Fix io tests. Remove dead code. Improve Transaction.set_result * Account names, New ABI, user level constraining, state persistence * merge bugfix * Merge fix fix * fix docstr * Better type checks * Fix minimal.py example * CC and symbolic address * CC * CC * CC * CC * Add bytearray-Array concatenation/ Fix ABI tests * CC * CC * This fixes EVERYTHING! * Fixing truly everything, maybe * Review 1/10 * A few extra ABI serialization tests * Better default arguments for constructor in multitx * CC * CC * Exception EthereumError * review * Improve normal/contract_account filters. Move some ABI stuff to auxiliary funcs(CC) * CC * ABI.serialize smallfixes * Catch parsing exceptions (review) * Add comment to BitVec.cast() * manticore/platforms/evm.py Bugfixes and review * manticore/platforms/evm.py Bugfixes and review * CC * cs.migrate and bette temporary handling * CC * typo * A Bugfix(tm) 22 June 2018, 23:08:44 UTC
e0f5bce Account names, ABI, and state persistence... (#926) * Rearrange Detectors closer to ethereum. Fix Detector reporting for each state. * codeclimate * codeclimate * Move detectors back to __main__. Commandline argument added * Codeclimate * Findings and global_findings for each detectot. Move global findings to its own file on reports * Codeclimate * Better commandline arguments. Better report on failing constructors * Codeclimate. All assertion bench done * Convenience evm stack function. Doc improvements * Explicit reference in ded_evm_execute_instruction * Assembler to solidity line number fixed * Better variable names * CC * CC * Regression tests * Better int overflow detector (expensive) * Added a few more IO reg tests * CC * CC * CC * Fix io tests. Remove dead code. Improve Transaction.set_result * Account names, New ABI, user level constraining, state persistence * merge bugfix * Merge fix fix * fix docstr * Better type checks * Fix minimal.py example * CC and symbolic address * CC * CC * CC * CC * Add bytearray-Array concatenation/ Fix ABI tests * CC * CC * This fixes EVERYTHING! * Fixing truly everything, maybe * Review 1/10 * A few extra ABI serialization tests * Better default arguments for constructor in multitx * CC * CC * Exception EthereumError * review * Improve normal/contract_account filters. Move some ABI stuff to auxiliary funcs(CC) * CC * ABI.serialize smallfixes * Catch parsing exceptions (review) * Add comment to BitVec.cast() * manticore/platforms/evm.py Bugfixes and review * manticore/platforms/evm.py Bugfixes and review * CC 22 June 2018, 20:58:49 UTC
0e8c9b0 Improve Ethereum command line flags (#943) 22 June 2018, 20:26:18 UTC
55c8654 Remove dead code (#942) 22 June 2018, 18:48:16 UTC
dc3bbd4 Inode number is encoded with 64 bits (#897) * Inode number is encoded with 64 bits Fixes #824 * typo fix for interpreter * Use of stat64 linux kernel structure See https://code.woboq.org/linux/linux/include/uapi/asm-generic/stat.h.html 22 June 2018, 15:34:40 UTC
d3edfa5 Add UTXH to arm instructions (#935) * Add UTXH to arm instructions with tests 20 June 2018, 21:53:14 UTC
ccbf9bc Raspberry hello world (#914) See #514 Adds ARM UQSUB8 instruction 20 June 2018, 21:17:51 UTC
e29ee08 Dockerfile updates (#882) * Dockerfile updates * no blockchains, no masters * Stylistic README changes * Revert back to manticore user 19 June 2018, 17:40:31 UTC
88bf2f6 Fix evm SDIV/SMOD (#933) * Fix #930 evm SDIV/SMOD * Fix ABS :) 18 June 2018, 22:58:45 UTC
fbd3865 Fix Taint on Ct Eq (#934) 18 June 2018, 14:17:35 UTC
e12b57b Make SymbolicFile testcase generation work for closed files (#929) * Track closed files so we can generate concretized SymbolicFile data for closed files * Update test to close file too 15 June 2018, 23:32:42 UTC
cca85ef Generate symbolic file testcases (#928) * Export concretized symbolic files in testcase * use a warning * add unit test * Rm unnecessary new attr 15 June 2018, 20:55:33 UTC
8c5e25f Initial doc to storage evm functions (#915) * Initial doc to storage evm functions * CC * Make evm.world_state private so access is _restricted_ via methods * Add forgotten import for get_storage_items * Minor doc improvements 14 June 2018, 20:52:26 UTC
b4b4bb7 Use p.communicate() to read stdout and stderr (#920) Use communicate() instead of `stdout.read` and `stderr.read`, as they can result in deadlocks. This can occur if manticore tries to compile a solidity contract that has enough errors. 13 June 2018, 17:51:08 UTC
e957660 Fix test to use correct variable (#925) 12 June 2018, 19:17:46 UTC
cf6cd0e Fix z3 install regression (#923) * Add back z3 * Rm manual install 07 June 2018, 21:45:07 UTC
b184f4e Integer overflow detector improvements (#913) * Rearrange Detectors closer to ethereum. Fix Detector reporting for each state. * codeclimate * codeclimate * Move detectors back to __main__. Commandline argument added * Codeclimate * Findings and global_findings for each detectot. Move global findings to its own file on reports * Codeclimate * Better commandline arguments. Better report on failing constructors * Codeclimate. All assertion bench done * Convenience evm stack function. Doc improvements * Explicit reference in ded_evm_execute_instruction * Assembler to solidity line number fixed * Better variable names * CC * CC * Regression tests * Better int overflow detector (expensive) * Added a few more IO reg tests * CC * CC * CC * Fix io tests. Remove dead code. Improve Transaction.set_result * CC * Fix wrong merge * relax bench test * Remove Remove * Reviewed 06 June 2018, 18:44:53 UTC
adf010e Add regression test for posCAll bug (#918) 06 June 2018, 13:04:18 UTC
49478b1 Add support for NetBSD as a host OS (#893) With these changes, I am able to run Manticore on Linux (static) binaries from a NetBSD host. Tested with NetBSD/amd64 (7.1_STABLE XEN3_DOM0). 05 June 2018, 23:34:24 UTC
21c1ea5 Fix pos CALL/DELEGATECALL/STATICCALL/CALLCODE (#917) * Fix pos CALL/DELEGATECALL/STATICCALL/CALLCODE * CC 05 June 2018, 15:05:35 UTC
5d7c7f1 Dev evm INVALID detector (#910) * Rearrange Detectors closer to ethereum. Fix Detector reporting for each state. * codeclimate * codeclimate * Move detectors back to __main__. Commandline argument added * Codeclimate * Findings and global_findings for each detectot. Move global findings to its own file on reports * Codeclimate * Better commandline arguments. Better report on failing constructors * Codeclimate. All assertion bench done * Convenience evm stack function. Doc improvements * Explicit reference in ded_evm_execute_instruction * Assembler to solidity line number fixed * Better variable names * CC * CC * Regression tests * CC * Reviewed 04 June 2018, 23:02:53 UTC
1fcb249 incremental py3: print statements, octals, and more (#908) * incremental py3: automated conversion work print statements, octal literals, and various small changes to support identical calling between py2 and py3. Plus a few missed exception syntax, etc. * more print function imports, fix a syntax issue * revert an import change for the moment * different absolute import 04 June 2018, 14:52:04 UTC
7203958 Incremental Linting (#911) * flake * start removing * imports wildcard imports make it so we can't easily reason about what is available in scope and limit the utility of linting tools * a wide variety of pep8 related changes Also adds a tox.ini entry for flake8 experimentation right now. * fixes 01 June 2018, 18:35:31 UTC
0589437 absolute imports (#907) 30 May 2018, 15:06:06 UTC
78df0e9 install z3-solver in our install script so it's available (#906) 30 May 2018, 13:42:04 UTC
69c9d9b 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 switch the exception syntax to py3 compatible (#904) 30 May 2018, 03:16:59 UTC
c29c3cc [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 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 Fixed variable name typo. Issue #898. (#899) 25 May 2018, 14:35:24 UTC
b5d9d1d 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 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 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 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 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 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 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 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 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 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 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 Merge pull request #888 from trailofbits/dev-019 Manticore 0.1.9 04 May 2018, 20:03:35 UTC
23a1412 Finish changelog 04 May 2018, 18:27:41 UTC
66640c8 Initial changelog 04 May 2018, 18:17:47 UTC
5c9e635 Bump version 04 May 2018, 18:07:20 UTC
9c258bd Update concolic.py (#887) * Update concolic.py * update what evt we subscribe to 03 May 2018, 22:52:29 UTC
9307475 Raises exception for Solidity compiler not installed. Issue #867 (#877) 24 April 2018, 16:36:06 UTC
fb3c01f 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 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
92cfab3 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
71bf5d4 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
2814723 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
bfffa78 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
aa79258 Added --txnocoverage option to manticore cli (#849) * added txnocoverage option to manticore cli * improved code readability 10 April 2018, 13:34:38 UTC
d5a692f Rm the slow solver code (#859) 09 April 2018, 16:01:12 UTC
0fc4bba Added all the uint types supported by Solidity (#811) * added all the uint types supported by solidity * fixed some incorrect indentation * Added missing space around "+" * added some proper exceptions and included all the integer parameter types * improved exception handling * missing check * added preliminary version of unit test for ABI * x * half finished * tes * fixes * docstr * Raise exception only once * cc * Fix merge bug * fix merge bug in tests * Fix bugs introduced in merge 05 April 2018, 20:43:15 UTC
6616b9e Ethereum ABI and misc fixes (#855) * Port most of the less invasive/controversial changes from dev-evm-dynamicarguments * Port section of fixes from ethereum.py * Port tests unrelated to concretizing dyn args * Add remaining changes from evm.py * clean, fmt, code climate * rm unnecessary setup * disable?? * fmt * remove all the returns * lol cc * Rm unused code * port to .format * don't use map (for py2/3 compat) * simplify slicing * Rm dyn arg code, since it doesn't really even work and will be included when dev-evm-dynamicarguments is totally resolved * add address/get_uint test * Revert "Rm dyn arg code, since it doesn't really even work" 69188da4caf1ff74288b6398e8140f627dc495c4 05 April 2018, 19:31:16 UTC
af779d8 Do not forget self (again) (#854) 03 April 2018, 20:47:47 UTC
bda9c09 Manticore 0.1.8 (#851) (thanks for 1k) * Bump version numbers * initial changelog update * Add changelog content * add contribs 30 March 2018, 22:26:26 UTC
2f382a9 Added KeyError Exception for offsets not in srcmap. Issue #832 (#839) 30 March 2018, 14:44:34 UTC
03af65e A more complete example to initialize and explore a smart contract with manticore (#827) * A more complete example to initialize and explore a smart contract with manticore * Removed outdated comments 22 March 2018, 12:40:51 UTC
9c19014 Fix duplicated armv7 test name (#833) * Fix duplicate armv7rf test name * Small refactor of armv7rf * Proper test classes names 21 March 2018, 19:34:19 UTC
d1051f6 Push 0 on internal revert (#830) 20 March 2018, 17:30:09 UTC
2eb0025 evm: add per state trace file (#817) * Add trace file * Make ethersplay compatible trace format * Small cleanup * Record separate init and rt traces, emit separate trace files * add todo * More pythonic * Add test for end insn in trace file * Fix test * Move trace accumulation into will_evm_execute callback here, we can easily and correctly check the .last_exception field to see if we were in init code or rt code. from the did_evm_execute hook the last instruction (end instruction) had a different .last_exception so this was causing the last instruction to not be recorded in the trace. 19 March 2018, 18:22:08 UTC
8acd229 Added --txaccount parameter to control the caller of the symbolic exploration of smart contracts (#819) * added --txaccount parameter to control the caller of the symbolic exploration of smart contracts * Use of the new EthereumError exception 19 March 2018, 18:08:22 UTC
e97e631 port ethereum tests to individual files (issue #809) (#820) * Add contract keyword arg to IntegrationTest._simple_cli_run * Remove inline tests from test_eth * Refactor IntegrationTest.test_eth_regressions to support multi-contract files 19 March 2018, 13:24:04 UTC
fb79127 Graceful exit when no states to run (#815) * rm unnecessary return, change assert to graceful handle * Add regression test * Add regression test * Correct logic * Rm unnecessary check This branch is unnecessary, if this condition is true, then ultimately the executor will do nothing, and we'll simply return anyway. * Raise NoAliveStates if no alive states to execute * docstr update * Update mult_tx_analysis to handle NoAliveStates * Fancy * Update test * Codeclimate fmt * fmt * better readability * add docstr 16 March 2018, 21:48:36 UTC
a21c8b6 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
eaa0e52 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 Raises exception for contract with a function without code. Issue #789 (#797) 15 March 2018, 20:31:18 UTC
cf789a4 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
61babdb 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 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
fceb48c Update Create (evm exception) arguments (#805) * Update Create arguments * Add integration test * Dial back the procs 12 March 2018, 16:19:38 UTC
fbf0823 Very quick fix to avoid STOP instructions to return random values (#792) 07 March 2018, 17:57:59 UTC
f4118f4 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 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
328b623 Change assertion->exception and add msg when target file is not present (#778) 02 March 2018, 20:55:13 UTC
7349a0b Fix out-of-bound index in EVMWorld._process_pending_transaction (#786) 02 March 2018, 20:52:56 UTC
03ecb3f Fix cli --data parameter (#781) * Actually use args.data * Update decree 01 March 2018, 23:48:10 UTC
17e9098 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 Unicorn emulator: get uc_arch & uc_mode values just once (#779) 01 March 2018, 23:24:27 UTC
20cb97f 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
48f88be 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
39370cc Let the Python interpreter be specified externally (#774) 27 February 2018, 17:33:25 UTC
back to top