To understand why all the $S in the hacker wallet is set to a ZERO, I took a look at @SonicLabs official github (link in comment).
It is the newly implemented security policy where the foundation has authority to freeze a certain wallet account. There is a new smart contract written 2 hours ago with a 'freeze method'.
This policy happens at the native chain layer. I only affects native $S, but not other ERC20 tokens. That is why $stS and others still remain. Can anything be changed afterwards? I don't know.
here is the new function added.