Detection vector fix: RWX allocation removed#198
Conversation
Removed global RWX protection applied after MmAllocateIndependentPages. Implemented per-section protection logic matching PE section characteristics to avoid long-lived RWX memory regions, minimizing behavioral detection vectors.
|
Change the default PAGE_NOACCESS to PAGE_READONLY to prevent any issue with packed/modified drivers and also check that the section has a VirtualSize > 0 |
Use READONLY instead of NOACCESS for default section prot, skip empty sections
Splitting protections per PE section is still better than keeping a long-lived single RWX region. At least it reduces the footprint of writable executable memory, which can help minimize heuristic flags (probably l0l) |
Removed global RWX protection applied after MmAllocateIndependentPages. Implemented per-section protection logic matching PE section characteristics to avoid long-lived RWX memory regions, minimizing behavioral detection vectors.