#ifndef _VM_H_ #define _VM_H_ #include #include typedef struct VMMapping { void *begin; void *end; uint8_t r:1; uint8_t w:1; uint8_t x:1; uint8_t s:1; uint8_t p:1; const char *name; struct VMMapping *next; } VMMapping; typedef struct MemscanResult { VMMapping *mapping; off_t offset; struct MemscanResult *next; } MemscanResult; typedef struct Bytes { uint8_t *data; size_t len; } Bytes; VMMapping* parse_vmmap (int pid); MemscanResult* memscan(int pid, Bytes aob); void memwrite(int pid, void *address, Bytes aob); Bytes memread(int pid, void *address, size_t nbytes); #endif // _VM_H_