• 大小: 1.55MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-30
  • 语言: 其他
  • 标签: PG  

资源简介

静态过PG 通用补丁过保护和驱动程序签名强制禁用 UPGDSED Universal PatchGuard and Driver Signature Enforcement Disable

资源截图

代码片段和文件信息

/*******************************************************************************
*
*  (C) COPYRIGHT AUTHORS 2017
*
*  title:       BCD.C
*
*  VERSION:     1.11
*
*  DATE:        28 June 2017
*
*  Boot Configuration Data related routines.
*
* THIS CODE AND INFORMATION IS PROVIDED “AS IS“ WITHOUT WARRANTY OF
* ANY KIND EITHER EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED
* TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
*
*******************************************************************************/
#include “global.h“

/*
* BcdRtlStrToUl
*
* Purpose:
*
* wcstoul simplified.
*
*/
unsigned long BcdRtlStrToUl(wchar_t *s)
{
    unsigned long long a = 0;
    wchar_t c;

    if (s == 0)
        return 0;

    while (*s != 0) {
        c = *s;
        if (_isdigit_w(c))
            a = (a * 10) + (c - L‘0‘);
        else
            break;

        if (a > ULONG_MAX)
            return ULONG_MAX;

        s++;
    }
    return (unsigned long)a;
}

/*
* BcdOpenKey
*
* Purpose:
*
* Open store key.
*
*/
NTSTATUS BcdOpenKey(
    _In_opt_ HANDLE hRootKey
    _In_ LPWSTR KeyName
    _In_ ACCESS_MASK DesiredAccess
    _Out_ HANDLE *hKey

{
    object_ATTRIBUTES Obja;
    UNICODE_STRING usName;
    NTSTATUS Status = STATUS_UNSUCCESSFUL;

    usName.Buffer = NULL;
    usName.Length = 0;
    usName.MaximumLength = 0;
    RtlInitUnicodeString(&usName KeyName);
    InitializeobjectAttributes(&Obja &usName OBJ_CASE_INSENSITIVE hRootKey NULL);
    Status = NtOpenKey(hKey DesiredAccess &Obja);
    return Status;
}

/*
* BcdReadValue
*
* Purpose:
*
* Read given value to output buffer.
* Returned Buffer must be released with RtlFreeHeap after use.
*
*/
NTSTATUS BcdReadValue(
    _In_ HANDLE hKey
    _In_ LPWSTR ValueName
    _Out_ PVOID *Buffer
    _Out_ ULONG *BufferSize

{
    KEY_VALUE_PARTIAL_INFORMATION *kvpi;
    UNICODE_STRING usName;
    NTSTATUS Status = STATUS_UNSUCCESSFUL;
    ULONG Length = 0;
    PVOID CopyBuffer = NULL;

    *Buffer = NULL;
    *BufferSize = 0;

    usName.Buffer = NULL;
    usName.Length = 0;
    usName.MaximumLength = 0;

    RtlInitUnicodeString(&usName ValueName);
    Status = NtQueryValueKey(hKey &usName KeyValuePartialInformation NULL 0 &Length);
    if (Status == STATUS_BUFFER_TOO_SMALL) {

        kvpi = RtlAllocateHeap(NtCurrentPeb()->ProcessHeap HEAP_ZERO_MEMORY Length);
        if (kvpi) {

            Status = NtQueryValueKey(hKey &usName KeyValuePartialInformation kvpi Length &Length);
            if (NT_SUCCESS(Status)) {

                CopyBuffer = RtlAllocateHeap(NtCurrentPeb()->ProcessHeap HEAP_ZERO_MEMORY kvpi->DataLength);
                if (CopyBuffer) {
                    RtlCopyMemory(CopyBuffer kvpi->Data kvpi->DataLength);
                    *Buffer = CopyBuffer;
                    *BufferSize = kvpi->DataLength;
                    Status = STATUS_SUCCESS;
                }
                else
                {
                   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-03-29 10:32  UPGDSED-master\
     文件        1059  2019-03-29 10:32  UPGDSED-master\LICENSE.md
     文件        1993  2019-03-29 10:32  UPGDSED-master\README.md
     文件        6056  2019-03-29 10:32  UPGDSED-master\UPGDSED.sha256
     目录           0  2019-03-29 10:32  UPGDSED-master\bin\
     文件        1237  2019-03-29 10:32  UPGDSED-master\bin\changelog.txt
     文件     1744384  2019-03-29 10:32  UPGDSED-master\bin\patch.exe
     目录           0  2019-03-29 10:32  UPGDSED-master\src\
     文件       18378  2019-03-29 10:32  UPGDSED-master\src\bcd.c
     文件         786  2019-03-29 10:32  UPGDSED-master\src\bcd.h
     目录           0  2019-03-29 10:32  UPGDSED-master\src\cui\
     文件        2364  2019-03-29 10:32  UPGDSED-master\src\cui\cui.c
     文件         740  2019-03-29 10:32  UPGDSED-master\src\cui\cui.h
     文件        3200  2019-03-29 10:32  UPGDSED-master\src\global.h
     文件       25892  2019-03-29 10:32  UPGDSED-master\src\main.c
     目录           0  2019-03-29 10:32  UPGDSED-master\src\minirtl\
     文件        2601  2019-03-29 10:32  UPGDSED-master\src\minirtl\_filename.c
     文件         757  2019-03-29 10:32  UPGDSED-master\src\minirtl\_filename.h
     文件         459  2019-03-29 10:32  UPGDSED-master\src\minirtl\_strcat.c
     文件         549  2019-03-29 10:32  UPGDSED-master\src\minirtl\_strcmp.c
     文件         592  2019-03-29 10:32  UPGDSED-master\src\minirtl\_strcmpi.c
     文件         496  2019-03-29 10:32  UPGDSED-master\src\minirtl\_strcpy.c
     文件         243  2019-03-29 10:32  UPGDSED-master\src\minirtl\_strend.c
     文件         287  2019-03-29 10:32  UPGDSED-master\src\minirtl\_strlen.c
     文件         695  2019-03-29 10:32  UPGDSED-master\src\minirtl\_strncmp.c
     文件         737  2019-03-29 10:32  UPGDSED-master\src\minirtl\_strncmpi.c
     文件         642  2019-03-29 10:32  UPGDSED-master\src\minirtl\_strncpy.c
     文件        2725  2019-03-29 10:32  UPGDSED-master\src\minirtl\cmdline.c
     文件         698  2019-03-29 10:32  UPGDSED-master\src\minirtl\cmdline.h
     文件        3882  2019-03-29 10:32  UPGDSED-master\src\minirtl\minirtl.h
     文件         835  2019-03-29 10:32  UPGDSED-master\src\minirtl\rtltypes.h
............此处省略49个文件信息

评论

共有 条评论