-
Notifications
You must be signed in to change notification settings - Fork 478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chess changes breakout for upstream #2469
Draft
ekilmer
wants to merge
100
commits into
master
Choose a base branch
from
chess
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
100 commits
Select commit
Hold shift + click to select a range
7d5b087
Use my capstone dev branch until fixes are merged into next
ekilmer f177ce8
Fix aarch64
ekilmer 5ee1f15
Fix ARM
ekilmer 10e49bd
Update Capstone commit to fix arm64 LD1 instruction immediates
ekilmer 4f69dbc
Ignore coverage tracking for defensive assertions and exceptions
ekilmer f35744f
Merge branch 'master' into capstone-5-dev
feliam 4b738bf
ENDBR64 as nop
feliam be9bdd1
Add lacking x86 tests
feliam 6c24f8d
New x86 instrution test
feliam be00705
Merge branch 'master' into capstone-5-dev
ekilmer 85b3bbb
Merge branch 'master' into capstone-5-dev
ekilmer 4751e11
Disable write back once we hit our stop in Unicorn emulation
ekilmer 3f21e92
Make emulator reinitialize after write backs are disabled
416b8b8
Merge branch 'master' into fix-emulate-step
cfafb6d
Fix linting on test_general
548fe47
Add a Rust/Unicorn resumption test
255eb70
Make rusticorn binary actually check behavior
d689bdd
Merge branch 'fix-emulate-step' into chess
ekilmer 3e646f7
Merge branch 'master' into capstone-5-dev
ekilmer 454a65f
Merge branch 'capstone-5-dev' into chess
ekilmer a21ea0f
Run CI on chess branch
ekilmer fd4a63d
Support for pread64 syscall
ekilmer 8d6134f
Delete duplicated test method
fcbc2de
Merge branch 'master' into fix-emulate-step
565b35c
Fix addresses and improve error handling
9405a92
Merge branch 'master' into capstone-5-dev
ekilmer 20c1526
Merge branch 'master' into chess
ekilmer df4baa7
Fix issue with sphinx autodoc
ekilmer 065516f
Add last_executed_pc property to abstract CPU
ekilmer cceeb1f
Optionally skip publishing mem read/writes in CPU
ekilmer 6079bce
Shallow copy AMD64RegFile but keep concrete register values
ekilmer 0db7011
Merge branch 'master' into chess
ekilmer d54307c
Remove call to pkg_resources that breaks custom installation
ekilmer e0d5f3a
Fix mypy
ekilmer 8577543
Merge branch 'master' into chess
ekilmer a659442
Merge branch 'fix-emulate-step' into chess
ekilmer c3d7885
Merge branch 'master' into fix-emulate-step
ekilmer 702260c
Fix Unicorn resume
ekilmer ac9be30
Merge branch 'fix-emulate-step' into chess
ekilmer dc64f11
Fix test missed during merge
ekilmer 101596e
Fix more tests missed during merge
ekilmer ba5597c
staticmethods to get syscall info
ekilmer 5fa3f94
Rework some logging
ekilmer bb5d00d
Better logging initialization
ekilmer 5529d86
Remember to set manticore property on state __enter__
ekilmer f879bfd
Better log message in sys_recvfrom
ekilmer f9bcc15
Chess heap tracking work (#2458)
sschriner b3ecaf6
corrected read_arg in hook_malloc_library
sschriner 27e0754
Add location to alloc info and remove some debugging statements (#2463)
sschriner 0fa906d
Kill Manticore if _any_ state encounters unrecoverable exception
ekilmer 98a87e3
Merge branch 'master' into chess
ekilmer f3b9234
Merge branch 'master' into capstone-5-dev
ekilmer 3811e3b
Merge branch 'master' into chess
ekilmer dd8af82
Merge branch 'master' into chess
ekilmer 9c74e8d
Formatting
ekilmer ccebfbc
Mypy fixes
ekilmer 4156aef
Merge branch 'master' into chess
ekilmer 699deba
Remove unneeded sycall stubs helper function
ekilmer b6e3d05
Remove unneeded workaround for fast_crash option in memory
ekilmer 7fa386d
Add SMT simplifications for bitvec subtraction
Boyan-MILANOV abbfa01
Replace operator SUB by built-in '-'
Boyan-MILANOV de3ced3
Merge branch 'dev-bitvecsub-simplifications' into chess
Boyan-MILANOV 9c0a4ee
Add EXPLICIT fork policy (#2514)
Boyan-MILANOV 26ccdd2
Fix `BitVecExtract` simplification for constant folding (#2524)
Boyan-MILANOV 504ec9c
x86 FXSAVE & FXRSTOR support (#2511)
Boyan-MILANOV d20e777
Also ignore missing unicorn registers in the fallback emulator (#2531)
Boyan-MILANOV 932ed0c
Revert "x86 FXSAVE & FXRSTOR support (#2511)"
Boyan-MILANOV a16a011
add ENDBR32 as nop (#2532)
lordidiot 7589f48
Merge branch 'master' into capstone-5-dev
ekilmer b832407
Remove duplicate x86 ENDBR64 instruction
ekilmer 3a7e4ab
Fix test
ekilmer 11bb256
Fix more errors in tests
ekilmer ab798c7
Use latest tagged capstone==5.0.0rc2
ekilmer b762f7d
Merge branch 'master' into chess
ekilmer 19ee948
Revert "x86 FXSAVE & FXRSTOR support (#2511)"
Boyan-MILANOV 26e8c96
Merge branch 'capstone-5-dev' into chess
ekilmer 9828f2c
Formatting
ekilmer 634b6a4
Remove duplicate instruction from bad merge
ekilmer 001683f
Fix bug in register_log_callback (#2542)
kokrui 60b728d
add newfstatat syscall
lordidiot d13c4ff
add newfstatat syscall tests
lordidiot 0f24f64
Merge branch 'add-sys-newfstatat' into test-newfstatat
ekilmer 313dffa
Initial implementation of sys_rseq
ekilmer 884a0b1
Fixes to CPUID to support latest glibc
ekilmer 6c6b8d3
Hook CPUID instruction in emulator
ekilmer b824ff1
Use a patched version of Unicorn for CPUID hook in Python bindings
ekilmer b084d3f
Update unicorn to cpuid commit
ekilmer 65a7a5b
Run CI on this branch
ekilmer 33aa6c5
Use upstream merged result of Unicorn for CPUID hook
ekilmer 9c3f447
Merge branch 'master' into chess
ekilmer 73fa4e3
Merge branch 'chess' into fix-latest-glibc
ekilmer 9ee8b4f
Revert CI run on branch
ekilmer cd8235b
Fix Docker image for building unicorn
ekilmer 937ca98
Merge branch 'chess' into fix-latest-glibc
ekilmer d8afc95
Merge branch 'master' into chess
ekilmer e761932
Merge branch 'master' into chess
ekilmer 33880e6
Use official Unicorn v2.0.0 release
ekilmer 148f4fd
Merge branch 'master' into chess
ekilmer f514236
Merge branch 'master' into chess
ekilmer 5d712a0
Add boolean simplifications (#2563)
Boyan-MILANOV File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,6 +29,9 @@ def main() -> None: | |
""" | ||
Dispatches execution into one of Manticore's engines: evm or native. | ||
""" | ||
# Only print with Manticore's logger | ||
logging.getLogger().handlers = [] | ||
log.init_logging() | ||
args = parse_arguments() | ||
|
||
if args.no_colors: | ||
|
@@ -101,13 +104,13 @@ def positive(value): | |
help=("A folder name for temporaries and results." "(default mcore_?????)"), | ||
) | ||
|
||
current_version = pkg_resources.get_distribution("manticore").version | ||
parser.add_argument( | ||
"--version", | ||
action="version", | ||
version=f"Manticore {current_version}", | ||
help="Show program version information", | ||
) | ||
# current_version = pkg_resources.get_distribution("manticore").version | ||
# parser.add_argument( | ||
# "--version", | ||
# action="version", | ||
# version=f"Manticore {current_version}", | ||
# help="Show program version information", | ||
# ) | ||
Comment on lines
+107
to
+113
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is commented because it breaks on "installs" that just naively copy the Manticore source tree into |
||
parser.add_argument( | ||
"--config", | ||
type=str, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anything messing around with logging is in an unstable state and needs to be discussed/changed to not break all of the tests... The logging changes should include some documentation on how to use Manticore effectively as a component of a larger project and setting the log levels, redirection, etc.