This commit is contained in:
parent
cacd8625c1
commit
7cbec731f4
|
@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file.
|
|||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
|
||||
## [0.8.2 / 5.50.2] - 2021-06-15
|
||||
|
||||
### Fixed
|
||||
- properly fixed an issue with driver verifyer and user handles
|
||||
- fixed an issue with CreateWindow introduced with 0.8.0
|
||||
|
||||
|
||||
|
||||
## [0.8.1 / 5.50.1] - 2021-06-14
|
||||
|
||||
### Fixed
|
||||
|
@ -832,3 +840,4 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||
|
||||
### Fixed
|
||||
- fixed "Windows Installer Service could not be accessed" that got introduced with Windows 1903
|
||||
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
#ifndef _MY_VERSION_H
|
||||
#define _MY_VERSION_H
|
||||
|
||||
#define MY_VERSION_BINARY 5,50,1
|
||||
#define MY_VERSION_STRING "5.50.1"
|
||||
#define MY_VERSION_BINARY 5,50,2
|
||||
#define MY_VERSION_STRING "5.50.2"
|
||||
#define MY_VERSION_COMPAT "5.50.0" // this refers to the driver ABI compatibility
|
||||
|
||||
// These #defines are used by either Resource Compiler, or by NSIC installer
|
||||
|
|
|
@ -254,7 +254,7 @@ _FX ULONG File_IsNamedPipe(const WCHAR *path, const WCHAR **server)
|
|||
// check if this is an Internet device matching a ClosedFilePath
|
||||
//
|
||||
|
||||
if (len >= 10 && _wcsnicmp(path, File_Mup, 8) == 0) {
|
||||
if (len >= 10 && _wcsnicmp(path, File_Mup, 8) == 0) { // match \device\ only
|
||||
|
||||
BOOLEAN prompt = SbieApi_QueryConfBool(NULL, L"PromptForInternetAccess", FALSE);
|
||||
if (SbieApi_CheckInternetAccess(NULL, path + 8, !prompt) == STATUS_ACCESS_DENIED
|
||||
|
|
|
@ -1310,7 +1310,7 @@ _FX HWND Gui_CreateWindowExW(
|
|||
// replace window procedure
|
||||
//
|
||||
|
||||
if (hwndResult && !Gui_RenameClasses) {
|
||||
if (hwndResult && Gui_RenameClasses) {
|
||||
|
||||
Gui_SetWindowProc(hwndResult, FALSE);
|
||||
|
||||
|
@ -1418,7 +1418,7 @@ _FX HWND Gui_CreateWindowExA(
|
|||
// replace window procedure
|
||||
//
|
||||
|
||||
if (hwndResult && !Gui_RenameClasses) {
|
||||
if (hwndResult && Gui_RenameClasses) {
|
||||
|
||||
Gui_SetWindowProc(hwndResult, FALSE);
|
||||
|
||||
|
@ -2621,4 +2621,4 @@ _FX BOOLEAN ComDlg32_Init(HMODULE hModule)
|
|||
//}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
|
@ -1163,35 +1163,32 @@ _FX NTSTATUS Ipc_Api_DuplicateObject(PROCESS *proc, ULONG64 *parms)
|
|||
// wont be able to grab it while we are evaluaiting it
|
||||
//
|
||||
|
||||
HANDLE SourceKernelHandle;
|
||||
status = Thread_GetKernelHandleForUserHandle(&SourceKernelHandle, SourceHandle);
|
||||
HANDLE SourceProcessKernelHandle;
|
||||
status = Thread_GetKernelHandleForUserHandle(&SourceProcessKernelHandle, SourceProcessHandle);
|
||||
if (NT_SUCCESS(status)) {
|
||||
|
||||
HANDLE SourceProcessKernelHandle;
|
||||
status = Thread_GetKernelHandleForUserHandle(&SourceProcessKernelHandle, SourceProcessHandle);
|
||||
HANDLE TargetProcessKernelHandle = ZwCurrentProcess(); // TargetProcessHandle == NtCurrentProcess();
|
||||
|
||||
//
|
||||
// driver verifier wants us to provide a kernel handle as process handles
|
||||
// but the source handle must be a user handle and the ZwDuplicateObject
|
||||
// function creates an otehr user handle hence NtClose
|
||||
//
|
||||
|
||||
status = ZwDuplicateObject(
|
||||
SourceProcessKernelHandle, SourceHandle,
|
||||
TargetProcessKernelHandle, &TestHandle,
|
||||
DesiredAccess, HandleAttributes,
|
||||
Options & ~DUPLICATE_CLOSE_SOURCE);
|
||||
|
||||
if (NT_SUCCESS(status)) {
|
||||
|
||||
HANDLE TargetProcessKernelHandle = ZwCurrentProcess();
|
||||
//status = Thread_GetKernelHandleForUserHandle(&TargetProcessKernelHandle, TargetProcessHandle);
|
||||
//if (NT_SUCCESS(status)) {
|
||||
status = Ipc_CheckObjectName(TestHandle, UserMode);
|
||||
|
||||
status = ZwDuplicateObject(
|
||||
SourceProcessKernelHandle, SourceKernelHandle,
|
||||
TargetProcessKernelHandle, &TestHandle,
|
||||
DesiredAccess, HandleAttributes,
|
||||
Options & ~DUPLICATE_CLOSE_SOURCE);
|
||||
|
||||
if (NT_SUCCESS(status)) {
|
||||
|
||||
status = Ipc_CheckObjectName(TestHandle, UserMode);
|
||||
|
||||
ZwClose(TestHandle);
|
||||
}
|
||||
// ZwClose(TargetProcessKernelHandle);
|
||||
//}
|
||||
ZwClose(SourceProcessKernelHandle);
|
||||
NtClose(TestHandle);
|
||||
}
|
||||
ZwClose(SourceKernelHandle);
|
||||
|
||||
ZwClose(SourceProcessKernelHandle);
|
||||
}
|
||||
|
||||
} else
|
||||
|
|
|
@ -71,7 +71,7 @@ CTraceView::CTraceView(QWidget* parent) : CPanelWidget<QTreeViewEx>(parent)
|
|||
connect(m_pTraceTid, SIGNAL(currentIndexChanged(int)), this, SLOT(OnSetTidFilter()));
|
||||
m_pTraceToolBar->addWidget(m_pTraceTid);
|
||||
|
||||
m_pOnlyCurrent = new QCheckBox(tr("Show only sellectes box"));
|
||||
m_pOnlyCurrent = new QCheckBox(tr("Filter selected box only"));
|
||||
m_pTraceToolBar->addWidget(m_pOnlyCurrent);
|
||||
|
||||
m_pMainLayout->setSpacing(0);
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
#define VERSION_MJR 0
|
||||
#define VERSION_MIN 8
|
||||
#define VERSION_REV 1
|
||||
#define VERSION_REV 2
|
||||
#define VERSION_UPD 0
|
||||
|
||||
#ifndef STR
|
||||
|
|
Loading…
Reference in New Issue