ntprocesses
About
Rust library that makes it easy to manipulate Windows' processes. The name comes from the ability to specifically target processes found with the undocumented NtAPI, and use of NtAPI functions. You can use officially supported APIs just as well, too.
Usage
[]
= "*"
- or -
Examples
Getting a process using a snapshot:
let process = default
.permissions
.process_id
.build_from_snapshot?;
Getting a process using the NtAPI:
let process = default
.permissions
.process_id
.build_from_nt?;
Basic memory operations on a process:
// this will actually allocate an entire page, read only.
let addr = process.virtual_alloc?;
// this will set the page to be able to be read and written to.
process.set_protection?;
process.write?;
assert_eq!;
Iterate through process threads with undocumented flags:
let process = from_pid?;
for thread process.get_threads
Thread hijacking made easy with these methods!
let thread = process.get_threads.next.unwrap;
thread.suspend
thread.get_context
thread.set_context
thread.resume
// etc ...
And, many more examples in the test modules.