Repository navigation
Windows Defender
No. Program:Win32/Wacapew.A!ml on Sidecar.dll is a heuristic false positive, not confirmed malware.
The !ml suffix means Defender used machine learning, not a known virus signature. Unsigned game-hook DLLs are flagged until they are Authenticode-signed or Microsoft clears the detection.
We do not recommend weakening Windows Defender (folder exclusions, disabling real-time protection, etc.). The durable fix is signed releases from this project.
- Download only from GitHub Releases.
- Compare the ZIP's SHA-256 with the
.sha256file published beside it, then runpreflight.cmd, which checks every extracted file againstMANIFEST.txt. - If you believe the detection is wrong, report it to Microsoft at file submission (Incorrectly detected as malware →
Program:Win32/Wacapew.A!ml). - Wait for a signed release (see
docs/development/CODE_SIGNING.md): that is what we ship as the permanent fix.
If Defender offers Allow on device for a file you downloaded from our official release page and verified by hash, that is your local decision. The troubleshooting guide lists the commands to check what Defender did and, if you choose to, exclude the verified folder.
Unsigned builds may trigger Wacapew.A!ml on some PCs. Authenticode signing is the reliable fix:
-
SignPath Foundation (free for OSS): see
docs/development/CODE_SIGNING.md - Or Azure Artifact Signing in GitHub Actions
Signed releases show a verified publisher and build SmartScreen/Defender trust over time.
| Behavior | Why we do it | Why AV cares |
|---|---|---|
Sidecar.dll injected into USF4 |
Rollback netplay (GGPO) | Same pattern as cheats/trainers |
| Microsoft Detours | Official hook library | Process modification |
| Networking | Online play | Extra scrutiny |
| No signature (yet) | Indie OSS | Low reputation score |
The injection code in src/sidecar/sidecar.cxx has kept the same hook mechanism since v0.3.1; later versions added netplay transport, PE version metadata and validation of the launcher's payload, not a different hook mechanism. Different release builds can have different Sidecar.dll SHA256 hashes from rebuilds and VERSIONINFO. That does not mean the hook behavior changed.
Source: github.com/Confetti3/SF4-Ember-Netplay
Get-FileHash Launcher.exe, Sidecar.dll, sf4-net.exe -Algorithm SHA256 | Format-TableCompare with the matching lines in the package's MANIFEST.txt, or run preflight.cmd to check them all.
- Run
scripts/prepare-defender-submission.ps1and submitLauncher.exe,Sidecar.dll, andsf4-net.exeat Microsoft file submission (Incorrectly detected →Wacapew.A!ml). - Ship signed binaries when SignPath/Azure is configured (
docs/development/CODE_SIGNING.md). - Publish the ZIP's
.sha256beside it. - Once signing is configured, promote a release to Latest only after Authenticode signatures validate.
Generated from the docs at cf0c5c83c; edit the docs, not this page.
Coming soon, from open pull requests:
- #51 Allow reading and sending chat directly in the room
- #76 Endless lobby music at the main menu, with a setting
- #90 Add a Linux guide for installing Ember by hand under Proton
- #100 Let spectators toggle the lobby with Start
- #102 Make table actions controller accessible and consolidate room settings
- #104 Expire chat notifications after four seconds and retain unread badges
- #105 Add LAN room discovery and direct local connections
- #108 Install Ember on a Steam Deck with a double-click
- #111 Let older copies take new package files, setup upgrade an Ember folder, and switch channel in game
- #116 Keep Ember's menu confirm on A and B for every XInput pad
- #133 Add the Ember ID passphrase and keyboard tips to the Steam Deck guide
- #139 Show the watched game in the room column, with a toggle on the board
Getting started
Playing online
Training
Frame Data
Integrations
Troubleshooting
More guides