Program file

msvcr100.dll: the Visual C++ 2010 runtime, or malware hiding behind its name?

msvcr100.dll is the C runtime library of Microsoft Visual C++ 2010, installed with the 2010 redistributable and by older games and programs. Signed copies in the Windows folders and in installed programs are normal. Between 2023 and 2025 attackers placed their own msvcr100.dll next to legitimate programs so that those programs would run it.

Prefer to check it yourself? The manual checks follow.

Microsoft runtime library: safe in its own folders

A msvcr100.dll signed by Microsoft Corporation, in C:\Windows\System32, C:\Windows\SysWOW64 or the folder of a program you installed, is a normal Visual C++ 2010 library. It is not a process and does nothing until a program loads it. Older games often carry a private copy, so several copies on one disk are expected.

The name is old, familiar and harmless-looking, which is why attackers chose it. In the reported cases a legitimate program, such as a Microsoft Word executable, was put in one folder with a malicious msvcr100.dll and loaded it at start. A copy in C:\Users\Public, Temp, Downloads or ProgramData needs the checks below.

Publisher
Microsoft Corporation
Description in the file
Microsoft® C Runtime Library
Installed by
Microsoft Visual C++ 2010 Redistributable (x86 and x64 editions), and by programs that carry their own copy
Last official version
10.0.40219.325, the Visual C++ 2010 SP1 MFC security update; Microsoft lists the 2010 package as no longer supported
Size of the last official build
829,264 bytes (x64) and 773,968 bytes (x86), read from Microsoft's installers on 14 October 2026
Genuine folders
C:\Windows\System32 (64-bit copy), C:\Windows\SysWOW64 (32-bit copy on 64-bit Windows), and the installation folders of programs that bring their own
Signed by
Microsoft Corporation
Original file name in its properties
msvcr100_clr0400.dll, on genuine Microsoft builds too; the difference from the file name is normal
Runs as a process
No. It is a library loaded into the programs that need it
Seen in attacks as
A side-loaded loader or payload container next to a legitimate program: Lazarus on web servers (2023), the X_Trader supply chain attack (2023), PXA Stealer (2025)

What msvcr100.dll is, and why attackers like the name

msvcr100.dll holds the C runtime of Visual C++ 10.0, the compiler of Visual Studio 2010: memory management, file input and output, string and maths functions. A program built with that compiler does not carry this code itself; it loads msvcr100.dll when it starts. Its only own dependency is KERNEL32.dll, a core part of Windows.

Because so many programs from that period load msvcr100.dll, and because they look for it in their own folder before the Windows folders, a file with this name placed next to such a program is loaded without any warning. Attackers pick a signed, trusted program that imports msvcr100.dll, drop their own file with that name beside it, and let the trusted program start their code. Security tools then see a known, signed process doing the work.

About .dll files. A .dll file is a library: it cannot run on its own and is loaded into a program's process. It does not appear in Task Manager under its own name; Process Explorer shows which process loaded it.

How to check a copy of msvcr100.dll

Three things decide: the folder, the signature and the program that loads the file. A DLL never shows in Task Manager under its own name, so use these checks instead.

  1. List every copy, with size and date. Run this in PowerShell. Copies in Windows, Program Files and game folders are normal. Look closely at copies in C:\Users\Public, AppData, Temp, Downloads or a new ProgramData folder, especially recent ones.
    Get-ChildItem -Path C:\ -Filter msvcr100.dll -Recurse -Force -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime
  2. Check the signature of each copy you are unsure about. Status must be Valid and the signer Microsoft Corporation. NotSigned, HashMismatch or another name means the file is not an unchanged Microsoft build. The malicious copies in the reported cases were the attackers' own files, not signed by Microsoft.
    Get-ChildItem -Path C:\ -Filter msvcr100.dll -Recurse -Force -ErrorAction SilentlyContinue | Get-AuthenticodeSignature | Select-Object Path, Status, @{n='Signer';e={$_.SignerCertificate.Subject}}
  3. See which program has it loaded. In Process Explorer (Microsoft Sysinternals) open Find, Find Handle or DLL, and type msvcr100.dll. Each result shows the process and the full path of the copy it loaded. A Microsoft Office or other signed program running from a user or ProgramData folder and loading msvcr100.dll from that same folder is the side-loading pattern.
  4. Look at the files beside it. In the reported cases the malicious msvcr100.dll sat with a legitimate .exe and often a data file: Wordconv.exe with msvcr100.dat (2023), a Word 2013 executable with a folder named “_” (2025). A Microsoft program you never installed, in a folder it does not belong to, together with msvcr100.dll, is a strong sign.
  5. Compare size and checksum. The last Microsoft builds are 829,264 bytes (x64) and 773,968 bytes (x86); older genuine builds differ. The file check on this page compares the SHA-256 with the builds we know. A match identifies the version; the signature check above decides whether the file is genuine.

A valid Microsoft signature clears that one file. It says nothing about the program next to it or the other files in the folder, which are the parts an attacker controls.

Where a genuine msvcr100.dll lives and which copies to check: Public, Temp, Downloads, AppData, new ProgramData folders, bad signature
The folder decides, not the name: a copy outside Windows and installed programs needs the signature check.

Check your msvcr100.dll

Choose the msvcr100.dll you are unsure about. Its SHA-256 and SHA-1 checksums are calculated in your browser and compared with the 28 versions of the file known from a public DLL catalogue.

or drop the file here

The file stays on your computer. Nothing is uploaded: the checksum is computed locally.

Do you need msvcr100.dll?

Keep the copies in Windows and in the programs you installed: older games and tools stop starting without them. Remove only a copy that failed the checks above, together with what came with it.

  1. Leave System32, SysWOW64 and program folders alone. These copies belong to the Visual C++ 2010 package or to the program itself. A copy there that is signed by Microsoft is not a threat, even if a cleaner tool calls it old.
  2. Run a Microsoft Defender full scan. Open Windows Security, Virus and threat protection, Scan options, Full scan. Quarantine what it finds before you delete anything by hand.
  3. Run the offline scan. A malicious DLL that runs inside a trusted program can stay hidden while Windows runs. The offline scan restarts the PC and scans before Windows loads.
    Start-MpWDOScan
  4. Delete the whole suspicious folder. If a copy failed the signature check and sits with an .exe in C:\Users\Public, Temp, AppData, Downloads or ProgramData, delete that folder, not just the DLL. The launcher left behind can load a new copy.
  5. Remove what starts it again. Check Settings, Apps, Startup, Task Scheduler and the Run keys below for entries that start a program from a user or ProgramData folder. The 2025 PXA Stealer chain added a Run key so that its payload started at every boot.
    Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run', 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run'
  6. Change passwords if a stealer may have run. PXA Stealer took saved browser passwords, cookies, autofill data and cryptocurrency wallet files. From a clean device, change the passwords stored in your browsers, starting with e-mail and banking, sign out other sessions and move funds out of any wallet that was on the PC.

Warning signs

What you seeWhat it means
msvcr100.dll in C:\Users\Public, Temp, Downloads or AppData next to an .exe you did not installThe side-loading layout of the reported cases. Check the signature, then scan.
A Microsoft Word or Office executable outside Program Files, beside msvcr100.dllThe 2025 PXA Stealer chain used a genuine Word 2013 executable this way. Office never installs itself into a download or user folder.
The signature shows NotSigned, HashMismatch or a signer other than MicrosoftNot an unchanged Microsoft build. Treat it as malicious.
msvcr100.dll together with an unknown data file such as msvcr100.datA loader that decrypts a payload from the file beside it, as in the 2023 Lazarus case. Scan and remove the folder.
A new msvcr100.dll in C:\ProgramData under a folder named after a Windows featureThe X_Trader attack in 2023 used C:\ProgramData\TPM. Windows does not keep runtime libraries there.
You opened an archive from an e-mail or a job or copyright message that contained a program and many filesThe delivery route of the 2025 PXA Stealer campaign. Scan at once and check saved passwords.
The properties show the original name msvcr100_clr0400.dllNormal. Microsoft's own builds carry that name in their version information.
Several signed copies in game and program foldersNormal. Programs from the Visual Studio 2010 years carry private copies of the runtime.

How attackers have used msvcr100.dll

Three published cases, each with the report it comes from. In all three a legitimate program loaded a malicious file named msvcr100.dll from its own folder.

MalwareHow it used the fileSource
PXA Stealer (2025)A phishing lure delivered a large archive with a legitimate, signed Microsoft Word 2013 executable, a malicious msvcr100.dll and a folder named “_”. When the victim opened the Word executable, Windows loaded the fake msvcr100.dll from the same folder. It started a hidden Command Prompt, set a Registry Run key and ran PXA Stealer, which took browser passwords, cookies, autofill data and cryptocurrency wallet files.SentinelLABS and Beazley Security, August 2025
Lazarus Group on Windows IIS web servers (2023)Through the IIS web server process (w3wp.exe) the attackers wrote Wordconv.exe, a legitimate Office component, a malicious msvcr100.dll and an encrypted msvcr100.dat into one folder, then started Wordconv.exe. The DLL ran inside it, decrypted msvcr100.dat with a key passed on the command line, ran the result in memory and deleted itself.AhnLab ASEC, May 2023
X_Trader supply chain attack, Veiledsignal backdoor (2023)A trojanized installer of the X_Trader trading software, the same one behind the 3CX breach, dropped C:\Programdata\TPM\winscard.dll and C:\Programdata\TPM\msvcr100.dll. The legitimate program side-loaded both: winscard.dll was the loader, and msvcr100.dll carried an encrypted blob appended to the file, from which the Veiledsignal backdoor was extracted.Symantec Threat Hunter Team, April 2023

MITRE ATT&CK lists this as Hijack Execution Flow: DLL (T1574.001). For a home PC the folder matters more than the name: a genuine msvcr100.dll lives in the Windows folders or in programs you installed, while a fake one keeps the same name and shows up in a user or ProgramData folder beside a borrowed program.

How three reported attacks from 2023 to 2025 placed a malicious msvcr100.dll beside a legitimate program so that it was loaded
Three reported cases, one trick: a trusted program loads the msvcr100.dll from its own folder.

Programs that have been made to load a fake msvcr100.dll

Each program below is genuine and signed, and security researchers have documented that it can be made to load a planted msvcr100.dll. Usually the attacker copies the program into another folder and puts a fake msvcr100.dll next to it: Windows looks in the program's own folder first. A msvcr100.dll next to one of these programs, outside the folders below, is the copy to check.

Where the genuine msvcr100.dll belongs: C:\Windows\System32C:\Windows\SysWOW64

ProgramHow
cleanospp_64.exe
signed by Microsoft Code Signing PCA
SHA-256 of the genuine program: edf85f4e2ef1a427b34265a22f261d664ec78de90c3b5da4174ef28558c8522a
Search order
C:\Program Files\Java\jre<version>\bin\javacpl.exeSide-loading
C:\Program Files\Microsoft Office\root\Office<version>\winword.exe
SHA-256 of the genuine program: 16f099aaff99f981741e299be6aff43f2e53b189481a08582e3b2a04e934aa0a
Side-loading

Source: the HijackLibs entry for msvcr100.dll, 3 public reports.

Known versions of msvcr100.dll

A public DLL catalogue lists 28 versions of msvcr100.dll, from 10.0.20327.1 to 10.0.40219.473, by Microsoft Corporation. Its copies are uploaded by users and not verified, so a checksum match identifies the version, while the digital signature tells you whether the file is genuine. Even a genuine file clears only the file, not the folder: attackers ship genuine libraries next to a program they abuse, so where the copy sits still decides whether it is safe.

Every version with its checksums, and how to fix msvcr100.dll errors on uGetFix

Questions people ask

Is msvcr100.dll a virus?

No, the genuine msvcr100.dll is Microsoft's Visual C++ 2010 C runtime and is harmless. It sits in System32, SysWOW64 and the folders of programs that use it, signed by Microsoft Corporation. Malicious files have used the same name: PXA Stealer in 2025, the Lazarus Group and the X_Trader supply chain attack in 2023. The name proves nothing either way, so check the folder and the signature of the copy you are worried about.

Why is there a msvcr100.dll in C:\Users\Public or my Temp folder?

An installer can briefly unpack a program with its runtime into Temp and remove it afterwards, so a short-lived copy may be harmless. A copy that stays, especially in C:\Users\Public or next to a Word or other program that was never installed there, matches the side-loading layout of the 2025 PXA Stealer campaign. Check its signature, see in Process Explorer which program loads it, and run a Microsoft Defender full scan.

Why do the properties of my msvcr100.dll say msvcr100_clr0400.dll?

That is normal for Microsoft's own builds. The version information inside the genuine Visual C++ 2010 file gives msvcr100_clr0400.dll as its original file name, a leftover of how Microsoft built it. It is not a sign of tampering. What matters is the Digital Signatures tab: a genuine copy shows a valid signature from Microsoft Corporation.

I found a Word executable next to msvcr100.dll in a download folder. Is that safe?

Treat it as unsafe. Microsoft Office installs into Program Files, never into a download, Temp or C:\Users\Public folder, and it does not come with a loose msvcr100.dll. In 2025 attackers shipped exactly this pair, a genuine Word 2013 executable with a malicious msvcr100.dll, so that opening the Word file ran PXA Stealer. Do not start it; scan the folder with Microsoft Defender and delete it.

Does Microsoft Defender detect a fake msvcr100.dll?

Defender recognises known malicious files by their content, whatever they are called, so naming a loader msvcr100.dll does not hide a known one. A new variant can go unrecognised for a while, and the program that loads it is genuine and signed. That is why the folder and signature checks on this page matter: they catch a suspicious copy before any scanner has a name for it.

Can I delete msvcr100.dll?

Not the signed copies in System32, SysWOW64 or the folders of programs you installed: older games and tools built with Visual Studio 2010 would stop starting. Delete only a copy that fails the signature check or sits beside a program in a user, Temp or ProgramData folder, and then delete that whole folder after a Microsoft Defender scan, not just the DLL.

I run a Windows web server. What should I look for?

In the 2023 Lazarus case the IIS worker process w3wp.exe wrote Wordconv.exe, msvcr100.dll and msvcr100.dat into one folder and started Wordconv.exe. Look for w3wp.exe creating .exe or .dll files, and for msvcr100.dll in web or user folders next to an Office component. A web server has no reason to unpack Office programs; isolate the server and investigate if you find this.

Sources

Version data read on Oct 14, 2026.

Questions and experiences

Ask about this page: members and our editors answer. Reading is open; writing needs a free account.

0 comments

…

5,565 members already hereReading, writing, commenting and voting. 0 verified · 290 joined this year