Skip to content

Instantly share code, notes, and snippets.

@CookiePLMonster
Created June 14, 2018 20:24
Show Gist options
  • Save CookiePLMonster/6ee1e82a10a4b5353a4a752ec20cb6c0 to your computer and use it in GitHub Desktop.
Save CookiePLMonster/6ee1e82a10a4b5353a4a752ec20cb6c0 to your computer and use it in GitHub Desktop.
Auralux Constellations

All memory addresses are in relation to the latest public executable (SHA-1: 8CADA155720C5D05596D0838D014E3E018F0708B).

With Application Verifier enabled, an unitialized critical section shows up:

=======================================
VERIFIER STOP 00000210: pid 0x2AA8: Critical section not initialized. 

	14A16FBC : Critical section address. Run !cs -s <address> to get more information.
	1418EFE0 : Critical section debug info address.
	00000000 : Not used.
	00000000 : Not used.


=======================================

This happens at a call to InitializeCriticalSection at 0x496DD8. Function in question is a 14th virtual method of an unknown class initialized inside a method which contains the only "UserInputPC" string in entire executable, so should be trivial to find.

Crashing method is of an unknown purpose and is not trivial to identify - the best lead may be that it invokes GetAsyncKeyState.

From what I can tell, looks like this class is constructed (with critical section being properly initialized), then its virtual method table is copied elsewhere, followed by a call to destructor. This may indicate that custom initialization performed for this class is incomplete, since it does not initialize the critical section.

REPRO PATH (100% success rate):

  • Open Application Verifier
  • Add auralux2.exe (leave default verifier options)
  • Launch the game from a debugger
  • Observe a breakpoint being triggered by an attempt to enter an unitialized critical section.

This is most likely not a severe issue, but seeing how several people report startup crashes, this could be one of the causes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment