Build 0.9.7b
This commit is contained in:
parent
935d70ff3d
commit
770d47d07c
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -7,6 +7,16 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
## [0.9.7b / 5.52.2] - 2021-10-05
|
||||
|
||||
### Fixed
|
||||
- fixed issue loading not unicode sandboxie.ini introduced with the previouse build
|
||||
|
||||
|
||||
|
||||
|
||||
## [0.9.7 / 5.52.1] - 2021-10-02
|
||||
|
||||
### Added
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
#ifndef _MY_VERSION_H
|
||||
#define _MY_VERSION_H
|
||||
|
||||
#define MY_VERSION_BINARY 5,52,1
|
||||
#define MY_VERSION_STRING "5.52.1"
|
||||
#define MY_VERSION_BINARY 5,52,2
|
||||
#define MY_VERSION_STRING "5.52.2"
|
||||
#define MY_VERSION_COMPAT "5.52.0" // this refers to the driver ABI compatibility
|
||||
|
||||
// These #defines are used by either Resource Compiler, or by NSIC installer
|
||||
|
|
|
@ -633,7 +633,7 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW(
|
|||
wcscat(wstrPortName, dynamicFalse + 9);
|
||||
}
|
||||
}
|
||||
else if (_wcsicmp(StringBinding, L"0497b57d-2e66-424f-a0c6-157cd5d41700@ncalrpc:") == 0) {
|
||||
/*else if (_wcsicmp(StringBinding, L"0497b57d-2e66-424f-a0c6-157cd5d41700@ncalrpc:") == 0) {
|
||||
|
||||
ULONG_PTR pkernel32 = (ULONG_PTR)GetModuleHandle(L"kernel32.dll");
|
||||
// kernel32.dll!AicpCreateBindingHandle
|
||||
|
@ -644,7 +644,7 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW(
|
|||
if (RpcRt_TestCallingModule(pRetAddr, pkernel32)) {
|
||||
use_RpcMgmtSetComTimeout = TRUE;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
WCHAR* CallingModule = Trace_FindModuleByAddress((void*)pRetAddr);
|
||||
if (CallingModule)
|
||||
|
@ -844,7 +844,7 @@ RPC_STATUS RPC_ENTRY RpcRt_RpcStringBindingComposeW(TCHAR *ObjUuid,TCHAR *ProtSe
|
|||
|
||||
void Sbie_StringFromGUID(const GUID* guid, WCHAR* str);
|
||||
|
||||
void RpcRt_NdrClientCallX(const WCHAR* Function, void* ReturnAddress,PMIDL_STUB_DESC pStubDescriptor)
|
||||
void RpcRt_NdrClientCallX(const WCHAR* Function, void* ReturnAddress,PMIDL_STUB_DESC pStubDescriptor, void* pFormat)
|
||||
{
|
||||
WCHAR text[512] = L"RpcRt_NdrClientCallX";
|
||||
__try
|
||||
|
@ -879,7 +879,7 @@ ULONG_PTR RpcRt_NdrClientCall2_x64(
|
|||
{
|
||||
void* ReturnAddress = (void*)*(__int64*)(vl - (3 * 8));
|
||||
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall2", ReturnAddress, pStubDescriptor);
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall2", ReturnAddress, pStubDescriptor, pFormat);
|
||||
|
||||
return FALSE; // return TRUE to not call the trampoline upon return
|
||||
}
|
||||
|
@ -890,7 +890,7 @@ ULONG_PTR RpcRt_NdrClientCall3_x64(
|
|||
void* ReturnAddress = (void*)*(__int64*)(vl - (4 * 8));
|
||||
|
||||
__try {
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall3", ReturnAddress, pProxyInfo->pStubDesc);
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall3", ReturnAddress, pProxyInfo->pStubDesc, pProxyInfo->ProcFormatString);
|
||||
}__except (EXCEPTION_EXECUTE_HANDLER) {}
|
||||
|
||||
return FALSE; // return TRUE to not call the trampoline upon return
|
||||
|
@ -905,7 +905,7 @@ ULONG_PTR __cdecl RpcRt_NdrClientCall_x86(
|
|||
//va_list vl;
|
||||
//va_start(vl, pFormat);
|
||||
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall", ReturnAddress, pStubDescriptor);
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall", ReturnAddress, pStubDescriptor, pFormat);
|
||||
|
||||
//va_end(vl);
|
||||
|
||||
|
@ -919,7 +919,7 @@ ULONG_PTR __cdecl RpcRt_NdrClientCall2_x86(
|
|||
//va_list vl;
|
||||
//va_start(vl, pFormat);
|
||||
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall2", ReturnAddress, pStubDescriptor);
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall2", ReturnAddress, pStubDescriptor, pFormat);
|
||||
|
||||
//va_end(vl);
|
||||
|
||||
|
@ -933,7 +933,7 @@ ULONG_PTR __cdecl RpcRt_NdrClientCall4_x86(
|
|||
//va_list vl;
|
||||
//va_start(vl, pFormat);
|
||||
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall4", ReturnAddress, pStubDescriptor);
|
||||
RpcRt_NdrClientCallX(L"NdrClientCall4", ReturnAddress, pStubDescriptor, pFormat);
|
||||
|
||||
//va_end(vl);
|
||||
|
||||
|
|
|
@ -1783,7 +1783,7 @@ ALIGNED BOOLEAN __cdecl Secure_CheckElevation64(
|
|||
#endif _WIN64
|
||||
|
||||
extern BOOLEAN g_rpc_client_hooks;
|
||||
void RpcRt_NdrClientCallX(const WCHAR* Function, void* ReturnAddress, VOID* pStubDescriptor);
|
||||
void RpcRt_NdrClientCallX(const WCHAR* Function, void* ReturnAddress, VOID* pStubDescriptor, void* pFormat);
|
||||
|
||||
ALIGNED BOOLEAN __cdecl Secure_CheckElevation(
|
||||
void *ReturnAddressFromNdrAsyncClientCall,
|
||||
|
@ -1791,9 +1791,9 @@ ALIGNED BOOLEAN __cdecl Secure_CheckElevation(
|
|||
{
|
||||
if (g_rpc_client_hooks) {
|
||||
#ifdef _WIN64
|
||||
RpcRt_NdrClientCallX(L"Ndr64AsyncClientCall", ReturnAddressFromNdrAsyncClientCall, pStubDescriptor);
|
||||
RpcRt_NdrClientCallX(L"Ndr64AsyncClientCall", ReturnAddressFromNdrAsyncClientCall, pStubDescriptor, pFormat);
|
||||
#else
|
||||
RpcRt_NdrClientCallX(L"NdrAsyncClientCall", ReturnAddressFromNdrAsyncClientCall, pStubDescriptor);
|
||||
RpcRt_NdrClientCallX(L"NdrAsyncClientCall", ReturnAddressFromNdrAsyncClientCall, pStubDescriptor, pFormat);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -897,18 +897,21 @@ ULONG SbieIniServer::CacheConfig()
|
|||
HeapFree(GetProcessHeap(), 0, iniData);
|
||||
iniDataPtr = iniData = tmpData;
|
||||
}
|
||||
else if (encoding == 2) { //Unicode (UTF-16 BE) BOM
|
||||
// swap all bytes
|
||||
UCHAR* tmpData = (UCHAR*)iniDataPtr;
|
||||
for (DWORD i = 0; i < bytesRead-1; i+=2) {
|
||||
UCHAR tmp = tmpData[i+1];
|
||||
tmpData[i+1] = tmpData[i];
|
||||
tmpData[i] = tmp;
|
||||
else {
|
||||
if (encoding == 2) { //Unicode (UTF-16 BE) BOM
|
||||
// swap all bytes
|
||||
UCHAR* tmpData = (UCHAR*)iniDataPtr;
|
||||
for (DWORD i = 0; i < bytesRead - 1; i += 2) {
|
||||
UCHAR tmp = tmpData[i + 1];
|
||||
tmpData[i + 1] = tmpData[i];
|
||||
tmpData[i] = tmp;
|
||||
}
|
||||
}
|
||||
//else if (encoding == 0) //Unicode (UTF-16 LE) BOM
|
||||
bytesRead /= sizeof(wchar_t);
|
||||
}
|
||||
//else if (encoding == 0) //Unicode (UTF-16 LE) BOM
|
||||
|
||||
iniDataPtr[bytesRead / sizeof(wchar_t)] = L'\0';
|
||||
iniDataPtr[bytesRead] = L'\0';
|
||||
|
||||
m_pConfigIni = new SConfigIni;
|
||||
m_pConfigIni->Encoding = encoding;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#define VERSION_MJR 0
|
||||
#define VERSION_MIN 9
|
||||
#define VERSION_REV 7
|
||||
#define VERSION_UPD 0
|
||||
#define VERSION_UPD 2
|
||||
|
||||
#ifndef STR
|
||||
#define STR2(X) #X
|
||||
|
|
Loading…
Reference in New Issue