SQL - widberg/fmtk GitHub Wiki
There are remnants of SQL being used in the binary. FUEL uses ODBC to connect to a SQL server in the ComDBodbc_Z
class.
The following functions from ODBC are imported
SQLAllocHandle
SQLSetEnvAttr
SQLSetConnectAttr
SQLGetDiagRec
SQLFetch
SQLNumResultCols
SQLExecute
SQLFreeStmt
SQLGetData
SQLPrepare
SQLDisconnect
SQLFreeHandle
SQLDriverConnect
Notably, none of the imported functions are capable of spinning up a database, meaning that one must be running external to the game.
There is also a StartDataBase
command that calls SQLDriverConnect
. The format string "DRIVER=MySQL ODBC 3.51 Driver;DATABASE=%s;DSN=ATV Outlawed Data Base;OPTION=0;PWD=%s;PORT=%d;SERVER=%s;UID=%s"
is used as the InConnectionString
argument to the SQLDriverConnect
function after the relevant data has taken the place of the format specifiers. This string references "ATV Outlawed," a potential candidate for the game's name.
Several query format strings are seen in the binary as well
"SELECT %s FROM %s WHERE %s='%s';"
"UPDATE %s SET %s=%s WHERE %s='%s' LIMIT 1;"
"UPDATE %s SET %s='%s' WHERE %s='%s' LIMIT 1;"
"INSERT INTO %s (%s , %s , %s) VALUES( '%s' , '%s' , '%s');"
"INSERT INTO %s (" [("%s , %s" | "%s%s")...] ") VALUES (" [("%s , %s" | "%s%s")...] ";"
"INSERT INTO %s (%s , lasttick, %s , %s , %s, %s, %s, %s, %s, %s, %s, %s) VALUES( '%s' , now(), '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s' , '%s');"