Windows file

winmm.dll: the genuine Windows Multimedia library, or a copy someone planted?

winmm.dll is the Windows Multimedia library behind old sound, MIDI, CD audio and timer functions. The copies in System32 and SysWOW64 are genuine and safe. A winmm.dll in any other folder is not Microsoft's file: it is a game add-on, part of a cracked release, or a planted DLL that a trusted program loads by name.

Prefer to do it yourself? The manual steps follow.

Genuine Windows file

winmm.dll in C:\Windows\System32, and in C:\Windows\SysWOW64 on 64-bit Windows, is a Microsoft file and is safe. Windows itself, games, music software and many ordinary programs load it for sound and timing. Leave those copies alone: Windows protects them and updates them with every cumulative update.

winmm.dll is not on the list of libraries Windows always takes from System32, so a program looks in its own folder first. Ransomware and a malware crypting service have used that to run code inside signed programs. A copy outside the Windows folders needs an explanation, and the signature and hash give it.

Description in the file
MCI API DLL
What it is
The Windows Multimedia API: waveOut and waveIn audio, MIDI, MCI device commands, PlaySound, joystick input and the multimedia timers such as timeGetTime and timeBeginPeriod
Genuine folders
C:\Windows\System32\winmm.dll and, on 64-bit Windows, C:\Windows\SysWOW64\winmm.dll. Winbindex also indexes a copy in C:\Windows\System32\forwarders
Not genuine by location
A winmm.dll beside a program's .exe, in a game folder, in Downloads, Temp, AppData or ProgramData, or in a folder that imitates a Windows path
Size of the genuine file
Windows 11 24H2 and 25H2: 240,912 bytes (64-bit), 213,144 bytes (32-bit). Windows 10 22H2: 148,376 bytes (64-bit), 150,352 bytes (32-bit)
Newest build for Windows 11 24H2 and 25H2
10.0.26100.9549, delivered by KB5127648 on 13 October 2026
Known Microsoft builds
421 builds across 20 Windows releases in Winbindex, including small builds of about 10 KB and 64 KB
Is it a process
No. It is a library loaded into the programs that play sound or use multimedia timers, so Task Manager never lists it on its own

What winmm.dll does, and why other copies of it turn up

winmm.dll is the library of the Windows Multimedia API, the sound and timing interface Windows has carried since the 1990s. Programs call it to play and record wave audio, to send MIDI notes to a synthesizer, to play a system sound with PlaySound, to control media devices with MCI commands, to read simple joysticks and to use the multimedia timers. Games in particular call timeBeginPeriod and timeGetTime to keep frame timing steady. Newer audio interfaces exist, but so much software still uses these functions that Windows 10 and Windows 11 load winmm.dll into a large share of running programs.

Because the file is so common and is not one of the libraries Windows always loads from System32, it is also a favourite name for proxy DLLs. A program looks for winmm.dll in its own folder before the Windows folder. Put a library with that name and the same functions there, and the program loads it, runs whatever it contains, and the proxy passes the real calls on to Windows' copy.

Game add-ons do this openly: plugin loaders that start .asi files, wrappers that replace an old game's CD audio tracks with music files, frame rate and timer fixes. Cracked game releases also ship files under this name. Attackers do the same thing with trusted programs: they copy a signed Windows or vendor program into a folder of their choice and place their own winmm.dll beside it, so their code runs under a name and a signature that security tools trust.

So the useful question is where the file is and who signed it. The copies in the Windows folders belong to Microsoft. Any other winmm.dll belongs to whoever put it there.

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 a planted winmm.dll beside a trusted program is loaded before the Windows copy in System32
A program takes winmm.dll from its own folder first, so a trusted .exe copied next to a planted DLL runs the attacker's code.

How to tell Windows' winmm.dll from a planted copy

A DLL has no entry of its own in Task Manager, so check it by its folder, its properties, PowerShell and Process Explorer.

  1. List every copy on the drive. Run the command below in PowerShell. Paths under C:\Windows\System32, C:\Windows\SysWOW64 and C:\Windows\System32\forwarders are Windows' own. A copy in a game folder is expected only if you added a mod there. A copy beside a Windows program that was copied out of System32, or in a folder whose name only looks like a Windows path, is a strong warning sign.
    Get-ChildItem C:\ -Recurse -Filter winmm.dll -Force -ErrorAction SilentlyContinue | Select-Object FullName, Length, LastWriteTime
  2. Look at the files beside it. A planted winmm.dll rarely sits alone. If the same folder holds a Windows program such as winsat.exe, mspaint.exe or osk.exe, or a copy of a vendor program, outside its normal install folder, the pair was put there on purpose. Genuine Windows programs run from System32, not from AppData, Temp or Public folders.
  3. Check the signature. Windows' copy is signed by Microsoft, usually through a catalog file, so the Properties window may not show a Digital Signatures tab. PowerShell reads both kinds of signature. Valid with a Microsoft signer means genuine. A patched copy of Microsoft's own file shows HashMismatch or NotSigned, because any change to the file breaks the signature.
    Get-AuthenticodeSignature 'C:\path\to\winmm.dll' | Format-List Status, SignatureType, SignerCertificate
  4. See which copy a program has loaded. Open Process Explorer from Microsoft Sysinternals, choose Find > Find Handle or DLL, type winmm.dll and search. Expect many results, since many programs load it. Read the path column: anything outside the Windows folders shows which program has loaded a third-party copy.
  5. Compare the SHA-256 with Microsoft's builds. Use the checker on this page. It computes the hash in your browser and looks it up among 421 Microsoft builds. A match proves the file is Microsoft's, even if it was copied somewhere it does not belong. A file that was patched, even by a few bytes, matches nothing.
  6. Scan with Microsoft Defender. Run a full scan, and the offline scan if a detection returns after removal. Weigh a detection on a game folder copy together with where the mod came from, because legitimate loaders are often flagged for the way they work.

A matching hash and a valid Microsoft signature settle that a file is Microsoft's. A file that matches nothing is not proven malicious: most game folder copies are add-ons that do what their authors describe. What decides is whether you installed that add-on, where you got it, and whether the file is still the one its author released.

Genuine winmm.dll compared with a planted copy: folder, neighbouring files, signature status, size and hash
Folder, neighbours, signature and hash tell Microsoft's winmm.dll from a copy that only uses its name.

Check your winmm.dll

Choose the winmm.dll you are unsure about. Its SHA-256 checksum is calculated in your browser and compared with the 437 Microsoft builds indexed from Windows releases and updates.

or drop the file here

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

Warning signs and what they mean

What you seeWhat it means
winmm.dll next to a Windows program in a folder outside C:\Windows, for example winsat.exe in AppData or TempThe classic planting pattern: a trusted program copied out of System32 so that it loads the DLL beside it. Treat it as malicious and scan.
A folder named like C:\Windows \System32, with a space or another small differenceA mock trusted folder made to fool checks that compare paths. Windows never creates it.
winmm.dll with Microsoft details but HashMismatch or NotSigned in Get-AuthenticodeSignatureA Microsoft file that someone changed after signing. Ransomware has patched winmm.dll exactly this way.
winmm.dll in a game folder you never modded, or inside a cracked releaseSomething added it without you choosing a mod: a repack, a crack or a bundled installer. Remove it and scan.
A video, chat or archive that tells you to run a signed program shipped together with winmm.dllSigned carrier programs with a malicious DLL beside them are a common delivery method. The signature on the .exe says nothing about the DLL.
Microsoft Defender reports winmm.dll in System32 or SysWOW64Uncommon. Check the hash with the checker on this page, run the offline scan, then repair with sfc /scannow if the file does not match.

How attackers have used the name winmm.dll

Two published reports describe a malicious winmm.dll in real attacks. In both, the attackers relied on a trusted program loading the file from its own folder; the copy in System32 was never touched.

MalwareHow it used the fileSource
WastedLocker ransomware (2020)The sample analysed after the attack on Garmin copied the genuine winsat.exe and winmm.dll into a folder it created, patched the entry point of that winmm.dll copy so it would start code hidden in an alternate NTFS data stream, and then launched winsat.exe. The Windows program loaded the patched DLL from its own folder, and the ransomware ran inside it.Kaspersky Securelist, 2020
FudCrypt crypting service (2026)A paid service that packs customers' malware produced archives with a malicious WINMM.dll beside a legitimate signed program, with zoom.exe named as a carrier. The DLL took over the timeGetTime, timeBeginPeriod and timeEndPeriod functions, and from there switched off scanning interfaces, raised its rights and ran the payload inside the signed process.Ctrl-Alt-Intel, April 2026

MITRE ATT&CK lists both as Hijack Execution Flow (T1574). Neither changed Windows' own winmm.dll, so a healthy System32 copy proves little. Look for a winmm.dll that sits beside a program outside its normal folder, and for a Microsoft-looking copy whose signature no longer validates.

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

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

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

The genuine winmm.dll is signed by: Microsoft Windows, a Windows catalog signature (Properties shows no Digital Signatures tab; check it with Get-AuthenticodeSignature)

ProgramHow
C:\Users\<you>\AppData\Roaming\Zoom\bin_<version>\Zoom.exe
Zoom · signed by "Zoom Video Communications · Zoom.exe statically imports winmm.dll timeGetTime, timeBeginPeriod, and timeEndPeriod. Observed in 40 FUDCrypt side-load packages with unique malicious winmm.dll payloads.
SHA-256 of the genuine program: 9783cdd475c54ec21a035b5035c80329fa14be830c71c7c133de06ed98ad86d8
Side-loading
C:\Windows\System32\mblctr.exe
signed by Microsoft Windows
Side-loading
C:\Windows\System32\mspaint.exeSide-loading
C:\Windows\System32\mstsc.exe
signed by Microsoft Windows
Side-loading
C:\Windows\System32\osk.exe
signed by Microsoft Windows
Side-loading
C:\Windows\System32\presentationsettings.exe
signed by Microsoft Windows
Side-loading
C:\Windows\System32\proximityuxhost.exe
signed by Microsoft Windows
Side-loading
C:\Windows\System32\wfs.exe
signed by Microsoft Windows
Side-loading
C:\Windows\System32\winsat.exe
signed by Microsoft Windows
Side-loading
runs as administrator

Source: the HijackLibs entry for winmm.dll, 6 public reports.

Everyday problems with winmm.dll

Microsoft Defender flagged winmm.dll in a game folder

Detections on game add-ons named winmm.dll are common, because a DLL that runs code inside another program behaves the way malware does. They are not automatically false alarms: cracked releases and malicious packages use the same name.

Decide by origin. A loader or music wrapper downloaded from its author's own release page, still matching that release, is a detection about the technique. A file whose origin you cannot name should stay in quarantine.

Removing a game folder copy never harms Windows. The game uses the Windows copy and only the add-on stops working.

There are three winmm.dll files in the Windows folder

That is normal on 64-bit Windows: System32 holds the 64-bit library, SysWOW64 the 32-bit one, and some releases keep a further Microsoft copy in System32\forwarders. They differ in size and hash and are all genuine.

If one of them fails the signature or hash check, repair it with Windows' own tools, each in a Command Prompt run as administrator:

sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth

I want to remove a mod or crack that uses winmm.dll

Delete or rename winmm.dll beside the game's .exe, along with the files it came with: usually an .ini file, .asi plugins, a scripts or plugins folder, or a music folder. A launcher's verify option leaves extra files in place, so do it by hand.

Uninstall any installer the tool used from Settings, Apps, then run a Microsoft Defender full scan.

winmm.dll versions by Windows release

The newest build indexed for each release, and the update that delivered it. 421 Microsoft builds in total are known.

Windows releaseFile versionDelivered bySize, 64-bit
Windows 11 26H110.0.28000.2605KB5121000, Aug 11, 2026224,680 bytes
Windows 11 25H210.0.26100.9549KB5127648, Oct 13, 2026240,912 bytes
Windows 11 24H210.0.26100.9549KB5127648, Oct 13, 2026240,912 bytes
Windows 11 23H210.0.22621.5415KB5066793, Oct 14, 2025216,360 bytes
Windows 11 22H210.0.22621.5415KB5066793, Oct 14, 2025216,360 bytes
Windows 11 21H210.0.22000.1original release211,096 bytes
Windows 10 22H210.0.19041.3636KB5126657, Oct 13, 2026148,376 bytes
Windows 10 21H210.0.19041.3636KB5126657, Oct 13, 2026148,376 bytes
Windows 10 21H110.0.19041.3636KB5126657, Oct 13, 2026148,376 bytes
Windows 10 20H210.0.19041.3636KB5126657, Oct 13, 2026148,376 bytes

Known versions of winmm.dll

A public DLL catalogue lists 16 versions of winmm.dll, from 4.3.0.1998 to 10.0.18362.1, 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 winmm.dll errors on uGetFix

Questions people ask

Is winmm.dll a virus?

No, Windows' copy is not. winmm.dll is the Windows Multimedia library, and the files in System32 and SysWOW64 are signed Microsoft files. Malware has used the name, though: ransomware patched a copy and loaded it through a Windows program, and a malware packing service shipped its own winmm.dll beside signed programs. A copy outside the Windows folders deserves a signature and hash check.

Why is there a winmm.dll in my game folder?

A game add-on or a cracked release put it there. Plugin loaders, CD music wrappers for old games, timer fixes and crack files use the name because the game loads it before Windows' own copy. A normal game install does not need it. If you never added anything to that game, treat the file as suspicious and scan the PC with Microsoft Defender.

Can I delete winmm.dll?

Delete a copy in a game or program folder whenever you like: the program falls back to Windows' copy, and only the add-on that needed it stops working. Do not delete the copies in System32 or SysWOW64. Windows protects them, and sound, system sounds, media playback and timing in many programs depend on them.

How do I know if my winmm.dll is genuine?

Check three things. The folder: System32, SysWOW64 and System32\forwarders hold Microsoft's copies. The signature: Get-AuthenticodeSignature in PowerShell shows Valid and a Microsoft signer for the genuine file. The hash: the checker on this page compares the SHA-256 with 421 Microsoft builds. A file that fails these checks is not Microsoft's, whatever its Details tab says.

What can a malicious winmm.dll do?

Whatever the program that loads it is allowed to do. It runs inside that program with the same rights, so it can read your files and browser data, connect to the internet and start other programs. When the program is a signed Windows or vendor tool, the malicious code hides behind that trusted name, which is exactly why attackers chose this method.

Why do so many programs load winmm.dll?

Because it holds basic sound and timing functions that Windows has offered for decades. Games use its timers to pace frames, music software uses its MIDI functions, and many programs play sounds through it. Microsoft documents that from Windows 10 version 2004, timeBeginPeriod affects only the calling program instead of the whole system, but the library itself remains in wide use.

Microsoft Defender quarantined winmm.dll. Should I restore it?

Only if you know exactly where it came from. A detection in System32 is rare; check that copy with the hash checker and repair it with sfc /scannow rather than restoring anything. A detection in a game folder is common for loaders, so restore it only if it is the unchanged file from the add-on author's own release page.

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