Replace disassembler engine with Zydis#1730
Merged
Merged
Conversation
- While at it, added branch info logic to disassembler class - Thus reduce direct checks by mnemonic in GUI and analysis code - Replaced direct disassembler struct access with disassembler class calls where trivially possible - Removed workarounds for empty segment registers - Temp. disabled `cbInstrCapstone` command - Temp. disabled flag stuff in `QBeaEngine`
- Prevents name clashes with actual capstone disassembler implementation
- Fixed various porting bugs in the Zydis `CapstoneTokenizer` - Added Capstone vs Zydis tokenizing diff and various exceptions for known issues
- Also, more whitelist entries for the CS-Zydis diff
- Instead, we directly use Zydis as a submodule now
- Removed underscores - Removed redundant “zy” prefix - Executed `AStyleWhore` (sorreh, I use git on my macOS host, can’t put it into pre-commit-hook)
- Comment out diff code in GUI - Enable optimization - A few more whitelist entries in the diff code - A few fixes in the old tokenizer to be consistent with the new one in diffs - Remove LICENSE and README now that the wrapper is part of the x64dbg core repo
- Remove unused semantic groups - Improve handling of “far” in tokenizer
nooperation
reviewed
Sep 29, 2017
| //set the branch destinations | ||
| node.brtrue = mCp.BranchDestination(); | ||
| if(mCp.GetId() != X86_INS_JMP && mCp.GetId() != X86_INS_LJMP) //unconditional jumps dont have a brfalse | ||
| if(mCp.GetId() != ZYDIS_MNEMONIC_JMP) //unconditional jumps dont have a brfalse |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Contributor
Author
|
The |
Member
|
I think it was one of his coworkers actually...
…On Mon, 9 Oct 2017 at 02:03, Joel Höner ***@***.***> wrote:
The Mergings project card mentions that @blaquee
<https://github.com/blaquee> found problems with this PR. Could you
elaborate?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#1730 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ACWCmRCQsP3D6uVovrlLf7z-6A4lwf7Pks5sqWLHgaJpZM4PjR4a>
.
|
|
when i compile the whole project ,says miss zydis/xxxx.h, and how i solve it ? thk |
Contributor
Author
|
Try cloning recursively ( |
thks, it works well,because working offline (can not too sad), i find and download them all. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Current status
zydis_wrapperZydisas a submodulecapstone_wrapperwithzydis_wrapperIsBranchType, replacing many manualif(mnem == ...)occurrencesQBeaEnginetoCSQBeaEngineandCapstoneTokenizertoCsCapstoneTokenizer, for diffingCsCapstoneTokenizerto useCapstoneTokenizer's data classes for easy comparisionDisassembly.cpp(commented out)Future work required
If there's anything you don't like that you'd like me to change, just say the word.