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

Support more architectures #12

Open
Ben-Lichtman opened this issue May 27, 2022 · 4 comments
Open

Support more architectures #12

Ben-Lichtman opened this issue May 27, 2022 · 4 comments

Comments

@Ben-Lichtman
Copy link
Owner

Ben-Lichtman commented May 27, 2022

Currently ropr only supports x86 / x86_64. This is partially just due to the disassembler being only compatible with x86.

Consider the possiblity of switching to a new disassembler (maybe yaxpeax or even hand-rolled?) to get more architectures.

This may also require #9 since we would need to define rules / patterns for both arm and x86 at very least

@mbbutler
Copy link

Hi, Ben. I would be interested in adding support for RISC-V to ropr. Would you be amenable to that?

@Ben-Lichtman
Copy link
Owner Author

That sounds great, however I fear that it won't be easy - the disassembler being currently used only supports x86, so a different disassembler would be needed, and capstone tends to be slow. But I am definitely amenable to risc-v especially if that means a better disassembler.

@Ben-Lichtman
Copy link
Owner Author

One of my long-term goals is to lift the disassembly to a higher level and allow you to define rules semantically. But that's a lot of work and I don't have a lot of time :/

@mbbutler
Copy link

mbbutler commented Nov 17, 2023

If we can't find a disassembler that covers both then it might work to define a Disassembler Trait and impl a struct for each architecture using whichever disassembler is suitable for the target arch. Or maybe I am way off base and that won't work for a reason that you've already thought of.

I also like your idea of lifting to a higher level but agree that it would be a lot of work like you say.

Let me gather my thoughts over the weekend and put together a proper RFC so that you can see what I'm thinking.

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

No branches or pull requests

2 participants