diff --git a/src/helper.cpp b/src/helper.cpp index dfa8ac3f..c3062fb5 100644 --- a/src/helper.cpp +++ b/src/helper.cpp @@ -590,7 +590,8 @@ PR_OBJECT _app_getversioninfo (size_t app_hash, PITEM_APP ptr_app) if (VerQueryValue (versionInfo, L"\\VarFileInfo\\Translation", &retbuf, &vLen) && vLen == 4) { - CopyMemory (&langD, retbuf, vLen); + RtlCopyMemory (&langD, retbuf, vLen); + _r_str_printf (author_entry, _countof (author_entry), L"\\StringFileInfo\\%02X%02X%02X%02X\\CompanyName", (langD & 0xff00) >> 8, langD & 0xff, (langD & 0xff000000) >> 24, (langD & 0xff0000) >> 16); _r_str_printf (description_entry, _countof (description_entry), L"\\StringFileInfo\\%02X%02X%02X%02X\\FileDescription", (langD & 0xff00) >> 8, langD & 0xff, (langD & 0xff000000) >> 24, (langD & 0xff0000) >> 16); } @@ -1449,7 +1450,7 @@ rstring _app_getservicenamefromtag (HANDLE pid, PVOID ptag) if (_I_QueryTagInformation) { SC_SERVICE_TAG_QUERY nameFromTag; - SecureZeroMemory (&nameFromTag, sizeof (nameFromTag)); + RtlSecureZeroMemory (&nameFromTag, sizeof (nameFromTag)); nameFromTag.ProcessId = HandleToUlong (pid); nameFromTag.ServiceTag = PtrToUlong (ptag); @@ -1615,7 +1616,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map) } PITEM_NETWORK ptr_network = new ITEM_NETWORK; - SecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK)); + RtlSecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK)); const rstring path = _app_getnetworkpath (tcp4Table->table[i].dwOwningPid, tcp4Table->table[i].OwningModuleInfo, &ptr_network->icon_id, &ptr_network->app_hash); @@ -1669,7 +1670,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map) } PITEM_NETWORK ptr_network = new ITEM_NETWORK; - SecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK)); + RtlSecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK)); const rstring path = _app_getnetworkpath (tcp6Table->table[i].dwOwningPid, tcp6Table->table[i].OwningModuleInfo, &ptr_network->icon_id, &ptr_network->app_hash); @@ -1678,10 +1679,10 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map) ptr_network->af = AF_INET6; ptr_network->protocol = IPPROTO_TCP; - CopyMemory (ptr_network->remote_addr6.u.Byte, tcp6Table->table[i].ucRemoteAddr, FWP_V6_ADDR_SIZE); + RtlCopyMemory (ptr_network->remote_addr6.u.Byte, tcp6Table->table[i].ucRemoteAddr, FWP_V6_ADDR_SIZE); ptr_network->remote_port = _byteswap_ushort ((USHORT)tcp6Table->table[i].dwRemotePort); - CopyMemory (ptr_network->local_addr6.u.Byte, tcp6Table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE); + RtlCopyMemory (ptr_network->local_addr6.u.Byte, tcp6Table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE); ptr_network->local_port = _byteswap_ushort ((USHORT)tcp6Table->table[i].dwLocalPort); ptr_network->state = tcp6Table->table[i].dwState; @@ -1726,7 +1727,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map) } PITEM_NETWORK ptr_network = new ITEM_NETWORK; - SecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK)); + RtlSecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK)); const rstring path = _app_getnetworkpath (udp4Table->table[i].dwOwningPid, udp4Table->table[i].OwningModuleInfo, &ptr_network->icon_id, &ptr_network->app_hash); @@ -1773,7 +1774,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map) } PITEM_NETWORK ptr_network = new ITEM_NETWORK; - SecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK)); + RtlSecureZeroMemory (ptr_network, sizeof (ITEM_NETWORK)); const rstring path = _app_getnetworkpath (udp6Table->table[i].dwOwningPid, udp6Table->table[i].OwningModuleInfo, &ptr_network->icon_id, &ptr_network->app_hash); @@ -1782,7 +1783,7 @@ void _app_generate_connections (OBJECTS_MAP& ptr_map, HASHER_MAP& checker_map) ptr_network->af = AF_INET6; ptr_network->protocol = IPPROTO_UDP; - CopyMemory (ptr_network->local_addr6.u.Byte, udp6Table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE); + RtlCopyMemory (ptr_network->local_addr6.u.Byte, udp6Table->table[i].ucLocalAddr, FWP_V6_ADDR_SIZE); ptr_network->local_port = _byteswap_ushort ((USHORT)udp6Table->table[i].dwLocalPort); ptr_network->state = 0; @@ -1881,8 +1882,7 @@ void _app_generate_packages () } PITEM_APP_HELPER ptr_item = new ITEM_APP_HELPER; - - SecureZeroMemory (ptr_item, sizeof (ITEM_APP_HELPER)); + RtlSecureZeroMemory (ptr_item, sizeof (ITEM_APP_HELPER)); ptr_item->type = DataAppUWP; @@ -2051,8 +2051,7 @@ void _app_generate_services () if (serviceSid && !sidstring.IsEmpty ()) { PITEM_APP_HELPER ptr_item = new ITEM_APP_HELPER; - - SecureZeroMemory (ptr_item, sizeof (ITEM_APP_HELPER)); + RtlSecureZeroMemory (ptr_item, sizeof (ITEM_APP_HELPER)); ptr_item->type = DataAppService; ptr_item->timestamp = timestamp; @@ -2088,7 +2087,7 @@ void _app_generate_services () void _app_generate_rulesmenu (HMENU hsubmenu, size_t app_hash) { ITEM_COUNT stat = {0}; - SecureZeroMemory (&stat, sizeof (stat)); + RtlSecureZeroMemory (&stat, sizeof (stat)); _app_getcount (&stat); @@ -2348,7 +2347,7 @@ void _app_listviewsort (HWND hwnd, INT listview_id, INT column_id, bool is_notif void _app_refreshstatus (HWND hwnd, INT listview_id) { ITEM_COUNT stat = {0}; - SecureZeroMemory (&stat, sizeof (stat)); + RtlSecureZeroMemory (&stat, sizeof (stat)); _app_getcount (&stat); @@ -2616,7 +2615,7 @@ rstring _app_parsehostaddress_wsa (LPCWSTR hostname, USHORT port) bool _app_parsenetworkstring (LPCWSTR network_string, NET_ADDRESS_FORMAT * format_ptr, USHORT * port_ptr, FWP_V4_ADDR_AND_MASK * paddr4, FWP_V6_ADDR_AND_MASK * paddr6, LPWSTR paddr_dns, size_t dns_length) { NET_ADDRESS_INFO ni; - SecureZeroMemory (&ni, sizeof (ni)); + RtlSecureZeroMemory (&ni, sizeof (ni)); USHORT port = 0; BYTE prefix_length = 0; @@ -2654,7 +2653,7 @@ bool _app_parsenetworkstring (LPCWSTR network_string, NET_ADDRESS_FORMAT * forma { if (paddr6) { - CopyMemory (paddr6->addr, ni.Ipv6Address.sin6_addr.u.Byte, FWP_V6_ADDR_SIZE); + RtlCopyMemory (paddr6->addr, ni.Ipv6Address.sin6_addr.u.Byte, FWP_V6_ADDR_SIZE); paddr6->prefixLength = min (prefix_length, 128); } @@ -2851,7 +2850,7 @@ bool _app_parserulestring (rstring rule, PITEM_ADDRESS ptr_addr) if (ptr_addr->prange) { ptr_addr->prange->valueLow.type = FWP_BYTE_ARRAY16_TYPE; - CopyMemory (ptr_addr->prange->valueLow.byteArray16->byteArray16, addr6.addr, FWP_V6_ADDR_SIZE); + RtlCopyMemory (ptr_addr->prange->valueLow.byteArray16->byteArray16, addr6.addr, FWP_V6_ADDR_SIZE); } } else @@ -2883,7 +2882,7 @@ bool _app_parserulestring (rstring rule, PITEM_ADDRESS ptr_addr) if (ptr_addr->prange) { ptr_addr->prange->valueHigh.type = FWP_BYTE_ARRAY16_TYPE; - CopyMemory (ptr_addr->prange->valueHigh.byteArray16->byteArray16, addr6.addr, FWP_V6_ADDR_SIZE); + RtlCopyMemory (ptr_addr->prange->valueHigh.byteArray16->byteArray16, addr6.addr, FWP_V6_ADDR_SIZE); } } else @@ -2917,7 +2916,7 @@ bool _app_parserulestring (rstring rule, PITEM_ADDRESS ptr_addr) if (ptr_addr->paddr6) { ptr_addr->paddr6->prefixLength = addr6.prefixLength; - CopyMemory (ptr_addr->paddr6->addr, addr6.addr, FWP_V6_ADDR_SIZE); + RtlCopyMemory (ptr_addr->paddr6->addr, addr6.addr, FWP_V6_ADDR_SIZE); } } else if (format == NET_ADDRESS_DNS_NAME) @@ -3211,7 +3210,7 @@ HBITMAP _app_bitmapfrompng (HINSTANCE hinst, LPCWSTR name, INT icon_size) goto DoExit; // Check if the image format is supported: - if (memcmp (&pixelFormat, &GUID_WICPixelFormat32bppPRGBA, sizeof (GUID)) == 0) + if (RtlEqualMemory (&pixelFormat, &GUID_WICPixelFormat32bppPRGBA, sizeof (GUID))) { wicBitmapSource = (IWICBitmapSource*)wicFrame; } diff --git a/src/log.cpp b/src/log.cpp index 760446e2..d7a213d8 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -266,11 +266,11 @@ bool _wfp_logsubscribe (HANDLE hengine) FWPM_NET_EVENT_SUBSCRIPTION subscription; FWPM_NET_EVENT_ENUM_TEMPLATE enum_template; - SecureZeroMemory (&subscription, sizeof (subscription)); - SecureZeroMemory (&enum_template, sizeof (enum_template)); + RtlSecureZeroMemory (&subscription, sizeof (subscription)); + RtlSecureZeroMemory (&enum_template, sizeof (enum_template)); if (config.psession) - CopyMemory (&subscription.sessionKey, config.psession, sizeof (GUID)); + RtlCopyMemory (&subscription.sessionKey, config.psession, sizeof (GUID)); enum_template.numFilterConditions = 0; // get events for all conditions @@ -368,12 +368,12 @@ void CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const *pft, UINT8 const*a if (FwpmLayerGetById (hengine, layer_id, &layer) == ERROR_SUCCESS && layer) { - if (memcmp (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4, sizeof (GUID)) == 0 || memcmp (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V6, sizeof (GUID)) == 0) + if (RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4, sizeof (GUID)) || RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_FLOW_ESTABLISHED_V6, sizeof (GUID))) { FwpmFreeMemory ((void **)&layer); return; } - //else if (memcmp (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4, sizeof (GUID)) == 0 || memcmp (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6, sizeof (GUID)) == 0) + //else if (RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V4, sizeof (GUID)) || RtlEqualMemory (&layer->layerKey, &FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V6, sizeof (GUID))) //{ // direction = FWP_DIRECTION_INBOUND; //} @@ -403,7 +403,7 @@ void CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const *pft, UINT8 const*a if (ptr_filter->providerKey) { - if (memcmp (ptr_filter->providerKey, &GUID_WfpProvider, sizeof (GUID)) == 0) + if (RtlEqualMemory (ptr_filter->providerKey, &GUID_WfpProvider, sizeof (GUID))) is_myprovider = true; if (FwpmProviderGetByKey (hengine, ptr_filter->providerKey, &ptr_provider) == ERROR_SUCCESS && ptr_provider) @@ -427,8 +427,7 @@ void CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const *pft, UINT8 const*a if (ptr_entry) { PITEM_LOG ptr_log = new ITEM_LOG; - - SecureZeroMemory (ptr_log, sizeof (ITEM_LOG)); + RtlSecureZeroMemory (ptr_log, sizeof (ITEM_LOG)); // get package id (win8+) rstring sidstring; @@ -524,11 +523,11 @@ void CALLBACK _wfp_logcallback (UINT32 flags, FILETIME const *pft, UINT8 const*a // remote address if ((flags & FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET) != 0 && remote_addr) - CopyMemory (ptr_log->remote_addr6.u.Byte, ((FWP_BYTE_ARRAY16*)remote_addr)->byteArray16, FWP_V6_ADDR_SIZE); + RtlCopyMemory (ptr_log->remote_addr6.u.Byte, ((FWP_BYTE_ARRAY16*)remote_addr)->byteArray16, FWP_V6_ADDR_SIZE); // local address if ((flags & FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET) != 0 && local_addr) - CopyMemory (ptr_log->local_addr6.u.Byte, ((FWP_BYTE_ARRAY16*)local_addr)->byteArray16, FWP_V6_ADDR_SIZE); + RtlCopyMemory (ptr_log->local_addr6.u.Byte, ((FWP_BYTE_ARRAY16*)local_addr)->byteArray16, FWP_V6_ADDR_SIZE); } if ((flags & FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET) != 0 && remote_port) diff --git a/src/main.cpp b/src/main.cpp index 22808697..438e4277 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -276,19 +276,19 @@ COLORREF _app_getcolor (INT listview_id, size_t app_hash) if (ptr_app) { - if (app.ConfigGet (L"IsHighlightTimer", true, L"colors").AsBool () && _app_istimeractive (ptr_app)) - color_value = L"ColorTimer"; - - else if (app.ConfigGet (L"IsHighlightInvalid", true, L"colors").AsBool () && !_app_isappexists (ptr_app)) + if (app.ConfigGet (L"IsHighlightInvalid", true, L"colors").AsBool () && !_app_isappexists (ptr_app)) color_value = L"ColorInvalid"; + else if (app.ConfigGet (L"IsHighlightTimer", true, L"colors").AsBool () && _app_istimeractive (ptr_app)) + color_value = L"ColorTimer"; + else if (!is_networkslist && !ptr_app->is_silent && app.ConfigGet (L"IsHighlightConnection", true, L"colors").AsBool () && _app_isapphaveconnection (app_hash)) color_value = L"ColorConnection"; else if (app.ConfigGet (L"IsHighlightSigned", true, L"colors").AsBool () && !ptr_app->is_silent && app.ConfigGet (L"IsCertificatesEnabled", false).AsBool () && ptr_app->is_signed) color_value = L"ColorSigned"; - else if (app.ConfigGet (L"IsHighlightSpecial", true, L"colors").AsBool () && _app_isapphaverule (app_hash)) + else if (app.ConfigGet (L"IsHighlightSpecial", true, L"colors").AsBool () && !ptr_app->is_silent && _app_isapphaverule (app_hash)) color_value = L"ColorSpecial"; else if (!is_networkslist && !is_appslist && app.ConfigGet (L"IsHighlightSilent", true, L"colors").AsBool () && ptr_app->is_silent) @@ -2842,13 +2842,13 @@ void _app_initialize () DWORD token_length = 0; PTOKEN_USER token_user = nullptr; - if (OpenProcessToken (GetCurrentProcess (), TOKEN_QUERY, &token)) + if (OpenProcessToken (NtCurrentProcess (), TOKEN_QUERY, &token)) { GetTokenInformation (token, TokenUser, nullptr, 0, &token_length); if (GetLastError () == ERROR_INSUFFICIENT_BUFFER) { - token_user = new TOKEN_USER[token_length]; + token_user = (PTOKEN_USER)new BYTE[token_length]; if (GetTokenInformation (token, TokenUser, token_user, token_length, &token_length)) { @@ -3011,17 +3011,11 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) _app_settab_id (hwnd, app.ConfigGet (L"CurrentTab", IDC_APPS_PROFILE).AsInt ()); // initialize dropped packets log callback thread (win7+) - { - SecureZeroMemory (&log_stack, sizeof (log_stack)); + RtlSecureZeroMemory (&log_stack, sizeof (log_stack)); + RtlInitializeSListHead (&log_stack.ListHead); - log_stack.item_count = 0; - log_stack.thread_count = 0; - - InitializeSListHead (&log_stack.ListHead); - - // create notification window - _app_notifycreatewindow (hwnd); - } + // create notification window + _app_notifycreatewindow (hwnd); // create network monitor thread _r_createthread (&NetworkMonitorThread, (LPVOID)hwnd, false, THREAD_PRIORITY_LOWEST); @@ -3582,9 +3576,7 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) LONG result = CDRF_DODEFAULT; LPNMLVCUSTOMDRAW lpnmcd = (LPNMLVCUSTOMDRAW)lparam; - const INT ctrl_id = static_cast(lpnmcd->nmcd.hdr.idFrom); - - if (ctrl_id == IDC_TOOLBAR) + if (static_cast(lpnmcd->nmcd.hdr.idFrom) == IDC_TOOLBAR) { result = _app_nmcustdraw_toolbar (lpnmcd); } @@ -3743,7 +3735,15 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) INT command_id = 0; const INT ctrl_id = static_cast(lpnmlv->hdr.idFrom); - if (ctrl_id == IDC_STATUSBAR) + if (ctrl_id >= IDC_APPS_PROFILE && ctrl_id <= IDC_APPS_UWP) + { + command_id = IDM_EXPLORE; + } + else if (ctrl_id >= IDC_RULES_BLOCKLIST && ctrl_id <= IDC_NETWORK) + { + command_id = IDM_PROPERTIES; + } + else if (ctrl_id == IDC_STATUSBAR) { LPNMMOUSE nmouse = (LPNMMOUSE)lparam; @@ -3756,14 +3756,6 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) else if (nmouse->dwItemSpec == 2) command_id = IDM_PURGE_TIMERS; } - else if (ctrl_id >= IDC_APPS_PROFILE && ctrl_id <= IDC_APPS_UWP) - { - command_id = IDM_EXPLORE; - } - else if (ctrl_id >= IDC_RULES_BLOCKLIST && ctrl_id <= IDC_NETWORK) - { - command_id = IDM_PROPERTIES; - } if (command_id) PostMessage (hwnd, WM_COMMAND, MAKEWPARAM (command_id, 0), 0); @@ -5515,7 +5507,7 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { if (ptr_network->af == AF_INET && ptr_network->state == MIB_TCP_STATE_ESTAB) { - SecureZeroMemory (&tcprow, sizeof (tcprow)); + RtlSecureZeroMemory (&tcprow, sizeof (tcprow)); tcprow.dwState = MIB_TCP_STATE_DELETE_TCB; tcprow.dwLocalAddr = ptr_network->local_addr.S_un.S_addr; @@ -5884,7 +5876,7 @@ INT_PTR CALLBACK DlgProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) UINT32 remote_addr = _byteswap_ulong (ipv4_remote.S_un.S_addr); UINT32 local_addr = _byteswap_ulong (ipv4_local.S_un.S_addr); - _wfp_logcallback (flags, &ft, (UINT8*)path.GetString (), nullptr, (SID*)config.padminsid, IPPROTO_TCP, FWP_IP_VERSION_V4, &remote_addr, RP_AD, &local_addr, LP_AD, layer_id, filter_id, FWP_DIRECTION_OUTBOUND, false, false); + _wfp_logcallback (flags, &ft, (UINT8*)path.GetString (), nullptr, (SID*)config.padminsid, IPPROTO_TCP, FWP_IP_VERSION_V4, remote_addr, nullptr, RP_AD, local_addr, nullptr, LP_AD, layer_id, filter_id, FWP_DIRECTION_OUTBOUND, false, false); } break; diff --git a/src/profile.cpp b/src/profile.cpp index da770f57..6ebce039 100644 --- a/src/profile.cpp +++ b/src/profile.cpp @@ -19,20 +19,20 @@ bool _app_getappinfo (size_t app_hash, EnumInfo info_key, LPVOID presult, size_t { if (info_key == InfoTimestamp) { - CopyMemory (presult, &ptr_app->timestamp, size); + RtlCopyMemory (presult, &ptr_app->timestamp, size); } else if (info_key == InfoIconId) { - CopyMemory (presult, &ptr_app->icon_id, size); + RtlCopyMemory (presult, &ptr_app->icon_id, size); } else if (info_key == InfoSilent) { - CopyMemory (presult, &ptr_app->is_silent, size); + RtlCopyMemory (presult, &ptr_app->is_silent, size); } else if (info_key == InfoListviewId) { INT v = _app_getlistview_id (ptr_app->type); - CopyMemory (presult, &v, size); + RtlCopyMemory (presult, &v, size); } } @@ -83,8 +83,7 @@ size_t _app_addapplication (HWND hwnd, LPCWSTR path, time_t timestamp, time_t ti return app_hash; // already exists PITEM_APP ptr_app = new ITEM_APP; - - SecureZeroMemory (ptr_app, sizeof (ITEM_APP)); + RtlSecureZeroMemory (ptr_app, sizeof (ITEM_APP)); const bool is_ntoskrnl = (app_hash == config.ntoskrnl_hash); @@ -658,8 +657,7 @@ void _app_ruleenable (PITEM_RULE ptr_rule, bool is_enable) else { PITEM_RULE_CONFIG ptr_config = new ITEM_RULE_CONFIG; - - SecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG)); + RtlSecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG)); ptr_config->is_enabled = is_enable; _r_str_alloc (&ptr_config->pname, INVALID_SIZE_T, ptr_rule->pname); @@ -670,8 +668,7 @@ void _app_ruleenable (PITEM_RULE ptr_rule, bool is_enable) else { PITEM_RULE_CONFIG ptr_config = new ITEM_RULE_CONFIG; - - SecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG)); + RtlSecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG)); ptr_config->is_enabled = is_enable; _r_str_alloc (&ptr_config->pname, INVALID_SIZE_T, ptr_rule->pname); @@ -1025,7 +1022,7 @@ bool _app_isrulehost (LPCWSTR rule) return false; NET_ADDRESS_INFO ni; - SecureZeroMemory (&ni, sizeof (ni)); + RtlSecureZeroMemory (&ni, sizeof (ni)); USHORT port = 0; BYTE prefix_length = 0; @@ -1061,7 +1058,7 @@ bool _app_isruleip (LPCWSTR rule) return false; NET_ADDRESS_INFO ni; - SecureZeroMemory (&ni, sizeof (ni)); + RtlSecureZeroMemory (&ni, sizeof (ni)); USHORT port = 0; BYTE prefix_length = 0; @@ -1292,8 +1289,7 @@ void _app_profile_load_helper (const pugi::xml_node & root, EnumDataType type, U if (rule_hash && rules_config.find (rule_hash) == rules_config.end ()) { PITEM_RULE_CONFIG ptr_config = new ITEM_RULE_CONFIG; - - SecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG)); + RtlSecureZeroMemory (ptr_config, sizeof (ITEM_RULE_CONFIG)); ptr_config->is_enabled = item.attribute (L"is_enabled").as_bool (); diff --git a/src/wfp.cpp b/src/wfp.cpp index d38e4994..b3826731 100644 --- a/src/wfp.cpp +++ b/src/wfp.cpp @@ -80,7 +80,7 @@ bool _wfp_initialize (bool is_full) SAFE_DELETE (config.psession); } - SecureZeroMemory (&session, sizeof (session)); + RtlSecureZeroMemory (&session, sizeof (session)); session.displayData.name = APP_NAME; session.displayData.description = APP_NAME; @@ -88,7 +88,7 @@ bool _wfp_initialize (bool is_full) session.txnWaitTimeoutInMSec = TRANSACTION_TIMEOUT; if (config.psession) - CopyMemory (&session.sessionKey, config.psession, sizeof (GUID)); + RtlCopyMemory (&session.sessionKey, config.psession, sizeof (GUID)); rc = FwpmEngineOpen (nullptr, RPC_C_AUTHN_WINNT, nullptr, &session, &config.hengine); @@ -124,9 +124,9 @@ bool _wfp_initialize (bool is_full) else { const size_t count = 2; - EXPLICIT_ACCESS access[count] = {0}; + EXPLICIT_ACCESS access[count] = {{0}}; - SecureZeroMemory (access, count * sizeof (EXPLICIT_ACCESS)); + RtlSecureZeroMemory (access, count * sizeof (EXPLICIT_ACCESS)); // create default (engine) acl access[0].grfAccessPermissions = FWPM_GENERIC_ALL | DELETE | WRITE_DAC | WRITE_OWNER; @@ -705,10 +705,10 @@ DWORD _wfp_createfilter (HANDLE hengine, LPCWSTR name, FWPM_FILTER_CONDITION * l } if (layer) - CopyMemory (&filter.layerKey, layer, sizeof (GUID)); + RtlCopyMemory (&filter.layerKey, layer, sizeof (GUID)); if (callout) - CopyMemory (&filter.action.calloutKey, callout, sizeof (GUID)); + RtlCopyMemory (&filter.action.calloutKey, callout, sizeof (GUID)); filter.weight.type = FWP_UINT8; filter.weight.uint8 = weight; @@ -823,10 +823,10 @@ bool _wfp_createrulefilter (HANDLE hengine, LPCWSTR name, size_t app_hash, LPCWS FWP_V6_ADDR_AND_MASK addr6 = {0}; FWP_RANGE range; - SecureZeroMemory (&range, sizeof (range)); + RtlSecureZeroMemory (&range, sizeof (range)); ITEM_ADDRESS addr; - SecureZeroMemory (&addr, sizeof (addr)); + RtlSecureZeroMemory (&addr, sizeof (addr)); addr.paddr4 = &addr4; addr.paddr6 = &addr6; @@ -1519,7 +1519,7 @@ bool _wfp_create2filters (HANDLE hengine, UINT line, bool is_intransact) FWP_V6_ADDR_AND_MASK addr6 = {0}; ITEM_ADDRESS addr; - SecureZeroMemory (&addr, sizeof (addr)); + RtlSecureZeroMemory (&addr, sizeof (addr)); addr.paddr4 = &addr4; addr.paddr6 = &addr6; @@ -1793,7 +1793,7 @@ size_t _wfp_dumpfilters (HANDLE hengine, const GUID * pprovider, GUIDS_VEC * ptr { FWPM_FILTER* pf = matchingFwpFilter[i]; - if (pf && pf->providerKey && memcmp (pf->providerKey, pprovider, sizeof (GUID)) == 0) + if (pf && pf->providerKey && RtlEqualMemory (pf->providerKey, pprovider, sizeof (GUID))) ptr_filters->push_back (pf->filterKey); } @@ -2055,16 +2055,16 @@ bool ByteBlobAlloc (PVOID const data, size_t length, FWP_BYTE_BLOB * *lpblob) if (!data || !length || !lpblob) return false; - FWP_BYTE_BLOB* blob = new FWP_BYTE_BLOB; + FWP_BYTE_BLOB* pblob = new FWP_BYTE_BLOB; - SecureZeroMemory (blob, sizeof (FWP_BYTE_BLOB)); + RtlSecureZeroMemory (pblob, sizeof (FWP_BYTE_BLOB)); - blob->data = new UINT8[length]; - blob->size = (UINT32)length; + pblob->data = new UINT8[length]; + pblob->size = (UINT32)length; - CopyMemory (blob->data, data, length); + RtlCopyMemory (pblob->data, data, length); - *lpblob = blob; + *lpblob = pblob; return true; }