Ejemplo n.º 1
0
 // RegDeleteValueA替换
LONG WINAPI Replace_RegQueryValueExA(HKEY hKey, LPCSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType, LPBYTE lpData,LPDWORD lpcbData)
{
	LONG nRet;
	__try
	{
		nRet = Real_RegQueryValueExA(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData);
		if(!HOOK_RegQueryValueEx)
			return nRet;
		if(GetCurrentProcessId() == ExplorerPID)
			return nRet;
		if(GetCurrentProcessId() == RegMonPID)
			return nRet;
		if((PID == 0) || ((GetCurrentProcessId() == PID) && (PID>0)) )
		{
			if(nRet != ERROR_SUCCESS)
				return nRet;
			COPYDATASTRUCT data;
			PARAMS params;
			memset(&params,0,sizeof(PARAMS));
			params.PID = GetCurrentProcessId();
			params.hKey = hKey;
			if(lpValueName == NULL || /*lpType == NULL ||*/ lpData == NULL || lpcbData == NULL)
				return nRet;
			
			memcpy(params.buf1, lpValueName, strlen(lpValueName));
			
			if(lpType == NULL)
				params.type = 0;
			else
				params.type = *lpType;
			
			if(*lpcbData == 0)
			{
				return nRet;
			}
			else if(*lpcbData>MAX_BUF_LEN )
			{
				memcpy(params.buf2, lpData, 1024);
				params.cbbuf2 = MAX_BUF_LEN;
			}
			else
			{
				memcpy(params.buf2, lpData, *lpcbData);
				params.cbbuf2 = *lpcbData;
			}
			params.result = nRet;
			
			data.cbData = sizeof(PARAMS);
			data.lpData = (void *)&params;
			data.dwData = TYPE_RegQueryValueExA;

		::SendMessage(g_hWnd, WM_COPYDATA, (WPARAM)g_hWnd, (LPARAM)&data);
		}
		
	}__finally
	{
	};
	return nRet;
}
Ejemplo n.º 2
0
LONG WINAPI Mine_RegQueryValueExA(HKEY a0, LPCSTR a1, LPDWORD a2, LPDWORD a3, LPBYTE a4, LPDWORD a5)
{
    if (CFilterMapper2::m_pFilterMapper2 && a0 == FAKEHKEY) {
        *a5 = 0;
        return ERROR_SUCCESS;
    }
    return Real_RegQueryValueExA(a0, a1, a2, a3, a4, a5);
}
Ejemplo n.º 3
0
LONG WINAPI Mine_RegQueryValueExA(HKEY a0, LPCSTR a1, LPDWORD a2, LPDWORD a3, LPBYTE a4, LPDWORD a5)
{
	TRACE_SVP("Mine_RegQueryValueExA %s" , a1);
	if(a1){
        if ( (a0 == (FAKEHKEY+1) || a0 == (FAKEHKEY+3) )){
		//*a3 = REG_SZ;
		TRACE_SVP( "Mine_RegQueryValueExA Serial %s %u %u",  a1, *a5, a4);
		if(*a5 < 40){
			a4 = (LPBYTE)new char[40];
			*a5 = 40;
		}
        if( _strcmpi(a1, "Serial") == 0){
            if( a0 == (FAKEHKEY+3))
                strcpy_s((char *)a4, *a5, "AFGD2R-3VRY6U-RBY69G-34NQAX-RUGX00");
            else
                strcpy_s((char *)a4, *a5, "03JUN-10K9Y-CORE-0CLQV-JOTFL");
        }
        if( _strcmpi(a1, "User") == 0){
            if( a0 == (FAKEHKEY+3))
                strcpy_s((char *)a4, *a5, "HERiTAGE");
            else
		        strcpy_s((char *)a4, *a5, "HERiTAGE");
        }
		return ERROR_SUCCESS;
		}
		if(_strcmpi(a1, "AVC 7x Deblock") == 0){
			*(DWORD*)a4 = 1;
			return ERROR_SUCCESS;
		}
		
		if(_strcmpi(a1, "AVC 7x Deinterlace") == 0){
			*(DWORD*)a4 = 1;
			return ERROR_SUCCESS;
		}
		if(_strcmpi(a1, "AVC 7x HwDeinterlace") == 0){
			*(DWORD*)a4 = 0;
			return ERROR_SUCCESS;
		}
		
		if(_strcmpi(a1, "AVC 7x DisplayOrder") == 0){
			*(DWORD*)a4 = 0;
			return ERROR_SUCCESS;
		}
		if(_strcmpi(a1, "AVC 7x Logo") == 0){
			*(DWORD*)a4 = 0;
			return ERROR_SUCCESS;
		}
	}
		
	
	if(CFilterMapper2::m_pFilterMapper2 && a0 == FAKEHKEY) {*a5 = 0; return ERROR_SUCCESS;}
	LONG ret = Real_RegQueryValueExA(a0, a1, a2, a3, a4, a5);
	if(a1 && a0 == (FAKEHKEY+2)){
		TRACE_SVP( "Mine_RegQueryValueExA %s %u %u %s",  a1, a3,  a4, a4);
	}
	if(a1 && _strcmpi(a1, "UIUseHVA") == 0){
		TRACE_SVP( "Mine_RegQueryValueExA %s %u %u ",  a1, a3,  a4);
		*(DWORD*)a4 = 0;
		return ERROR_SUCCESS;
	}
	return ret;
}