Guest User

Untitled

a guest
Sep 17th, 2019
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include <windows.h>
  4. #include <cstdint>
  5. #include <cstdlib>
  6.  
  7.  
  8. enum E_COMMAND_CODE
  9. {
  10. ID_NULL = 0, //
  11. ID_READ_PROCESS_MEMORY = 5, //
  12. ID_READ_KERNEL_MEMORY = 6, //
  13. ID_WRITE_PROCESS_MEMORY = 7, //
  14. ID_GET_PROCESS = 10, //
  15. ID_GET_PROCESS_BASE = 11, //
  16. ID_GET_PROCESS_MODULE = 12, //
  17. ID_GET_WND_THREAD = 15, //
  18. ID_SET_WND_THREAD = 16, //
  19. ID_GET_DRIVER_BASE = 20, //
  20. ID_REMOVE_CACHE_IMAGE = 25 //
  21. };
  22.  
  23. typedef struct _MEMORY_STRUCT
  24. {
  25. uint64_t process_id;
  26. void* address;
  27. uint64_t size;
  28. uint64_t size_copied;
  29. void* buffer;
  30. uint64_t struct_value;
  31. } MEMORY_STRUCT, *PMEMORY_STRUCT;
  32.  
  33. template<typename ... A>
  34. uint64_t call_driver_control( void* control_function, const A ... arguments )
  35. {
  36. if ( !control_function )
  37. return 0;
  38.  
  39. using tFunction = uint64_t( __stdcall* )( A... );
  40. const auto control = static_cast<tFunction>( control_function );
  41.  
  42. return control( arguments ... );
  43. }
  44.  
  45. void* kernel_control_function( );
  46. uint64_t read_kernel( void* control_function, uint64_t address, void* buffer, std::size_t size );
Advertisement
Add Comment
Please, Sign In to add comment