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

Evm support #3368

Closed

Conversation

yaroslavyaroslav
Copy link

Your checklist for this pull request

  • I've read the guidelines for contributing to this repository
  • I made sure to follow the project's coding style
  • I've documented or updated the documentation of every function and struct this PR changes. If not so I've explained why.
  • I've added tests that prove my fix is effective or that my feature works (if possible)
  • I've updated the rizin book with the relevant information (if needed)

Detailed description

...

Test plan

...

Closing issues

...

omode = mode;
}
if (handle == 0) {
ret = cs_open(CS_ARCH_SPARC, mode, &handle);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Defininetly not SPARC

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first goal is to just register that arch and anal plugins in the core. The whole logic is completely untouched yet.

librz/analysis/p/analysis_evm_cs.c Outdated Show resolved Hide resolved
#define INSOP(n) insn->detail->sparc.operands[n]
#define INSCC insn->detail->sparc.cc

static void opex(RzStrBuf *buf, csh handle, cs_insn *insn) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can remove this handler completely

@yaroslavyaroslav
Copy link
Author

yaroslavyaroslav commented Feb 14, 2023

@XVilka I've posted the questions at mattermost, but let me duplicate it here.

How should i register both arch and analysis plugin in the system? At the current state none of them are available in anywhere. All of the follow are failing:

  • rz-asm -L | grep evm
  • rizin -a evm[.cs]

They also doesn't appears on mason setup --wipe … in the arch and analysis plugins list.

UPD: Nah, found it.

.license = "BSD",
.arch = "evm",
.cpus = "v9",
.bits = 256,
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Failed to support that value. EVM word length and integer is 256 at most.

@XVilka
Copy link
Member

XVilka commented Apr 23, 2023

It's probably better to wait first once auto-sync work is merged first, since we will update capstone after that:

@XVilka XVilka added this to the 0.6.0 milestone Apr 23, 2023
@XVilka
Copy link
Member

XVilka commented Apr 23, 2023

It will also need tests

@yaroslavyaroslav
Copy link
Author

@XVilka I consider to not use capstone one as the back for EVM since last time I've checked it had outdated opcodes set.

@Rot127
Copy link
Member

Rot127 commented Apr 26, 2023

@yaroslavyaroslav Is this LLVM fork up to date? Because in this case I would also recommend to wait until I finish the docs for auto-sync (in the next two or three days) and use auto-sync on this fork.
TriCore (capstone-engine/capstone#1973) did the same recently.

@yaroslavyaroslav
Copy link
Author

yaroslavyaroslav commented Apr 27, 2023

@Rot127 At a glance view yes it is. Thank you for pointing me out to that one. And thank you, I'll be waiting till your work will be done.

@Rot127
Copy link
Member

Rot127 commented Apr 28, 2023

@yaroslavyaroslav Just pushed the documentation (capstone-engine/capstone@4780416). You are very much welcome to give feedback or even start implementing.

@Rot127
Copy link
Member

Rot127 commented May 10, 2023

@yaroslavyaroslav Can I add you to the list here: capstone-engine/capstone#2015?

@yaroslavyaroslav
Copy link
Author

@yaroslavyaroslav Can I add you to the list here: capstone-engine/capstone#2015?

Likely yes, but I plan to get back to that work somewhere around July. So I hope there's no rush there.

@Rot127
Copy link
Member

Rot127 commented May 10, 2023

Alright. Then I leave you off the list for now. Please just don't forget to ping us when you start. Just in case someone else already started.

@XVilka XVilka force-pushed the capstone-v5-2 branch 2 times, most recently from 469cf19 to 46b59b0 Compare May 18, 2023 02:53
@XVilka XVilka modified the milestones: 0.6.0, 0.7.0 Jun 9, 2023
@XVilka XVilka mentioned this pull request Jun 23, 2023
5 tasks
@yaroslavyaroslav
Copy link
Author

Sorry folks, I've completely out of this now, so there's no chance that I finish this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants