#2 can be done without client change. #3 however is hacks that changes the core code.Number two usually alters the client. Alteration of the client should be grounds for perma-ban.
Like I said in another post, my son made a screen read/keyboard controller, outside of the Elite executable, to control it. No hack. In other words, #2 can be done by screen/kb overlay.
However, "Elite trainer" is a physical hack of the code. You can see the assembly code in the Lua script... And Elite trainer is the hack tool to increase shields, ammo, etc. That's #3.