Exemple #1
0
BOOL writeWlanAdapterGuidsToRegistry()
{
	TRACE_ENTER();

	vector<tstring> nstrWlanAdapterGuids = getWlanAdapterGuids();
	if (nstrWlanAdapterGuids.size() == 0)
	{
		TRACE_PRINT1("getWlanAdapterGuids: error, nstrWlanAdapterGuids.size() = %d.", nstrWlanAdapterGuids.size());
		TRACE_EXIT();
		return FALSE;
	}

	for (size_t i = 0; i < nstrWlanAdapterGuids.size(); i++)
	{
		nstrWlanAdapterGuids[i] = _T("\\Device\\{") + nstrWlanAdapterGuids[i] + _T("}");
	}

	tstring strGuidText = printAdapterNames(nstrWlanAdapterGuids);

	TRACE_PRINT1("AddFlagToRegistry_Dot11Adapters: executing, strGuidText = %s.", strGuidText.c_str());
	TRACE_EXIT();
	return AddFlagToRegistry_Dot11Adapters(strGuidText.c_str());

}
Exemple #2
0
int _tmain(int argc, _TCHAR* argv[])
{
	BOOL bSuccess = FALSE;
	BOOL bNoWindow = FALSE;

	SetConsoleTitle(_T("NPFInstall for Npcap ") _T(WINPCAP_VER_STRING) _T(" (http://npcap.org)"));
	vector<tstring> strArgs;
	tstring strTmp;
	for (int i = 0; i < argc; i++)
	{
		strTmp = argv[i];
		if (strTmp == _T("-n"))
		{
			bNoWindow = TRUE;
		}
		else
		{
			strArgs.push_back(strTmp);
		}
	}

	if (bNoWindow)
	{
		ShowWindow(GetConsoleWindow(), SW_HIDE);
	}

	if (strArgs.size() == 1)
	{
		_tprintf(STR_COMMAND_USAGE);
		return -1;
	}
	else if (strArgs.size() >= 3)
	{
		_tprintf(STR_INVALID_PARAMETER);
		return -1;
	}
	else //strArgs.size() == 2
	{
		if (strArgs[1] == _T("-i"))
		{
			bSuccess = PacketInstallDriver60(FALSE);
			if (bSuccess)
			{
				_tprintf(_T("Npcap LWF driver (standard version) has been successfully installed!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap LWF driver (standard version) has failed to be installed.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-i2"))
		{
			bSuccess = PacketInstallDriver60(TRUE);
			if (bSuccess)
			{
				_tprintf(_T("Npcap LWF driver (WiFi version) has been successfully installed!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap LWF driver (WiFi version) has failed to be installed.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-u"))
		{
			bSuccess = PacketStopDriver60();
			if (bSuccess)
			{
				_tprintf(_T("Npcap LWF driver has been successfully uninstalled!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap LWF driver has failed to be uninstalled.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-ii"))
		{
			bSuccess = PacketInstallDriver40();
			if (bSuccess)
			{
				_tprintf(_T("NPF legacy driver has been successfully installed!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("NPF legacy driver has failed to be installed.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-uu"))
		{
			bSuccess = PacketStopDriver40();
			if (bSuccess)
			{
				_tprintf(_T("NPF legacy driver has been successfully uninstalled!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("NPF legacy driver has failed to be uninstalled.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-il"))
		{
			bSuccess = InstallLoopbackAdapter();
			if (bSuccess)
			{
				_tprintf(_T("Npcap Loopback adapter has been successfully installed!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap Loopback adapter has failed to be installed.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-ul"))
		{
			bSuccess = UninstallLoopbackAdapter();
			if (bSuccess)
			{
				_tprintf(_T("Npcap Loopback adapter has been successfully uninstalled!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap Loopback adapter has failed to be uninstalled.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-iw"))
		{
			bSuccess = InstallWFPCallout();
			if (bSuccess)
			{
				_tprintf(_T("Npcap WFP callout driver has been successfully installed!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap WFP callout driver has failed to be installed.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-uw"))
		{
			bSuccess = UninstallWFPCallout();
			if (bSuccess)
			{
				_tprintf(_T("Npcap WFP callout driver has been successfully uninstalled!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap WFP callout driver has failed to be uninstalled.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-r"))
		{
			bSuccess = PacketRenableBindings();
			if (bSuccess)
			{
				_tprintf(_T("Npcap driver's bindings have been successfully restarted!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap driver's bindings have failed to be restarted.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-d"))
		{
			bSuccess = PacketIsServiceStopPending();
			if (bSuccess)
			{
				_tprintf(_T("Npcap service is pending to stop!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap service is not pending to stop.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-c"))
		{
			bSuccess = ClearDriverStore();
			if (bSuccess)
			{
				_tprintf(_T("Npcap driver cache in Driver Store has been successfully cleaned up!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Npcap driver cache in Driver Store has failed to be cleaned up.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-wlan_check"))
		{
			vector<tstring> nstrAdapterGuids;
			nstrAdapterGuids = getWlanAdapterGuids();
			if (nstrAdapterGuids.size() != 0)
			{
				_tprintf(_T("Wlan adapters: %s\n"), printArray(nstrAdapterGuids).c_str());
				return 0;
			}
			else
			{
				_tprintf(_T("Wlan adapters: NULL\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-wlan_write_reg"))
		{
			bSuccess = writeWlanAdapterGuidsToRegistry();
			if (bSuccess)
			{
				_tprintf(_T("Wlan adapters have been successfully written to registry!\n"));
				return 0;
			}
			else
			{
				_tprintf(_T("Wlan adapters have failed to be written to registry.\n"));
				return -1;
			}
		}
		else if (strArgs[1] == _T("-h"))
		{
			_tprintf(STR_COMMAND_USAGE);
			return -1;
		}
		else
		{
			_tprintf(STR_INVALID_PARAMETER);
			return -1;
		}
	}

	return 0;
}