Lenovo used firmware to install persistent crapware

Windows 8 and Windows 10 contain a surprising feature that many users will find unwelcome: PC OEMs can embed a Windows executable in their system firmware. Windows 8 and 10 will then extract this executable during boot time and run it automatically. In this way, the OEM can inject software onto a Windows machine even if the operating system was cleanly installed.

The good news is that most OEMs fortunately do not seem to take advantage of this feature. The bad news is that “most” is not “all.” Between October 2014 and April of this year, Lenovo used this feature to preinstall software onto certain Lenovo desktop and laptop systems, calling the feature the “Lenovo Service Engine.”

Microsoft provides more detailed on what, exactly, this functionality, dubbed the Windows Platform Binary Table, is supposed to be for (.docx file!), and how it works. From reading the document, it becomes clear that installing tracking software – which is what Lenovo is using this for – is not exactly what Microsoft had in mind.

The Windows PC world is such a mess.

57 Comments

  1. 2015-08-12 11:13 pm
    • 2015-08-13 1:55 am
  2. 2015-08-13 12:10 am
    • 2015-08-13 2:20 am
    • 2015-08-13 4:26 am
  • 2015-08-13 1:59 am
    • 2015-08-13 3:28 am
      • 2015-08-13 5:17 am
        • 2015-08-13 6:54 am
          • 2015-08-14 8:45 am
  • 2015-08-13 2:38 am
    • 2015-08-13 3:46 am
      • 2015-08-13 8:56 am
        • 2015-08-13 8:59 am
          • 2015-08-13 9:02 am
          • 2015-08-13 5:27 pm
          • 2015-08-13 7:45 pm
  • 2015-08-13 3:44 am
    • 2015-08-13 9:05 am
      • 2015-08-13 9:09 am
  • 2015-08-13 6:24 am
    • 2015-08-13 12:08 pm
      • 2015-08-13 12:40 pm
        • 2015-08-13 2:22 pm
  • 2015-08-13 6:53 am
    • 2015-08-13 7:19 am
    • 2015-08-13 8:41 am
      • 2015-08-13 9:08 am
        • 2015-08-13 9:15 am
          • 2015-08-13 9:20 am
          • 2015-08-13 9:27 am
          • 2015-08-13 9:37 am
          • 2015-08-15 7:37 pm
          • 2015-08-13 9:39 am
          • 2015-08-13 9:47 am
          • 2015-08-13 10:09 am
          • 2015-08-13 10:27 am
          • 2015-08-13 10:29 am
          • 2015-08-13 10:32 am
          • 2015-08-13 2:29 pm
          • 2015-08-13 10:16 am
          • 2015-08-13 12:33 pm
      • 2015-08-13 1:29 pm
  • 2015-08-13 12:23 pm
    • 2015-08-13 2:27 pm
      • 2015-08-13 3:10 pm
        • 2015-08-14 9:06 am
          • 2015-08-15 8:36 pm
          • 2015-08-15 9:55 pm
          • 2015-08-15 10:45 pm
          • 2015-08-16 11:08 am
          • 2015-08-17 1:40 am
          • 2015-08-17 9:01 am
  • 2015-08-18 12:58 am