GModCEFCodecFix icon indicating copy to clipboard operation
GModCEFCodecFix copied to clipboard

Executable is Flagged by Multiple Antiviruses

Open MEESTERSoupCan opened this issue 1 year ago • 4 comments
trafficstars

I tried running the executable, but my Antivirus (Malwarebytes) blocks it and labels it as malware. Checking it through VirusTotal causes 32 of the 75 Antiviruses used in the check to Flag it as Malicious, with the overall consensus between them calling it a Trojan. As nice as it would be to be able to watch videos in GMod, I can't trust something that scores THAT low on the website.

MEESTERSoupCan avatar Sep 07 '24 02:09 MEESTERSoupCan

It's a well-known false-positive with PyInstaller, which we use to build our release executables. See https://github.com/pyinstaller/pyinstaller/blob/develop/.github/ISSUE_TEMPLATE/antivirus.md

This project is open source so you can review what our code is doing.

If you're worried that the release executable we build is infected

The build process for the executables (except for macOS, due to the unique nature of DMGs) can be found here: https://github.com/solsticegamestudios/GModCEFCodecFix/blob/master/.github/workflows/main.yml

If you don't trust the release executable anyway

Download Python, install the requirements with pip, and run the GModCEFCodecFix.py script yourself.

For Windows: Follow the instructions on Step 4/4 of the Fix Media Guide: https://www.solsticegamestudios.com/fixmedia/windows/

For Linux:

  1. Open Terminal
  2. Install git, c++ compilation tools, and Python 3.8 or later. Usually available via the build-essential package. Ex. sudo apt install build-essential on Ubuntu
  3. git clone https://github.com/solsticegamestudios/GModCEFCodecFix.git
  4. cd GModCEFCodecFix
  5. pip install -r requirements.txt
  6. python GModCEFCodecFix.py

Note: On step 5, you may get error: externally-managed-environment if Python is included with your distro. If that happens, follow the instructions provided to create and use a python virtual environment ("venv") for GModCEFCodecFix. Make sure to use python from that venv when you go to run the script!

If you still don't trust GModCEFCodecFix or its patch files

Build Chromium Embedded Framework (CEF) and gmod-html yourself, and overwrite the files included with Garry's Mod with gmod-html's INSTALL output.

Instructions to do that, and the scripts we use to build CEF, are here: https://github.com/solsticegamestudios/GModCEFCodecFix/tree/master/cef_build

WinterPhoenix avatar Sep 07 '24 03:09 WinterPhoenix

A Docker image is also an option for those with trust issues. This one installs from master branch and runs unprivileged with UID & GID defaulting to 1000.

Ethorbit avatar Oct 14 '24 03:10 Ethorbit

That's only a slight improvement over just running the Python script from Terminal. It does not address which of GMod's files we're patching and with what

WinterPhoenix avatar Oct 19 '24 00:10 WinterPhoenix

of course people who already trust it can run it directly in their terminal. It's a big improvement for people who don't trust it, as it will be prevented from accessing anything outside the specified volumes. That was my point. With a container, you give it only what it needs to patch gmod and that's it.

That being said, it's not necessary to containerize and I only suggested it for the paranoid people.

Ethorbit avatar Dec 30 '24 14:12 Ethorbit

We've rewritten the tool in Rust, eliminating the antivirus false-positive issues caused by using PyInstaller to build and ship our executables: https://github.com/solsticegamestudios/GModPatchTool/releases

Our builds should no longer trip any half-decent antivirus.

WinterPhoenix avatar Aug 11 '25 05:08 WinterPhoenix