Skip to main content
. 2023 Nov 26;23(23):9417. doi: 10.3390/s23239417
Algorithm 2: Reimplementation of Heaven’s Gate
  •  1:

    function BypassHG

  •  2:

          esp ← GetCurrentStackPointer()

  •  3:

          IncreaseStackPointer(esp, 8)

  •  4:

          processId ← GetCurrentProcessID()

  •  5:

          processHandle ← OpenProcessWithAllAccess(processId)

  •  6:

          scanAddress ← ApplicationAddressLowerBound

  •  7:

          lastSectionAddress ← ApplicationAddressUpperBound

  •  8:

          while scanAddress < lastSectionAddress do

  •  9:

                ChangeMemoryProtection(processHandle, scanAddress, ExecuteWriteCopy)

  • 10:

                scanAddressscanAddress + MemoryPageSize

  • 11:

          end while

  • 12:

          CloseProcessHandle(processHandle)

  • 13:

    end function