From 5c7ea889be9af85c7511f88d55f8598975c3723b Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Mon, 8 Sep 2025 08:44:18 -0400 Subject: [PATCH] Add Reflexive Arcade Installer detection (fixes #102) --- BinaryObjectScanner/Packer/GhostInstaller.cs | 1 - .../Packer/ReflexiveArcadeInstaller.cs | 30 +++++++++++++++++++ README.md | 1 + 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 BinaryObjectScanner/Packer/ReflexiveArcadeInstaller.cs diff --git a/BinaryObjectScanner/Packer/GhostInstaller.cs b/BinaryObjectScanner/Packer/GhostInstaller.cs index e665ddbc..95c43eed 100644 --- a/BinaryObjectScanner/Packer/GhostInstaller.cs +++ b/BinaryObjectScanner/Packer/GhostInstaller.cs @@ -1,4 +1,3 @@ -using System; using BinaryObjectScanner.Interfaces; using SabreTools.Matching; using SabreTools.Serialization.Wrappers; diff --git a/BinaryObjectScanner/Packer/ReflexiveArcadeInstaller.cs b/BinaryObjectScanner/Packer/ReflexiveArcadeInstaller.cs new file mode 100644 index 00000000..6d718f72 --- /dev/null +++ b/BinaryObjectScanner/Packer/ReflexiveArcadeInstaller.cs @@ -0,0 +1,30 @@ +using BinaryObjectScanner.Interfaces; +using SabreTools.Serialization.Wrappers; + +namespace BinaryObjectScanner.Packer +{ + /// + /// Reflexive Arcade Installer + /// + public class ReflexiveArcadeInstaller : IExecutableCheck + { + /// + public string? CheckExecutable(string file, PortableExecutable exe, bool includeDebug) + { + // Get the .data/DATA section strings, if they exist + var strs = exe.GetFirstSectionStrings(".data") ?? exe.GetFirstSectionStrings("DATA"); + if (strs != null) + { + // + if (strs.Exists(s => s.Contains("ReflexiveArcade"))) + return "Reflexive Arcade Installer"; + + // + if (strs.Exists(s => s.Contains("Reflexive Arcade"))) + return "Reflexive Arcade Installer"; + } + + return null; + } + } +} diff --git a/README.md b/README.md index 3b3467e1..5928d1db 100644 --- a/README.md +++ b/README.md @@ -170,6 +170,7 @@ Below is a list of executable packers detected by BinaryObjectScanner. The three | PECompact | Yes | No | No | | | PEtite | Yes | No | No | | | PKLITE32 | Yes | No | No | | +| Reflexive Arcade Installer | Yes | No | No | | | Setup Factory | Yes | No | No | | | Shrinker | Yes | No | No | | | Smart Install Maker | Yes | No | No | |