Admin user lacks admin permissions after hack and can’t reinstate
Turns out I wasn’t as thorough as I thought in removing vestiges of the hack. Found some more obfuscated PHP in template files, along with some .php files I didn’t have permissions for that shouldn’t have been there. Removed all that, and admin functionality is back to normal.