Assembly Areas of Interest - trigger-segfault/TriggersTools.CatSystem2 GitHub Wiki

Areas of Interest in CatSystem2 assembly

🚧 This page is a work in progress

This page focuses on CatSystem2 Reverse Engineering in order to further knowledge of the visual novel engine.

fw_hash

The table in memory for FE script commands contains a set of interesting function names, these may shed some insight onto the internal name of the chained CRC-32 method used to hash V_CODEs into a 32-bit integer.

Below are some of the commands found in the table. (There are still more to add)

Name Description
fw_init Call to initialize Beaufort cipherset ?
fw_auth Validate direct.dat, key.dat [[Key Files ?
fw_hash Relation to V_CODE hashing ?
fw_activate Relation to '"activate.dat"` string in assembly ?
fw_end

It's also entirely possible that these are a separate form of DRM provided by CatSystem2, with no relation to existing methods.

kcs.int

The kcs.int archive contains many binary "scripts" required to run CatSystem2. These all contain the standard "MZ" signature found in Windows executables so they are definitely worth looking into. It's possible that these are essential to the parsing and functioning of CST scripts.

The following is found in config/startup.xml files, which hints at their use in game scenes.

  <SCRIPT>
    <start>kcs.int/main.kcs</start>
    <replace>
    	<r00>
    		<find>\_</find>
    		<rep> </rep>
    	</r00>
    </replace>
  </SCRIPT>
⚠️ **GitHub.com Fallback** ⚠️