david942j / one_gadget

The best tool for finding one gadget RCE in libc.so.6
MIT License
2.07k stars 139 forks source link

Feature Request: MIPS and RISC-V #223

Open Legoclones opened 1 month ago

Legoclones commented 1 month ago

What would it take to extend one_gadget to support MIPS and RISC-V architectures?

david942j commented 1 month ago

https://github.com/david942j/one_gadget/pull/64/files was how much it took to enable AArch64.

The PR was larger than it should be as it was the first time to add a non-x86 arch so a lot refactoring was required.

You can search for "aarch64" in the PR to have basic ideas on how many new classes might be needed. But overall it's certainly non-trivial since the current design of symbolic execution (lambda.rb) may not be always suitable to different archs (I am neither a MIPS nor RISC-V expert so hard to tell without digging into their ISA).

Open for pull requests or discussions for sure :)