Author Topic: Working on a tiny little project..  (Read 45 times)

0 Members and 1 Guest are viewing this topic.

Offline vtlmks

  • C= 64
  • **
  • Posts: 56
  • Karma: 6
    • View Profile
Working on a tiny little project..
« on: April 25, 2026 »
A bunch of amiga players, ported from C# in the project NostalgicPlayer to pure C with a simple interface to make it as simple as possible to use, these are the formats!

Activision Pro
AHX 1.x / 2.x / HivelyTracker
AMOS Music Bank
Art Of Noise (4v / 8v)
Ben Daglish
David Whittaker
Delta Music 1.0
Delta Music 2.0
DigiBooster 1.x
DigiBooster Pro 2.x / 3.x
Digital Mugician (1 / 2)
Digital Sound Studio
Face The Music
Fred Editor
Future Composer 1.4
Game Music Creator
Hippel
IFF SMUS
InStereo! 1.0
InStereo! 2.0
JamCracker
MED 1.12 / 2.00
Music Assembler
OctaMED MMD0/1/2/3/MMDC
Oktalyzer
PumaTracker
QuadraComposer
Ron Klaren
Sample (8SVX / 16SV / AIFF / WAV)
SidMon 1.0
SidMon 2.0
Sonic Arranger
Sound Control (3.x / 4.0 / 5.0)
Sound Factory
SoundFX 1.x / 2.0
SoundMon 1.1 / 2.2
Synthesis 4.0 / 4.2
TFMX 1.5 / Pro / 7v
Voodoo Supreme Synthesizer


At the moment all seem to work, except for the MMD2 format that I will debug later tonight..  I am travelling right now, but I will put these up on github when done. Should help with some possible demo remakes I hope!

/Vtlmks

Offline va!n

  • Pentium
  • *****
  • Posts: 1435
  • Karma: 109
    • View Profile
    • http://www.secretly.de
Re: Working on a tiny little project..
« Reply #1 on: Yesterday at 03:21 PM »
@vtlmks:
Nice job! I’m actually also working on (or at least trying to build) a few tracker replayers myself (FC v1.0–v1.4, SA (including packed), and some others) in C/C++. However, these are not basing on C# to C/C++ ports.

Thanks for sharing. That said, I’m a bit confused about the .exe you provided… (see screenshot)

- hp EliteBook 8540p, 4 GB RAM, Windows 8.1 x64
- Asus P5Q, Intel Q8200, 6 GB DDR2, Radeon 4870, Windows 8.1 x64
http://www.secretly.de
Challenge Trophies Won:

Offline vtlmks

  • C= 64
  • **
  • Posts: 56
  • Karma: 6
    • View Profile
Re: Working on a tiny little project..
« Reply #2 on: Yesterday at 04:57 PM »
The source for the executable is in the repo:
amiga_exotic_players/test_player/test_player_win.c

The reason for the false positives is that the build was unusual. I was trying to make a single .exe with zero installed-runtime dependency, which led to a build profile that looks like the textbook "shape" of a packer or shellcode loader to heuristic AV engines. The "Gen:Variant.Lazy" family is specifically Bitdefender's structural heuristic, which a dozen other engines license, which is why the same pattern showed up under different names across so many vendors. The "!ml" suffix means machine-learning detection, not a signature match.

The main flags it hit:

CRT-free build with a custom mainCRTStartup entry, hand-rolled memset/memcpy/sin, etc. baked into the binary. Almost no legit Windows software does this.
Imports only kernel32, user32, winmm. A minimal import table is a known indicator for binaries that resolve APIs dynamically at runtime.
No VERSIONINFO resource, no application manifest, missing ASLR/DEP/NX bits.
Unsigned (the biggest factor long-term, but signing certs cost money).

Made a new executable (VirusTotal screenshot attached, now 0/71).

Its roughly twice the size, which is the cost of linking with the standard CRT:

Imports: KERNEL32.dll, msvcrt.dll, WINMM.dll. Three system DLLs, all present on every Windows since the 90s, no installed runtime needed.
DllCharacteristics: HIGH_ENTROPY_VA, DYNAMIC_BASE, NX_COMPAT (full ASLR/DEP/NX).
VS_VERSION_INFO block, embedded application manifest, normal int main() entry, recognizable CRT call shape in the code section.

Looks like a normal program now.

Code is pushed to the repo.

/vtlmks