Пример #1
0
LONG WINAPI Mine_RegSetValueExA(HKEY a0, LPCSTR a1, DWORD a2, DWORD a3, const BYTE* a4, DWORD a5)
{
    if (CFilterMapper2::m_pFilterMapper2 && (a0 == FAKEHKEY || (INT_PTR)a0 < 0)) {
        return ERROR_SUCCESS;
    }
    return Real_RegSetValueExA(a0, a1, a2, a3, a4, a5);
}
Пример #2
0
LONG WINAPI Mine_RegSetValueExA(HKEY a0, LPCSTR a1, DWORD a2, DWORD a3, const BYTE* a4, DWORD a5)
{
    // (INT_PTR)a0 < 0 will catch all attempts to use a predefined HKEY directly
    if (CFilterMapper2::s_pFilterMapper2 && (a0 == FAKEHKEY || (INT_PTR)a0 < 0)) {
        return ERROR_SUCCESS;
    }
    return Real_RegSetValueExA(a0, a1, a2, a3, a4, a5);
}
Пример #3
0
LONG WINAPI Replace_RegSetValueExA(HKEY hKey,LPCSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE* lpData,DWORD cbData)
{
	LONG nRet;
	__try
	{
		nRet = Real_RegSetValueExA(hKey, lpValueName, Reserved, dwType, lpData, cbData);
		if(!HOOK_RegSetValueEx)
			return nRet;
		if(GetCurrentProcessId() == ExplorerPID)
			return nRet;
		if(GetCurrentProcessId() == RegMonPID)
			return nRet;
		if((PID == 0) || ((GetCurrentProcessId() == PID) && (PID>0)) )
		{
			if(lpValueName == NULL || lpData == NULL)
				return nRet;
			COPYDATASTRUCT data;
			PARAMS params ;
			memset(&params,0,sizeof(PARAMS));
			params.PID = GetCurrentProcessId();
			params.hKey = hKey;
			memcpy(params.buf1, lpValueName, strlen(lpValueName));
			params.type = dwType;
			if(cbData>MAX_BUF_LEN )
			{
				memcpy(params.buf2, lpData, 1024);
				params.cbbuf2 = MAX_BUF_LEN;
			}
			else
			{
				memcpy(params.buf2, lpData, cbData);
				params.cbbuf2 = cbData;
			}
			params.result = nRet;

			data.cbData = sizeof(PARAMS);
			data.lpData = (void *)&params;
			data.dwData = TYPE_RegSetValueExA;
			SendMessage(g_hWnd, WM_COPYDATA, (WPARAM)g_hWnd, (LPARAM)&data);
		}
	}__finally
	{
	};
	return nRet;
}
Пример #4
0
LONG WINAPI Mine_RegSetValueExA(HKEY a0, LPCSTR a1, DWORD a2, DWORD a3, BYTE* a4, DWORD a5)
{
	TRACE_SVP("SET RegAeX %s" , a1);
	if(CFilterMapper2::m_pFilterMapper2 && (a0 == FAKEHKEY || (int)a0 < 0)) {return ERROR_SUCCESS;}
	return Real_RegSetValueExA(a0, a1, a2, a3, a4, a5);
}