资源简介
静态过PG
通用补丁过保护和驱动程序签名强制禁用
UPGDSED
Universal PatchGuard and Driver Signature Enforcement Disable
![](http://www.nz998.com/pic/70009.jpg)
代码片段和文件信息
/*******************************************************************************
*
* (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个文件信息
相关资源
- FPGA实现PID.v
- 基于FPGA的sdi视频传输工程(k7_sdi_rx
- FPGA彩条显示
- Xilinx-FPGA-引脚功能详细介绍.doc
- 基于xilinx FPGA的PCIe设计实战
- 基于PCIe的FPGA动态配置设计与实现
- 为什么工程师要掌握FPGA开发知识?
- 数字频率合成dds正弦波基于FPGA的DDS产
- Verilog FPGA UART串口控制器
- gmsk调制在FPGA上实现
- 一个简单的verilog编写的DMA IP CORE,和
- FPGA在步进电机驱动上的应用实例及代
- fpga实现频率测量
- FPGA开发-ChipScope教程
- c 制作的RPG小游戏
- 将yuv各种格式的图片转换为jpg格式的
- 红外循迹小车VHDL程序
- 基于FPGA的USB接口设计
- DE2模拟的交通红绿灯
- 一种抗SEU存储器电路的FPGA设计
- Cyclone 10LP Remote Update Intel FPGA IP 官方工
- nRF24L01无线模块在单片机与FPGA上的应
- 基于FPGA多协议转换网关设计
- 超强JPG图片压缩工具,减小图片文件
- fpga数字钟
- FPGA按键消抖
- 具有可编程环路补偿功能高密度电源
- FPGA系统中有源电容放电电路设计需注
- 玩转Altera FPGA:基于PLL分频计数的LE
- 二院型号FPGA 硬件描述语言编程准则
评论
共有 条评论