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

Operand 'registers' is invalid or not yet supported #13

Closed
Waterman178 opened this issue Mar 2, 2019 · 3 comments
Closed

Operand 'registers' is invalid or not yet supported #13

Waterman178 opened this issue Mar 2, 2019 · 3 comments
Labels
enhancement New feature or request

Comments

@Waterman178
Copy link

default
what happened?

@Boyan-MILANOV
Copy link
Owner

Hey,

ROPGenerator accepts semantic queries with registers and constants. "registers" isn't a valid register name so the query is invalid and the command returns an error...
What behaviour did you expect ?

Boyan

@Waterman178
Copy link
Author

Hey,

ROPGenerator accepts semantic queries with registers and constants. "registers" isn't a valid register name so the query is invalid and the command returns an error...
What behaviour did you expect ?

Boyan

There is a structure address in [rsp+0x28]. There is a function address in this structure +0x30. I want to jump over.How can I find instructions that implement features like the following?

mov rax,[rsp+0x28]
jmp qword ptr[rax+0x30]

@Boyan-MILANOV
Copy link
Owner

Boyan-MILANOV commented Mar 4, 2019

There isn't yet a query type that implements double dereferencing.
I see 2 possible improvements to ROPGenerator that would fill this need:

  1. enable nested expressions in queries like: find rip=mem( mem(rsp+0x28) + 0x30 )
  2. enable a generic operand such as: find ?=mem(rsp+0x28)

I'll mark this as a feature request, and implement those features in the 2.0 version :)

Edit: So far, as a workaround, you can try to combine the following kind of requests, with xxx being any supported register (rax, rbx, rcx, rdx, rsi, ...) :

find xxx = mem(rsp+0x28)
find rip = mem(xxx+0x30)

@Boyan-MILANOV Boyan-MILANOV added the enhancement New feature or request label Mar 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants