a structure holding data
| 15 | |
| 16 | // a structure holding data |
| 17 | struct data_t |
| 18 | { |
| 19 | // imports |
| 20 | using ps_lookup_process_by_process_id_t = NTSTATUS( * )( std::uint64_t, void*& ); |
| 21 | const ps_lookup_process_by_process_id_t ps_lookup_process_by_process_id = static_cast< ps_lookup_process_by_process_id_t >( get_ntk_export( "PsLookupProcessByProcessId" ) ); |
| 22 | |
| 23 | using mm_copy_virtual_memory_t = NTSTATUS( * )( void*, void*, void*, void*, std::size_t, std::uint8_t, std::size_t& ); |
| 24 | const mm_copy_virtual_memory_t mm_copy_virtual_memory = static_cast< mm_copy_virtual_memory_t >( get_ntk_export( "MmCopyVirtualMemory" ) ); |
| 25 | |
| 26 | using obf_dereference_object_t = void( * )( void* ); |
| 27 | const obf_dereference_object_t obf_dereference_object = static_cast< obf_dereference_object_t >( get_ntk_export( "ObfDereferenceObject" ) ); |
| 28 | |
| 29 | // arguments |
| 30 | const std::uint64_t from_pid, to_pid; |
| 31 | |
| 32 | void *const from_address, *const to_address; |
| 33 | |
| 34 | const std::size_t size; |
| 35 | }; |
| 36 | |
| 37 | // the function that will be mapped into the driver |
| 38 | NTSTATUS mapped( const data_t& data ) |
nothing calls this directly
no outgoing calls
no test coverage detected