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

ROP gadget search #12

Open
danghvu opened this issue May 16, 2013 · 5 comments
Open

ROP gadget search #12

danghvu opened this issue May 16, 2013 · 5 comments
Labels
idea Idea

Comments

@danghvu
Copy link

danghvu commented May 16, 2013

Any possibility to do that now ? Input a binary and come out with a set of useful gadgets or allow to search given a regular expression of the syntax i.e. "pop.+pop.+ret"

@postmodern
Copy link
Member

I was working on some code that used ffi-udis86 to find Gadgets. I'm not sure if it belongs in ronin-asm or should be moved into a ronin-rop library?

@danghvu
Copy link
Author

danghvu commented May 16, 2013

If I can use it independently from ronin-asm then I would want it to be separately. But I can imagine that It must somehow be involved. For example if I want to search for pop eax; ret, I first use ronin-asm to convert to binary, then grep it from the binary source, convert it to the correct address somehow.

@postmodern
Copy link
Member

Ah yes, we could inspect Ronin::ASM::Program#instructions and map those to gadgets.

@postmodern
Copy link
Member

One downside to this would be adding ffi-udis86 and libudis86 as dependencies. Luckily, libudis86 is available in almost every package manager.

@postmodern
Copy link
Member

If you're interested, there's an old rop branch. I was trying to extract it and update it for a Capture The Flag competition. One of my goals is to add min/max number of instructions to search for.

@postmodern postmodern added idea Idea feature and removed feature labels Oct 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
idea Idea
Projects
None yet
Development

No branches or pull requests

2 participants