[Request] lazy backend memory reader
- Dominant language
- Python
- Stars
- 485
- Forks
- 135
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 15
Description
Hey,
I want a backend class which will allow me to let the cle engine (and angr) get the needed bytes lazily.
This way I will be able to have sparse address space (similar to the minidump) without loading all of it beforehand.
I want this backend to have one parameter which will be a `read` function with address and size parameters.
When angr or cle wants to read memory it will read from the cached copy if it exists, otherwise the `read` function will be called for that address and a cached copy will be created.
When angr (cle) wants to write somewhere the original bytes will be read into a cached copy and then the write operation will happen. If the cache already exists then angr will just write there.
I have a huge minidump file and loading all the segments at initialization causes an out of memory error for my python.
In the end I want to use the angr engine with this backend and use the common normal functionality (like `explore` and such).
Thanks in advance and looking forward to hearing your opinion on this :)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.