File: hardcoded_blocklist.cc

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (81 lines) | stat: -rw-r--r-- 3,447 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifdef UNSAFE_BUFFERS_BUILD
// TODO(crbug.com/40285824): Remove this and convert code to safer constructs.
#pragma allow_unsafe_buffers
#endif

#include "chrome/chrome_elf/third_party_dlls/hardcoded_blocklist.h"

namespace third_party_dlls {

namespace {

// Max size of the DLL blocklist.
constexpr size_t kDllBlocklistMaxSize = 64u;

// The DLLs listed here are known (or under strong suspicion) of causing crashes
// when they are loaded in the browser. DLLs should only be added to this list
// if there is nothing else Chrome can do to prevent those crashes.
// For more information about how this list is generated, and how to get off
// of it, see:
// https://sites.google.com/a/chromium.org/dev/Home/third-party-developers
const char* const kDllBlocklist[kDllBlocklistMaxSize] = {
    "949ba8b6a9.dll",           // Coupon Time.
    "activedetect32.dll",       // Lenovo One Key Theater.
                                // See crbug.com/379218.
    "activedetect64.dll",       // Lenovo One Key Theater.
    "bitguard.dll",             // Unknown (suspected malware).
    "bsvc.dll",                 // Unknown (suspected adware).
    "chrmxtn.dll",              // Unknown (keystroke logger).
    "cplushook.dll",            // Unknown (suspected malware).
    "crdli.dll",                // Linkury Inc.
    "crdli64.dll",              // Linkury Inc.
    "datamngr.dll",             // Unknown (suspected adware).
    "dpinterface32.dll",        // Unknown (suspected adware).
    "explorerex.dll",           // Unknown (suspected adware).
    "hk.dll",                   // Unknown (keystroke logger).
    "libapi2hook.dll",          // V-Bates.
    "libinject.dll",            // V-Bates.
    "libinject2.dll",           // V-Bates.
    "libredir2.dll",            // V-Bates.
    "libsvn_tsvn32.dll",        // TortoiseSVN.
    "libwinhook.dll",           // V-Bates.
    "lmrn.dll",                 // Unknown.
    "minisp.dll",               // Unknown (suspected malware).
    "minisp32.dll",             // Unknown (suspected malware).
    "offerswizarddll.dll",      // Unknown (suspected adware).
    "safetynut.dll",            // Unknown (suspected adware).
    "smdmf.dll",                // Unknown (suspected adware).
    "spappsv32.dll",            // Unknown (suspected adware).
    "systemk.dll",              // Unknown (suspected adware).
    "vntsrv.dll",               // Virtual New Tab by APN LLC.
    "wajam_goblin_64.dll",      // Wajam Internet Technologies.
    "wajam_goblin.dll",         // Wajam Internet Technologies.
    "windowsapihookdll32.dll",  // Lenovo One Key Theater.
                                // See crbug.com/379218.
    "windowsapihookdll64.dll",  // Lenovo One Key Theater.
    "virtualcamera.ax",         // %PROGRAMFILES%\ASUS\VirtualCamera.
                                // See crbug.com/422522.
    "ycwebcamerasource.ax",     // CyberLink Youcam, crbug.com/424159
    // Keep this null pointer here to mark the end of the list.
    nullptr,
};

}  // namespace

bool DllMatch(const std::string& module_name) {
  if (module_name.empty())
    return false;

  for (int i = 0; kDllBlocklist[i]; ++i) {
    if (strcmp(module_name.c_str(), kDllBlocklist[i]) == 0)
      return true;
  }

  return false;
}

}  // namespace third_party_dlls