gsvm-research icon indicating copy to clipboard operation
gsvm-research copied to clipboard

SC2/HotS GalaxyScript VM & bytecode research

GalaxyScript VM & bytecode

This repository holds information about the GalaxyScript bytecode reverse engineered from the virtual machine used in the "StarCraft2" and "Heroes of the Storms" games. A disassembler and a PoC-grade IDA processor module are provided in the gsdisas directory.

The info essentially consists of the leftovers of what I wrote down when I reversed it about two years ago. As I lost interest in the VM pretty quickly, the research and especially the GSVM.md writedown aren't complete and probably also have a few things incorrect, should however provide a solid starting point for anyone interested in diving into the low-levels of the GS language. The disassembler features near-complete decoding for all instructions that were implemented by the VM at the time of reversing.

Mnemonic names and disassembly format were invented to fit what they do and most probably won't correspond to the format used by Blizzard internally as no documentation nor hints about them exist in publicly available sources.

Credits go out to my friend TheWisp who gave me a kickstart into the GalaxyScript basics when I began my research in this area!

All information is provided under MIT license.