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

elfloader: load shared library and relocate #40

Open
aiooss-ledger opened this issue Jul 15, 2022 · 1 comment
Open

elfloader: load shared library and relocate #40

aiooss-ledger opened this issue Jul 15, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@aiooss-ledger
Copy link
Contributor

aiooss-ledger commented Jul 15, 2022

Users can already load dynamic ELF using Rainbow elfloader, but no shared library are loaded.

Maybe with some tweaks to the elfloader, we could allow users to load shared library like this:

from rainbow.generics import rainbow_x64

emu = rainbow_x64()
emu.load("main", typ=".elf", verbose=True)
emu.load("/lib/x86_64-linux-gnu/libc.so.6", typ=".elf", base_addr=0x10000, verbose=True)
emu.function_calls = True
emu.start(emu.functions["main"], 0, count=100)

This would be a "low-effort" way to easily instrument dynamic binaries without implementing a dynamic loader in Python. This would reduce the amount of functions to stub to make dynamic binaries work.

@yhql yhql added the enhancement New feature or request label Jun 20, 2023
@erdnaxe
Copy link
Contributor

erdnaxe commented Oct 1, 2023

Patch proposition: #53

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

3 participants