Skip to content
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

Migrate from Capstone to Zydis for x86 and x86_64 architectures #4709

Open
XVilka opened this issue Nov 11, 2024 · 2 comments · May be fixed by #4832
Open

Migrate from Capstone to Zydis for x86 and x86_64 architectures #4709

XVilka opened this issue Nov 11, 2024 · 2 comments · May be fixed by #4832
Milestone

Comments

@XVilka
Copy link
Member

XVilka commented Nov 11, 2024

Capstone x86 is out of the scope of the auto-sync project and becomes outdated more and more without anyone stepping in to maintain it. Meanwhile Zydis works quite well and tracks all new instructions once they released.

This pull request could serve as an example on how to migrate: x64dbg/x64dbg#1730

@tushar3q34
Copy link
Contributor

tushar3q34 commented Jan 10, 2025

Hello! I am almost done with this but using Zydis causes the following things :

  • Replacement of a few instructions (setnbe instead of seta, jnz instead of jne) and many more..
  • Change in formatting especially involving qword and dword
  • Spacing issues (Zydis : [eax + 0x6452dc36], Capstone : [eax+0x6452dc36])
  • Change in esil instructions

Due to all these factors, I think there needs to be a change in ~250-300 tests and a few more Linux based tests that I have not been able to check on my system.

So should I open a PR for review and then work on tests or change the tests and then open a PR. Thanks.

@Rot127
Copy link
Member

Rot127 commented Jan 10, 2025

Sure, feel free to open a PR.
Most things can probably just be straight forwardly fixed. ESIL will be annoying, but we will see.

@tushar3q34 tushar3q34 linked a pull request Jan 10, 2025 that will close this issue
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants