Source code
Revision control
Copy as Markdown
Other Tools
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# This file exposes these lists:
# ALL_PROCESSES, BROWSER_PROCESS, CHILD_PROCESSES, GMPLUGIN_PROCESSES,
# GPU_PROCESSES, UTILITY_PROCESSES, and SOCKET_PROCESSES
#
# In addition, each of those lists supports a special variant for test-only
# entries:
# ALL_PROCESSES_TESTS, BROWSER_PROCESS_TESTS, CHILD_PROCESSES_TESTS,
# GMPLUGIN_PROCESSES_TESTS, GPU_PROCESSES_TESTS, UTILITY_PROCESSES_TESTS, and
# SOCKET_PROCESSES_TESTS
#
# Choose the list that is applicable to the applicable process type(s) for your
# DLL block.
#
# The currently supported blocklist entry types are:
# DllBlocklistEntry, A11yBlocklistEntry, LspBlocklistEntry,
# RedirectToNoOpEntryPoint
# (See gen_dll_blocklist_defs.py for their documentation.)
#
# Example:
# ALL_PROCESSES += [
# DllBlocklistEntry("foo.dll", (1, 2, 3, 4)),
# DllBlocklistEntry("foo.dll", ALL_VERSIONS),
# DllBlocklistEntry("foo.dll", UNVERSIONED),
# DllBlocklistEntry("foo.dll", 0x0000123400000000),
# DllBlocklistEntry("foo.dll", PETimeStamp(0x12345678)),
# ]
#
# The version parameter the "last bad" version, that is, we block anything that
# is less-than or equal to that version.
ALL_PROCESSES += [
# NPFFAddon - Known malware
DllBlocklistEntry("npffaddon.dll", ALL_VERSIONS),
# AVG 8 - Antivirus vendor AVG, old version, plugin already blocklisted
DllBlocklistEntry("avgrsstx.dll", (8,5,0,401)),
# calc.dll - Suspected malware
DllBlocklistEntry("calc.dll", (1,0,0,1)),
# hook.dll - Suspected malware
DllBlocklistEntry("hook.dll", ALL_VERSIONS),
# GoogleDesktopNetwork3.dll - Extremely old, unversioned instances
# of this DLL cause crashes
# GoogleDesktopNetwork3.dll - Discontinued product but seems to crash at
# least on Win7 32-bits
#
# Since it was already blocked for all processes but unversioned DLLs, it
# looks like one cannot have this and a second block declaration for
# utility processes but limiting versions / windows targets
DllBlocklistEntry("googledesktopnetwork3.dll", ALL_VERSIONS),
# rdolib.dll - Suspected malware
DllBlocklistEntry("rdolib.dll", (6,0,88,4)),
# fgjk4wvb.dll - Suspected malware
DllBlocklistEntry("fgjk4wvb.dll", (8,8,8,8)),
# radhslib.dll - Naomi internet filter - unmaintained since 2006
DllBlocklistEntry("radhslib.dll", UNVERSIONED),
# Music download filter for vkontakte.ru - old instances
# of this DLL cause crashes
DllBlocklistEntry("vksaver.dll", (2,2,2,0)),
# Topcrash in Firefox 4.0b1
DllBlocklistEntry("rlxf.dll", (1,2,323,1)),
# psicon.dll - Topcrashes in Thunderbird, and some crashes in Firefox
# Adobe photoshop library, now redundant in later installations
DllBlocklistEntry("psicon.dll", ALL_VERSIONS),
DllBlocklistEntry("accelerator.dll", (3,2,1,6)),
DllBlocklistEntry("rf-firefox.dll", (7,6,1,0)),
DllBlocklistEntry("roboform.dll", (7,6,1,0)),
DllBlocklistEntry("babyfox.dll", ALL_VERSIONS),
DllBlocklistEntry("sprotector.dll", ALL_VERSIONS),
DllBlocklistEntry("mfflac.dll", ALL_VERSIONS),
DllBlocklistEntry("rlnx.dll", (1, 3, 334, 9)),
DllBlocklistEntry("pmnx.dll", (1, 3, 334, 9)),
DllBlocklistEntry("opnx.dll", (1, 3, 334, 9)),
DllBlocklistEntry("prnx.dll", (1, 3, 334, 9)),
# Older belgian ID card software causes Firefox to crash or hang on
DllBlocklistEntry("beid35cardlayer.dll", (3, 5, 6, 6968)),
DllBlocklistEntry("bitguard.dll", ALL_VERSIONS),
# Software is discontinued/unsupported
DllBlocklistEntry("atkdx11disp.dll", ALL_VERSIONS),
DllBlocklistEntry("spvc32.dll", ALL_VERSIONS),
DllBlocklistEntry("libinject.dll", UNVERSIONED),
DllBlocklistEntry("libinject2.dll", PETimeStamp(0x537DDC93)),
DllBlocklistEntry("libredir2.dll", PETimeStamp(0x5385B7ED)),
DllBlocklistEntry("rf-firefox-22.dll", ALL_VERSIONS),
DllBlocklistEntry("rf-firefox-40.dll", ALL_VERSIONS),
DllBlocklistEntry("dtwxsvc.dll", PETimeStamp(0x53153234)),
DllBlocklistEntry("activedetect32.dll", UNVERSIONED),
DllBlocklistEntry("activedetect64.dll", UNVERSIONED),
DllBlocklistEntry("windowsapihookdll32.dll", UNVERSIONED),
DllBlocklistEntry("windowsapihookdll64.dll", UNVERSIONED),
DllBlocklistEntry("rndlnpshimswf.dll", ALL_VERSIONS),
DllBlocklistEntry("rndlmainbrowserrecordplugin.dll", ALL_VERSIONS),
DllBlocklistEntry("nprpffbrowserrecordext.dll", ALL_VERSIONS),
DllBlocklistEntry("nprndlffbrowserrecordext.dll", ALL_VERSIONS),
DllBlocklistEntry("ycwebcamerasource.ax", (2, 0, 0, 1611)),
DllBlocklistEntry("vwcsource.ax", (1, 5, 0, 0)),
DllBlocklistEntry("nlsp.dll", (6, 23, 2012, 19)),
DllBlocklistEntry("grabdll.dll", (2, 6, 1, 0)),
DllBlocklistEntry("grabkernel.dll", (1, 0, 0, 1)),
DllBlocklistEntry("ss2osd.dll", ALL_VERSIONS),
DllBlocklistEntry("ss2devprops.dll", ALL_VERSIONS),
DllBlocklistEntry("nhasusstrixosd.dll", ALL_VERSIONS),
DllBlocklistEntry("nhasusstrixdevprops.dll", ALL_VERSIONS),
DllBlocklistEntry("opls.dll", ALL_VERSIONS),
DllBlocklistEntry("opls64.dll", ALL_VERSIONS),
DllBlocklistEntry("pmls.dll", ALL_VERSIONS),
DllBlocklistEntry("pmls64.dll", ALL_VERSIONS),
DllBlocklistEntry("prls.dll", ALL_VERSIONS),
DllBlocklistEntry("prls64.dll", ALL_VERSIONS),
DllBlocklistEntry("rlls.dll", ALL_VERSIONS),
DllBlocklistEntry("rlls64.dll", ALL_VERSIONS),
DllBlocklistEntry("vorbis.acm", (0, 0, 3, 6)),
DllBlocklistEntry("nzbrcom.dll", ALL_VERSIONS),
DllBlocklistEntry("k7pswsen.dll", (15, 2, 2, 102)),
DllBlocklistEntry("smci32.dll", ALL_VERSIONS),
DllBlocklistEntry("smci64.dll", ALL_VERSIONS),
DllBlocklistEntry("idmcchandler7.dll", ALL_VERSIONS),
DllBlocklistEntry("idmcchandler7_64.dll", ALL_VERSIONS),
DllBlocklistEntry("idmcchandler5.dll", ALL_VERSIONS),
DllBlocklistEntry("idmcchandler5_64.dll", ALL_VERSIONS),
DllBlocklistEntry("nahimic2devprops.dll", (2, 5, 19, 0xffff)),
DllBlocklistEntry("nahimicmsiosd.dll", UNVERSIONED),
DllBlocklistEntry("nahimicvrdevprops.dll", UNVERSIONED),
DllBlocklistEntry("nahimic2osd.dll", (2, 5, 19, 0xffff)),
DllBlocklistEntry("nahimicmsidevprops.dll", UNVERSIONED),
DllBlocklistEntry("onepin-opensc-pkcs11.dll", (0, 19, 0, 448)),
DllBlocklistEntry("pghook.dll", ALL_VERSIONS),
DllBlocklistEntry("banksafe64.dll", (1, 2, 15299, 65535)),
DllBlocklistEntry("gdkbfltdll64.dll", (1, 0, 14141, 240)),
DllBlocklistEntry("dbroverlayiconnotbackuped.dll", (1, 8, 0, 9)),
DllBlocklistEntry("dbroverlayiconbackuped.dll", (1, 8, 0, 9)),
DllBlocklistEntry("nviewh64.dll", (6, 14, 10, 14847)),
DllBlocklistEntry("sxwmon.dll", ALL_VERSIONS),
DllBlocklistEntry("sxwmon64.dll", ALL_VERSIONS),
DllBlocklistEntry("safemon64.dll", ALL_VERSIONS),
RedirectToNoOpEntryPoint("dgapi.dll", (7, 5, 0xffff, 0xffff)),
RedirectToNoOpEntryPoint("dgapi64.dll", (7, 5, 0xffff, 0xffff)),
DllBlocklistEntry("IseGuard32.dll", (1, 6, 13835, 184)),
DllBlocklistEntry("IseGuard64.dll", (1, 6, 13835, 184)),
DllBlocklistEntry("guard64.dll", (8, 4, 0, 65535)),
DllBlocklistEntry("WRDll.x64.dll", (1, 1, 0, 227)),
DllBlocklistEntry("WRDll.x86.dll", (1, 1, 0, 227)),
DllBlocklistEntry("WRusr.dll", (9, 0, 32, 49)),
DllBlocklistEntry("iwprn.dll", (6, 9, 11, 360)),
DllBlocklistEntry("iwprn_x86.dll", (6, 9, 11, 360)),
DllBlocklistEntry("qipcap.dll", (7, 7, 819, 1)),
DllBlocklistEntry("qipcap64.dll", (7, 7, 819, 1)),
DllBlocklistEntry("CylanceMemDef64.dll", ALL_VERSIONS),
]
# Shell extensions that result in crashes when the file-dialog is opened. (These
# are currently blocked in all processes because at present there's no facility
# to block them only in processes that might open a file-dialog.)
ALL_PROCESSES += [
DllBlocklistEntry("Database.dll", ALL_VERSIONS),
# Hancom Office shell extension causes crashes when the file picker is
DllBlocklistEntry("hncshellext64.dll", (1, 0, 0, 3)),
# FYunZip and PuddingZip, loaded as shell extension, cause crashes
DllBlocklistEntry("oly64.dll", (1, 1, 3, 19920)),
DllBlocklistEntry("oly.dll", (1, 1, 3, 19920)),
DllBlocklistEntry("pdzipmenu64.dll", (1, 4, 4, 20103)),
DllBlocklistEntry("pdzipmenu32.dll", (1, 4, 4, 20103)),
DllBlocklistEntry("asuswsshellext64.dll", (1, 1, 0, 27)),
DllBlocklistEntry("explorerpatcher.amd64.dll", ALL_VERSIONS),
]
ALL_PROCESSES_TESTS += [
# DLLs used by TestDllBlocklist* gTests
DllBlocklistEntry("testdllblocklist_matchbyname.dll", ALL_VERSIONS),
DllBlocklistEntry("testdllblocklist_matchbyversion.dll", (5, 5, 5, 5)),
DllBlocklistEntry("testdllblocklist_allowbyversion.dll", (5, 5, 5, 5)),
RedirectToNoOpEntryPoint("testdllblocklist_noopentrypoint.dll",
(5, 5, 5, 5)),
DllBlocklistEntry("testdllblocklist_singlenotification1.dll", ALL_VERSIONS),
DllBlocklistEntry("testdllblocklist_singlenotification2.dll", (5, 5, 5, 5)),
DllBlocklistEntry("testdllblocklist_multipleentries_differentprocesses.dll", UNVERSIONED),
# Multiple entries so that search is required to account for each one
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessbackward.dll", (5, 5, 5, 5)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessbackward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessbackward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessbackward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessbackward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessbackward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessbackward.dll", (1, 1, 1, 1)),
# Multiple entries so that search is required to account for each one
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessforward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessforward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessforward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessforward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessforward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessforward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessforward.dll", (1, 1, 1, 1)),
DllBlocklistEntry("testdllblocklist_multipleentries_sameprocessforward.dll", (5, 5, 5, 5)),
]
BROWSER_PROCESS += [
# Versions before 18.1.11.0 cause severe performance problems.
A11yBlocklistEntry("dtvhooks.dll", (18, 1, 10, 0xffff)),
A11yBlocklistEntry("dtvhooks64.dll", (18, 1, 10, 0xffff)),
DllBlocklistEntry("BLEtokenCredentialProvider.dll", (2, 1, 63, 0)),
# McAfee Data Loss Prevention causes crashs with multiple signatures,
DllBlocklistEntry("fcagff.dll", (11, 6, 300, 2)),
DllBlocklistEntry("fcagff64.dll", (11, 6, 300, 2)),
DllBlocklistEntry("avmvirtualsource.ax", (1, 0, 0, 3)),
DllBlocklistEntry("aswJsFlt.dll", (18, 0, 1473, 0)),
DllBlocklistEntry("ss3devprops.dll", ALL_VERSIONS),
DllBlocklistEntry("audiodevprops2.dll", (2, 6, 14, 0)),
DllBlocklistEntry("kisfdpro64.dll", ALL_VERSIONS),
DllBlocklistEntry("dghmpg64.dll", ALL_VERSIONS),
DllBlocklistEntry("fwcwsp64.dll", (7, 0, 7734, 100)),
# up-to-date setups use DNIe_P11_x64.dll instead
DllBlocklistEntry("UsrDNIeCertStore.dll", ALL_VERSIONS),
DllBlocklistEntry("amf-wic-jpeg-decoder64.dll", ALL_VERSIONS),
DllBlocklistEntry("amf-wic-jpeg-decoder32.dll", ALL_VERSIONS),
]
CHILD_PROCESSES += [
DllBlocklistEntry("wbload.dll", ALL_VERSIONS),
DllBlocklistEntry("videocapturer.dll", ALL_VERSIONS),
DllBlocklistEntry("videocapturerhk32.dll", ALL_VERSIONS),
DllBlocklistEntry("videocapturerhk64.dll", ALL_VERSIONS),
# The crash seems to be in the *_m module which has been unloaded.
DllBlocklistEntry("safaweb.dll", (3, 0, 21, 3181)),
DllBlocklistEntry("safaweb_m.dll", (3, 0, 21, 3181)),
DllBlocklistEntry("safaweb64.dll", (3, 0, 21, 3181)),
DllBlocklistEntry("safaweb64_m.dll", (3, 0, 21, 3181)),
DllBlocklistEntry("hmpalert.dll", (3, 8, 8, 889)),
DllBlocklistEntry("T_Prevent64.dll", ALL_VERSIONS),
DllBlocklistEntry("TDCommonLib64.dll", ALL_VERSIONS),
DllBlocklistEntry("ks3rdhmpg.dll", ALL_VERSIONS),
DllBlocklistEntry("TbdgHook.dll", (1, 5, 9, 0)),
DllBlocklistEntry("TbdgHook64.dll", (1, 5, 9, 0)),
DllBlocklistEntry("AppMonitorDll.dll", (36, 30, 0, 0)),
]
GPU_PROCESSES += [
DllBlocklistEntry("nahimicosd.dll", (2, 2, 25, 0)),
]
GPU_PROCESSES_TESTS += [
# DLLs used by TestDllBlocklist* gTests
DllBlocklistEntry("testdllblocklist_gpuprocessonly.dll", ALL_VERSIONS),
DllBlocklistEntry("testdllblocklist_multipleentries_differentprocesses.dll", ALL_VERSIONS)
]
SOCKET_PROCESSES += [
DllBlocklistEntry("ipseng64.dll", (17, 2, 6, 25)),
DllBlocklistEntry("ipseng32.dll", (17, 2, 6, 25)),
DllBlocklistEntry("kwsui64.dll", ALL_VERSIONS),
]
SOCKET_PROCESSES_TESTS += [
# DLLs used by TestDllBlocklist* gTests
DllBlocklistEntry("testdllblocklist_socketprocessonly.dll", ALL_VERSIONS),
]
UTILITY_PROCESSES += [
# Generated dynamic code that we block
DllBlocklistEntry("cyinjct.dll", ALL_VERSIONS),
DllBlocklistEntry("ipseng64.dll", ALL_VERSIONS),
DllBlocklistEntry("ipseng32.dll", ALL_VERSIONS),
DllBlocklistEntry("kwsui64.dll", ALL_VERSIONS),
DllBlocklistEntry("WRusr.dll", ALL_VERSIONS),
]
UTILITY_PROCESSES_TESTS += [
# DLLs used by TestDllBlocklist* gTests
DllBlocklistEntry("testdllblocklist_utilityprocessonly.dll", ALL_VERSIONS),
]
GMPLUGIN_PROCESSES += [
DllBlocklistEntry("ipseng64.dll", ALL_VERSIONS),
DllBlocklistEntry("ipseng32.dll", ALL_VERSIONS),
DllBlocklistEntry("kwsui64.dll", ALL_VERSIONS),
DllBlocklistEntry("protector64.dll", ALL_VERSIONS),
]
GMPLUGIN_PROCESSES_TESTS += [
# DLLs used by TestDllBlocklist* gTests
DllBlocklistEntry("testdllblocklist_gmpluginprocessonly.dll", ALL_VERSIONS),
]