| 206 | |
| 207 | |
| 208 | char* getMemoryRegionProtect(DWORD protect) { |
| 209 | const char* memoryProtect; |
| 210 | switch (protect) { |
| 211 | case PAGE_EXECUTE: |
| 212 | memoryProtect = "--X"; |
| 213 | break; |
| 214 | case PAGE_EXECUTE_READ: |
| 215 | memoryProtect = "R-X"; |
| 216 | break; |
| 217 | case PAGE_EXECUTE_READWRITE: |
| 218 | memoryProtect = "RWX"; |
| 219 | break; |
| 220 | case PAGE_EXECUTE_WRITECOPY: |
| 221 | memoryProtect = "EXECUTE_WRITECOPY"; |
| 222 | break; |
| 223 | case PAGE_NOACCESS: |
| 224 | memoryProtect = "NOACCESS"; |
| 225 | break; |
| 226 | case PAGE_READONLY: |
| 227 | memoryProtect = "R--"; |
| 228 | break; |
| 229 | case PAGE_READWRITE: |
| 230 | memoryProtect = "RW-"; |
| 231 | break; |
| 232 | case PAGE_WRITECOPY: |
| 233 | memoryProtect = "WRITECOPY"; |
| 234 | break; |
| 235 | case PAGE_GUARD: |
| 236 | memoryProtect = "GUARD"; |
| 237 | break; |
| 238 | case PAGE_NOCACHE: |
| 239 | memoryProtect = "NOCACHE"; |
| 240 | break; |
| 241 | case PAGE_WRITECOMBINE: |
| 242 | memoryProtect = "WRITECOMBINE"; |
| 243 | break; |
| 244 | default: |
| 245 | memoryProtect = "Unknown"; |
| 246 | break; |
| 247 | } |
| 248 | return (char*) memoryProtect; |
| 249 | } |
| 250 | |
| 251 | |
| 252 | char* getMemoryRegionType(DWORD type) { |
no outgoing calls