6 releases (breaking)
0.5.0 | Oct 5, 2023 |
---|---|
0.4.0 | Apr 23, 2023 |
0.3.0 | Mar 10, 2023 |
0.2.0 | Mar 1, 2023 |
0.1.0 | Jul 7, 2022 |
#635 in Debugging
260KB
4K
SLoC
Contains (ELF exe/lib, 23KB) resources/test/say_hello_no_pie, (ELF exe/lib, 16KB) create_thread_join_and_die
Steroid
A Rust library for dynamic binary instrumentation that aims to ensure
the validity of each manipulation of the remote process, both in terms
of address space and process state. This library uses Rust lifetime
concept to represent the state of the remote process and ensure that
every underlying call to ptrace
is valid.
Features
Currently, steroid allows to spawn a process, wait for it to be stopped, resume its execution, get and set its registers. The user can also set and manipulate breakpoints.
The user is able to get a high-level representation of the memory mapping of the remote process. They are able to manipulate the remote process' memory through safe high-level constructs such as buffers.
Contact
This library is still at an early stage of development and commits can be irregular, depending of the time and motivation I have to work on the project. However, feel free to report any issue or suggestion on the Gitlab repository or at camille.lebon35000@gmail.com.
Dependencies
~2.5MB
~53K SLoC