Git Product home page Git Product logo

upgdsed's Introduction

UPGDSED

Universal PatchGuard and Driver Signature Enforcement Disable

System Requirements

x64 Windows, supported versions:

  • Windows 7 SP1
  • Windows 8
  • Windows 8.1
  • Windows 10 (TH1/TH2/RS1/RS2/RS3)

Administrative privilege is required.

In case of EFI boot SecureBoot must be disabled.

WARNING

Using this program might render your computer into an unbootable state.

Source code provided AS-IS in help it will be useful BUT WITHOUT WARRANTY OF ANY KIND.

ANY USE OF THE SOFTWARE IS ENTIRELY AT YOUR OWN RISK.

Install

Run patch.exe elevated.

Uninstall

In elevated command prompt type bcdedit /delete < patch guard disable entry id >

Navigate to Windows\System32 folder and delete ntkrnlmp.exe, osloader.exe (BIOS boot) or osloader.efi (EFI boot)

Build

UPGDSED comes with full source code. In order to build from source you need Microsoft Visual Studio 2015 and later versions.

Deprecation

The project has been deprecated in 2018. No further updates (or plans on them) are available. If you still need PatchGuard disable refer to these repositories (alphabetical order):

This repository is kept read-only for historical purposes.

References

Authors

(c) 2017 - 2018 UPGDSED Project

upgdsed's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

upgdsed's Issues

IF %TEMP% is set to a different drive ..

... error "System cannot move files to a different drive" when trying to find pattern
in winload - (ntoskrnl portion completes w/no fail)

ex.: If system is "C:\Windows" and %TEMP% is "D:\Temp" it will fail.

Not working on Win10 15063

Hi, hFireF0X.
Thanks for your sharing.
I have tested this patch with a simple NTFS FSD hook driver, but it seems that PatchGuard is not successfully disabled, while DSE seemed to be indeed disabled, since the driver which was only self-signed successfully loaded into the kernel, with testsigning disabled.
I did nothing in the FSD hook, except DbgPrint and calling original MajorFunction. Dbgview shows that FSD hook successfully intercepted IRPs.

The Bugcheck codes match following pattern:
Bugcheck 109 (0xa39f****, 0xb3b6****, 0xffff****, 0x1c)

Original comment:
I'm testing on a freshly installed Win10 15063 x64 in VBox.
Simply launched patch.exe, and then pressed ENTER to continue.
but the program just showed the following line:
Patch: Press any key to exit
Then, window just disappeared after I pressed ENTER.

After that, it seems that neither ntoskrnl.exe nor MBR was modified.

Support ARM64 versions of Windows

Windows 10 has been ported to ARM64, and there are now devices shipping with it (e.g. Asus TP370QL).

Unfortunately ARM64 is encumbered with the same PatchGuard rules as X64. Support is therefore needed for disabling PatchGuard on ARM64.

Not Working on Windows 10 Build 1709

Hi Fyyre,

I am using your tool to disable patch guard on windows 10 build version 1709, after running the tool, I checked bcdedit and it is updated with patch guard disable and booted my PC using disable patchguard boot option, it seems that all is good, so to confirm it further I used https://gist.github.com/andronoob/d5882c5e6d21f3dea534a68434abe040 andronoob NTFS FSD hook filter and starting this service using following tool:

sc create FsFilter binPath= C:\temp\FsFilter1.sys type= kernel
sc start FsFilter
But I am getting blue screen and windows crashing, means patch guard is not disabled.

Can you please help me, what I am doing wrong? your quick response will be highly appreciated.

Thanks

BR,
Adeel

Computer freeze randomly

I have Windows 10 Version 1709 Build 16299.248

Computer freeze randomly, maybe after 4 hours startup or after 3 days windows started

Windows freeze, mouse freeze, only way to get machine work back is turn off PC on button

Maybe this fault of UPGDSED ?

Windows 10 RS4+ usage and PatchGuard update notice

Since this is popular question here is a summary.

We do not updated this since RS3 as we see no point in it. For a more than two years - almost no one contributed and we are not going to feed the leachers who use this free project for own monetization profit.

Microsoft made several improvements to the PatchGuard - and they doing this on a regular basis with each Windows 10 "whatever update". PatchGuard is double edged sword - from one side it is sort of security feature and barrier that effectively stops most of script-kiddies with their "hooking, dkom, dkoh whatever" trash from making yet another WindowsXP hell everywhere. From the other side it is guardian for DRM related trash and complicated some other things. Unfortunately it is here and won't be likely removed anytime soon.

For the current state of PatchGuard you can read from this wonderful paper
https://blog.tetrane.com/downloads/Tetrane_PatchGuard_Analysis_RS4_v1.00.pdf

From it you can learn PatchGuard now implemented not only as a rootkit component but also as independent integrity checks smashed within multiple various kernel routines, reference to page 28. So in general this mean full PatchGuard disable need more work and more investigations to find all of the hidden checks.

So far consider this repository as for historical purposes only if it comes to Windows 10 PatchGuard.

You are still welcome to contribute, fork and do whatever you want. We are leaving this for you ๐Ÿ˜ƒ

[minor] bcd.c -> static "Windows"

src/bcd.c

Ln:555
_strcat(szCommand, TEXT(" systemroot \\Windows"));

Ln:570
_strcat(szCommand, TEXT(" path \\Windows\\system32\\"));

It is assumed, that Windows is located in the "Windows"-Folder.
If it isn't (Customized/Personalized or WhateverReason),
it'll fail (invalid path).

consider:
%windir% or %systemroot%
-> Trim %systemdrive%

10.0.15063.296 Symbol Issue

UPGDSED current not working with this build ntkrnlmp for Windows 10 (released today). This is due to 404 error attempt to fetch pdb from the Microsoft Symbol Server.

[RS2] Cannot query SeValidateImageData offset

Patch: Windows Version: 10.0.15063, LegacyBIOS

Patch: Symbol dlls extracted successfully.
Patch: Dbghelp initialized.
Patch: Copy files to %TEMP%
Patch: Copy success
Patch: Scanning ntoskrnl for patterns


Patch: Cannot query SeValidateImageData offset: Cannot complete this function.

Patch: Cannot locate patch offsets for ntoskrnl.

[7601_24059] SeValidateImageData -> new_Pattern

For Windows 7 -> 7601_24059
KB4088875 (Monthly Rollup - March, 18th 2018)

// it's a 'jmp short' now 0xE9->0xEB
0xB8, 0x28, 0x04, 0x00, 0xC0, 0xEB

ntoskrnl.exe
OFFSET 2C6100 - VA 207F700

48 83 EC 28          sub rsp,28                   
33 C0                xor eax,eax                  
38 05 6C 13 ED FF    cmp byte ptr ds:[1F50A78],al 
74 16                je 207F724 <- (1)                  
4C 8B 0D 53 13 ED FF mov r9,qword ptr ds:[1F50A68]
4C 3B C8             cmp r9,rax                   
75 07                jne 207F721                  
B8 28 04 00 C0       mov eax,C0000428 <- (2)           
EB 03                jmp 207F724                  
41 FF D1             call r9
//  VA  207F724                   
48 83 C4 28          add rsp,28                 
C3                   ret
(1)
This version cleaned up all sub-routines,
it actually looks tidy :)
I suggest patching (1) 'je->jmp' because EAX is 0
at this point and a jmp would do just fine. 

.. Unless you implement nibble_level search,
you have to add a new pattern starting with this version
anyway.

// tested the above and works fine w7x64
(2)
Old location

10.0.15063.332 - symbols not available

2017-05 Cumulative Update for Windows 10 Version 1703 for x64-based Systems (KB4020102)

Microsoft not yet release public symbol files for ntoskrnl version 10.0.15063.332

Same as situation: #3

[NotABug] bcd identifier -> removal

Since the GUID (bcd_identifier) is unique to each system, maybe either:

  • add it to the BcdPatchEntryAlreadyExist Output
    -> "removal: "bcdedit /delete " + bcd_identifier
    or
  • add command-line option "-remove"

Can UPGDSED be used to load only one driver while rejecting all others?

So I am using DIfferentSLIAuto and it works great!
It uses modified drivers (which are unsigned to run non SLI cards in SLI mode).

But with new games the problem is that their anti cheats do not allow games to be run when Windows is in test mode.
Even with full UPGDSED, anti cheats detect that testing mode is on.

So,
tl;dr, is it possible to load just one driver (nvlddmkm.sys) using UPGDSED while rejecting all others?

Create rule

Create rule does not work :(( v1.1.3
I can create one, but it does not change HWID

Runtime Patch Possible?

Hello hfiref0x

To achieve that I assume kernel is patched and the user needs to reboot, so I have a couple of questions

can you provide a readme.md with more details on how it works?
you have plans to release a tool to disable patchguard in runtime?
It is possible to enable VMX in runtime in windows?(AMD and INTEL)(by changing MSR register)

thank you for releasing this tool, very useful

Hate to ask but any chance to support 17763 aka 1809?

It seems some signature is changed. It no longer works by simply update the version number in the source code.

Patch: Windows Version: 10.0.17763, LegacyBIOS

Patch: Symbol dlls extracted successfully.
Patch: Dbghelp initialized.
Patch: Copy files to %TEMP%.
Patch: Copy success.
Patch: Scanning ntoskrnl for patterns.

Patch: Ntoskrnl version: 10.0.17763.107

-> SeValidateImageData          004EA2E3
-> CcInitializeBcbProfiler      00875D24
-> KeInitAmd64SpecificState     008B4D28
-> ExpLicenseWatchInitWorker    00892FF0

Patch: Cannot query SepInitializeCodeIntegrity offset: Cannot complete this function.

UPGDSED appears to work fine for all win10 english versions

First off @Fyyre and @hfiref0x you do realize when you started this project you posted about it on the biggest game cheating forum in the world right? So i'm perplexed why you'd be surprised some people use it for game cheating?? I'm even more perplexed why you care. If it's a "not given enough credit" issue, i'm pretty sure everyone knows when it comes to disabling patchguard + they see a new boot entry who's project they're using. Also as others have stated this brilliant project you've created is used for many many applications, so it'd be a real shame if you abandon it. This project represents freedom and flexibility while using Windows, a freedom that Microsoft is increasingly trying to strip away, so please don't give up, you're doing great work here.

Also to everyone else, it appears to me in testing that UPGDSED seems to work fine with all current windows 10 versions(granted i've only tested up to 1803 but i'll test 1809 soon). You just need to modify the source a little using common sense changes. For instance in scan.c there's code that says
"switch (BuildNumber)" and lists the OS version number, just add to that. Then go through the source and add anywhere it checks for os. Use the last windows 10 pattern for each new build, and so far, good.
In terms of non-windows builds i've had a few users not be able to use this project unless they switch to english. Easy ยฏ_(ใƒ„)_/ยฏ

not work for win10 16299 ?

Microsoft Windows 10 x64 [Version 10.0.16299.309]
the exe run fin, and second boot chose is show.
when I setup my driver, setup show success, but....

a while later, the message box show my driver been forbidden because not sign

why

[help] Windows 10 version 1511 x64

Hi, I am having troubles hiding a process on windows 10. Maybe (most likely, but maybe you can suggest an other utility rootkit which works on win10) this question is totally unrelated and UPGDSED works as expected. I am not familiar with this whole process

Note: I got no issues on win 7 sp1 7601. However I can only install remote desktop protocol version 8.1 on win7. My friend told me on win7 he experience lot slower rdp speed than on win10. This is the reason I want to get it working on win 10. Cause win10 has rdp 10.2 which is lot faster with streaming online games.

I created a Win 10 1511 (TH2) x64 fresh install. Cloned the repo, ran Patch v1.1.3 as an admin. See the log:

WARNING: Using this tool might render your PC to an unbootable state.
If you want to continue type CONTINUE (all uppercase) and press Enter

CONTINUE
Patch: Windows Version: 10.0.10586, EFI

Patch: Symbol dlls extracted successfully.
Patch: Dbghelp initialized.
Patch: Copy files to %TEMP%
Patch: Copy success
Patch: Scanning ntoskrnl for patterns

Patch: Ntoskrnl version: 10.0.10586.0

-> SeValidateImageData          003F48C0
-> CcInitializeBcbProfiler      00681094
-> KeInitAmd64SpecificState     006B2EF8
-> ExpLicenseWatchInitWorker    006BB9D0
-> SepInitializeCodeIntegrity   0049C8B8

Patch: Ntoskrnl scan complete
Patch: Scanning winload for patterns

Patch: Winload version: 10.0.10586.0

-> ImgpValidateImageHash        00054A5C

Patch: Winload scan complete

Patch: ModifyFilesAndMove succeed
Patch: Executing BCDEDIT commands
bcdedit.exe -create {71A3C7FC-F751-4982-AEC1-E958357E6813} -d "Patch Guard Disabled" -application OSLOADER
The entry {71a3c7fc-f751-4982-aec1-e958357e6813} was successfully created.
bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} device partition=C:
The operation completed successfully.
bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} osdevice partition=C:
The operation completed successfully.
bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} systemroot \Windows
The operation completed successfully.
bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} path \Windows\system32\osloader.efi
The operation completed successfully.
bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} kernel ntkrnlmp.exe
The operation completed successfully.
bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} recoveryenabled 0
The operation completed successfully.
bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} nx OptIn
The operation completed successfully.
bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} nointegritychecks 1
The operation completed successfully.
bcdedit.exe -set {71A3C7FC-F751-4982-AEC1-E958357E6813} inherit {bootloadersettings}
The operation completed successfully.
bcdedit.exe -displayorder {71A3C7FC-F751-4982-AEC1-E958357E6813} -addlast
The operation completed successfully.
bcdedit.exe -timeout 10
The operation completed successfully.
bcdedit.exe -set bootmenupolicy legacy
The operation completed successfully.
Patch: Setting PeAuth service to manual start
Patch: PeAuth service set to manual start

Patch: BcdCreatePatchEntry succeed
Patch: Press Enter to exit

All seems to work. Restarted computer, booted into Patch Guard Disabled mode.

img_20171203_175417

Now, I found a tool called hidecon. I think Fyyre created it, specifically for win7 x64. I used it to hide process on win7 by hidecon -ld; hidecon -ph <PID>, when I execute hidecon -ld on win10 I get:

hidecon-ld-fail

When I press "close" and proceed with hidecon -ph <PID> I get BSOD.

Any ideas?

Cant load Driver

If im Trying to load a Driver it shows it has to be signed!

But i booted in Patch Guard Disabled and SecureBoot is off!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.