/// <summary> /// Unlocks the process' handle to make it possible to read from that process! /// </summary> /// <param name="process">The process you want to crack</param> /// <param name="desiredAccess">The required Access (like VM_READ)</param> public void UnlockProcess(int desiredAccess, Process process = null) { if (process == null) { process = Process; } Handle = Interop.OpenProcess(desiredAccess, true, process.Id); }
/// <summary> /// Reunlocks the Handle. Surely closes the first handle and opens it with a neat new access- level (to write memory) /// </summary> /// <param name="desiredAccess">The level of access you want to give the process</param> /// <param name="process">The process you want to crack</param> public void ReUnlockProcess(int desiredAccess = 0, Process process = null) { if (desiredAccess == 0) { desiredAccess = DesiredAccess; } if (process == null) { process = Process; } if (process == null) { return; } if (Handle != null) { Interop.CloseHandle(Handle); } Handle = Interop.OpenProcess(desiredAccess, true, process.Id); }