En el proceso tradicional de dynamic forking, creamos un proceso cualquiera suspendido. Luego con Zw/NtUnmapViewOfSection desmapeamos la imagen del proceso en memoria, para así dejar esa página no reservada y poder asignar memoria tranquilamente en la nueva Imagebase con VirtualAllocEx.
Lo que me estaba preguntando yo, es si en vez de usar Zw/NtUnmapViewOfSection para desreservar la esa zona de la memoria no se podría usar VirtualFreeEx con el parámetro MEM_RELEASE para lo mismo.
Si no es posible, ¿por qué no?
Si es posible, ¿presenta alguna desventaja? ¿No podía ser buena idea usarla?