Granary / granary2

Dynamic binary translation framework for instrumenting x86-64 user space Linux programs
MIT License
39 stars 5 forks source link

Improve all things related to modules and memory tracking #24

Open pgoodman opened 10 years ago

pgoodman commented 10 years ago

The existing system for tracking mapped memory leaves much to be desired. The implementation is inefficient, and applies only to executable code and not other types of memory. Also, the connection between the module manager and the code cache allocators is somewhat ugly. I think this entire subsystem could be greatly improved.

pgoodman commented 10 years ago

This will definitely be needed if Granary is ever to get a proper understanding of symbol information, or do a reasonable job at shadow memory.

I think a nice approach would be to expose some functions that informs granary of new memory maps, removed memory maps, expanded maps, and permissions.

A new data structure is needed for the ModuleManager as well. See if the Concurrency Kit has anything good, or if there are any good lock-free radix trees out there.